战力:修复合成装备的时候多扣战力的bug

This commit is contained in:
luying
2022-06-06 15:08:18 +08:00
parent 17bcbe7804
commit 308525e510
2 changed files with 27 additions and 25 deletions
+24 -13
View File
@@ -289,11 +289,20 @@ export class CalCe {
}
}
public clearEquip(hid: number) {
this.data.clearHeroAttrByHid(hid, 'equipQuality');
this.data.clearEquipAttrByHid(hid, 'equipQuality');
this.data.clearHeroAttrByHid(hid, 'equipStrength');
this.data.clearEquipAttrByHid(hid, 'equipStrength');
this.data.clearHeroAttrByHid(hid, 'equipStar');
this.data.clearEquipAttrByHid(hid, 'equipStar');
}
// 装备强化
public setEquipStrength(hid: number, eplaceId: number, equipId: number, lv: number) {
this.data.clearHeroAttrByHid(hid, 'equipStrengthen');
this.data.clearEquipAttrByHidAndEplace(hid, eplaceId, 'equipStrengthen');
this.data.clearHeroAttrByHid(hid, 'equipStrength');
this.data.clearEquipAttrByHidAndEplace(hid, eplaceId, 'equipStrength');
let dicEquipStrenth = getEquipStrenthenAttr(equipId, lv);
let map = new Map<number, number>(); // attrId => val
for(let { id, num } of dicEquipStrenth.attr) {
@@ -305,12 +314,12 @@ export class CalCe {
}
for(let [id, val] of map) {
let equipAttr = this.data.getEquipAttrByHidAndId(hid, eplaceId, id);
equipAttr.equipStrengthen = val;
equipAttr.equipStrength = val;
}
let equips = this.data.getEquipAttrsByHid(hid);
for(let { hid, attrId, equipStrengthen } of equips) {
for(let { hid, attrId, equipStrength } of equips) {
let heroAttr = this.data.getHeroAttrByHidAndId(hid, attrId);
heroAttr.equipStrength = equipStrengthen;
heroAttr.equipStrength = equipStrength;
}
}
@@ -701,11 +710,13 @@ class CalCeData {
public clearEquipAttrByHidAndEplace(hid: number, eplaceId: number, field: string) {
let equipAttrs = this.getEquipAttrsByHidAndEplace(hid, eplaceId);
for(let equipAttr of equipAttrs) {
let originNum = equipAttr[field]||0;
let heroAttr = this.getHeroAttrByHidAndId(hid, equipAttr.attrId);
if(heroAttr && heroAttr[field]) {
heroAttr[field] -= originNum;
}
equipAttr[field] = 0;
}
}
public clearEquipAttrByHid(hid: number, field: string) {
let equipAttrs = this.getEquipAttrsByHid(hid);
for(let equipAttr of equipAttrs) {
equipAttr[field] = 0;
}
}
@@ -1127,7 +1138,7 @@ abstract class EquipAllAttr {
eplaceId: number;
attrId: number;
equipQuality: number = 0;
equipStrengthen: number = 0;
equipStrength: number = 0;
equipStar: number = 0;
jewel: number = 0;
stone: number = 0;
@@ -1157,7 +1168,7 @@ class EquipMainAttr extends EquipAllAttr {
case EQUIP_MAIN_ATTR_INDEX.EQUIP_QUALITY:
this.equipQuality = value; break;
case EQUIP_MAIN_ATTR_INDEX.EQUIP_STRENGTH:
this.equipStrengthen = value; break;
this.equipStrength = value; break;
case EQUIP_MAIN_ATTR_INDEX.EQUIP_STAR:
this.equipStar = value; break;
case EQUIP_MAIN_ATTR_INDEX.JEWEL:
@@ -1177,7 +1188,7 @@ class EquipMainAttr extends EquipAllAttr {
values.push(this.equipQuality);
break;
case EQUIP_MAIN_ATTR_INDEX.EQUIP_STRENGTH:
values.push(this.equipStrengthen);
values.push(this.equipStrength);
break;
case EQUIP_MAIN_ATTR_INDEX.EQUIP_STAR:
values.push(this.equipStar);