143 lines
4.6 KiB
TypeScript
143 lines
4.6 KiB
TypeScript
import { prop } from '@typegoose/typegoose';
|
|
|
|
// hero表内属性基础格式
|
|
export class CeAttrData {
|
|
@prop({ required: true })
|
|
base: number = 0;
|
|
@prop({ required: true })
|
|
ratioUp: number = 0;
|
|
@prop({ required: true })
|
|
fixUp: number = 0;
|
|
@prop({ required: true })
|
|
equipUp: number = 0;
|
|
}
|
|
|
|
// hero表全属性
|
|
export class CeAttr {
|
|
@prop({ required: false, _id: false })
|
|
hp?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
atk?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
matk?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
def?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
mdef?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
agi?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
luk?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
hit?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
cri?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
flee?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
antCri?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
damageIncrease?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
damageDecrease?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
defIngnore?: CeAttrData = new CeAttrData();
|
|
@prop({ required: false, _id: false })
|
|
bloodSuck?: CeAttrData = new CeAttrData();
|
|
}
|
|
|
|
// role表属性格式
|
|
export class CeAttrDataRole {
|
|
@prop({ required: true })
|
|
ratioUp: number = 0;
|
|
@prop({ required: true })
|
|
fixUp: number = 0;
|
|
}
|
|
|
|
// role表全属性
|
|
export class CeAttrRole {
|
|
@prop({ required: false, _id: false })
|
|
hp?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
atk?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
matk?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
def?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
mdef?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
agi?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
luk?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
hit?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
cri?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
flee?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
antCri?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
damageIncrease?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
damageDecrease?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
defIngnore?: CeAttrDataRole = new CeAttrDataRole();
|
|
@prop({ required: false, _id: false })
|
|
bloodSuck?: CeAttrDataRole = new CeAttrDataRole();
|
|
}
|
|
|
|
// 所有属性使用数字格式
|
|
export class CeAttrNumber {
|
|
@prop({ required: false })
|
|
hp?: number = 0;
|
|
@prop({ required: false })
|
|
atk?: number = 0;
|
|
@prop({ required: false })
|
|
matk?: number = 0;
|
|
@prop({ required: false })
|
|
def?: number = 0;
|
|
@prop({ required: false })
|
|
mdef?: number = 0;
|
|
@prop({ required: false })
|
|
agi?: number = 0;
|
|
@prop({ required: false })
|
|
luk?: number = 0;
|
|
@prop({ required: false })
|
|
hit?: number = 0;
|
|
@prop({ required: false })
|
|
cri?: number = 0;
|
|
@prop({ required: false })
|
|
flee?: number = 0;
|
|
@prop({ required: false })
|
|
antCri?: number = 0;
|
|
@prop({ required: false })
|
|
damageIncrease?: number = 0;
|
|
@prop({ required: false })
|
|
damageDecrease?: number = 0;
|
|
@prop({ required: false })
|
|
defIngnore?: number = 0;
|
|
@prop({ required: false })
|
|
bloodSuck?: number = 0;
|
|
}
|
|
|
|
// 主属性
|
|
export class MainAttrNumber {
|
|
hp: number = 0;
|
|
atk: number = 0;
|
|
matk: number = 0;
|
|
def: number = 0;
|
|
mdef: number = 0;
|
|
agi: number = 0;
|
|
luk: number = 0;
|
|
|
|
constructor(attr: CeAttrNumber) {
|
|
if(attr.hp) this.hp = attr.hp;
|
|
if(attr.atk) this.atk = attr.atk;
|
|
if(attr.def) this.def = attr.def;
|
|
if(attr.mdef) this.mdef = attr.mdef;
|
|
if(attr.agi) this.agi = attr.agi;
|
|
if(attr.luk) this.luk = attr.luk;
|
|
}
|
|
} |