import { prop } from '@typegoose/typegoose'; 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; } 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(); } export class CeAttrDataRole { @prop({ required: true }) ratioUp: number = 0; @prop({ required: true }) fixUp: number = 0; } 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; }