Revert "revert 50867e88 to a1aabfdd"

This reverts commit a112732226.
This commit is contained in:
luying
2021-07-12 14:47:43 +08:00
parent c4d5bf3edd
commit 30bd43d98e
17 changed files with 6675 additions and 3876 deletions

View File

@@ -81,6 +81,16 @@ export class Attribute {
@prop({ required: false })
damageCri: number = 0;
@prop({ required: false })
pDamageInc: number = 0;
@prop({ required: false })
mDamageInc: number = 0;
@prop({ required: false })
pDamageDec: number = 0;
@prop({ required: false })
mDemageDec: number = 0;
@prop({ required: false })
strikeBack: number = 0;
@prop({ required: false })
ce?: number = 0;
setByDbData(roleAttrs: CeAttrDataRole[], heroAttrs: CeAttrData[]) {
@@ -118,6 +128,17 @@ export class Attribute {
}
}
setByMap( attributes: Map<number, number>, ratio: number = 1 ) {
for(let [id, val] of attributes) {
let attrName = getAtrrNameById(id);
if(ABI_TYPE_MAIN.includes(id)) {
if(attrName in this) this[attrName] = Math.floor(val * ratio * HERO_CE_RATIO * HERO_CE_RATIO);
} else {
if(attrName in this) this[attrName] = Math.floor(val * HERO_CE_RATIO * HERO_CE_RATIO);
}
}
}
private calAttrValue(roleFix: number = 0, roleRatio: number = 0, heroBase: number = 0, heroFix: number = 0, heroRatio: number = 0, heroEquip: number = 0) {
return (heroFix + heroEquip + roleFix) * HERO_CE_RATIO + heroBase * ( HERO_CE_RATIO + heroRatio + roleRatio );
}
@@ -131,7 +152,12 @@ export class Attribute {
damageIncrease: this.damageIncrease / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
damageDecrease: this.damageDecrease / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
defIngnore: this.defIngnore / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
damageCri: this.damageCri / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO
damageCri: this.damageCri / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
pDamageInc: this.pDamageInc / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
mDamageInc: this.mDamageInc / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
pDamageDec: this.pDamageDec / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
mDemageDec: this.mDemageDec / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO,
strikeBack: this.strikeBack / HERO_SUB_ATTR_RATIO / HERO_CE_RATIO / HERO_CE_RATIO
}
}
@@ -161,6 +187,11 @@ export class Attribute {
newAttr.bloodSuck = reduceCe(this.bloodSuck);
newAttr.ap = reduceCe(this.ap);
newAttr.damageCri = reduceCe(this.damageCri);
newAttr.pDamageInc = reduceCe(this.pDamageInc);
newAttr.mDamageInc = reduceCe(this.mDamageInc);
newAttr.pDamageDec = reduceCe(this.pDamageDec);
newAttr.mDemageDec = reduceCe(this.mDemageDec);
newAttr.strikeBack = reduceCe(this.strikeBack);
return newAttr;
}
@@ -189,6 +220,12 @@ export class Attribute {
return ce > 0? ce: 1;
}
// 计算未装备的装备的简易战力公式
public calEquipCe() {
let { hp, atk, def, mdef } = this.getRealMainAttr();
return hp * 1 + atk * 3 + def * 2 + mdef * 2;
}
public calCelAndReduce() {
return Math.floor(this.calCe() / HERO_CE_RATIO / HERO_CE_RATIO);
}