战力:补充数据结构

This commit is contained in:
陆莹
2022-03-25 20:10:07 +08:00
parent 1bdace30f9
commit 68e4d2232d
4 changed files with 376 additions and 118 deletions

View File

@@ -2,7 +2,7 @@ import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
// 全局加成
export class GlobalAttr {
export class AttrCell {
@prop({ required: true })
attrId: number; // 属性id
@prop({ required: true })
@@ -15,27 +15,19 @@ export class HeroAttr {
hid: number; // 武将id
@prop({ required: true })
lv: number;
@prop({ required: true, type: () => HeroAttrCell, _id: false })
attrs: HeroAttrCell[];
@prop({ required: true, type: () => AttrCell, _id: false })
attrs: AttrCell[];
}
export class HeroAttrCell {
@prop({ required: true })
attrId: number; // 属性id
@prop({ required: true })
values: number[]; // 战力公式中的武将加成的数据,查表后的结果
}
// 装备加成
class EquipAttr {
@prop({ required: true })
hid: number; // 武将id
@prop({ required: true })
eplaceId: number; // 装备位置
@prop({ required: true })
attrId: number; // 属性id
@prop({ required: true })
values: number[]; // 战力公式中的武将加成的数据,查表后的结果
export class EquipAttr {
@prop({ required: true })
hid: number; // 武将id
@prop({ required: true })
eplaceId: number; // 装备位置
@prop({ required: true })
lv: number;
@prop({ required: true, type: () => AttrCell, _id: false })
attrs: AttrCell[];
}
// 百家学宫加成
@@ -70,8 +62,8 @@ export default class RoleCe extends BaseModel {
@prop({ required: true })
roleId: string; // 角色 id
@prop({ required: true, type: GlobalAttr, _id: false })
globalAttrs: GlobalAttr[]
@prop({ required: true, type: AttrCell, _id: false })
globalAttrs: AttrCell[]
@prop({ required: true, type: HeroAttr, _id: false })
heroAttrs: HeroAttr[]
@@ -86,10 +78,14 @@ export default class RoleCe extends BaseModel {
scrollAttrs: ScrollAttr[];
public static async findByRoleId(roleId: string) {
let result: RoleCeType[] = await RoleCeModel.find({ roleId }).lean();
let result: RoleCeType = await RoleCeModel.findOne({ roleId }).lean();
return result;
}
public static async updateRoleCe(roleId: string, update: RoleCeUpdate) {
let result: RoleCeType = await RoleCeModel.findOneAndUpdate({ roleId }, { $set: update }, { new: true, upsert: true }).lean();
return result;
}
}
export const RoleCeModel = getModelForClass(RoleCe);