fix,添加属性不存在判断

This commit is contained in:
luying
2020-12-23 10:52:59 +08:00
parent 52b041692c
commit 3b128da3d3

View File

@@ -53,16 +53,17 @@ export function calPlayerCe(globalCeAttr: CeAttr, hero: HeroType, type: number,
}
addSeidEffect(reIncAttr, hero.ceAttr, addSeidList, removeSeidList); // 处理加值
console.log(JSON.stringify(reIncAttr))
if(!hero.ceAttr) hero.ceAttr = new CeAttr();
for (let attrName in reIncAttr) {
if(!reIncAttr[attrName]) continue;
let originalAttrData: CeAttrData = hero.ceAttr[attrName]||new CeAttrData();
let oldCe = (originalAttrData.fixUp + (originalAttrData.equipUp||0)) * HERO_CE_RATIO + originalAttrData.base *(HERO_CE_RATIO + originalAttrData.ratioUp + globalCeAttr[attrName].ratioUp);
let originalGlobalAttrData: CeAttrData = globalCeAttr[attrName]||new CeAttrData();
let oldCe = (originalAttrData.fixUp + (originalAttrData.equipUp||0)) * HERO_CE_RATIO + originalAttrData.base *(HERO_CE_RATIO + originalAttrData.ratioUp + originalGlobalAttrData.ratioUp);
if(!hero.ceAttr[attrName]) hero.ceAttr[attrName] = new CeAttrData();
for (let attrKey in reIncAttr[attrName]) {
hero.ceAttr[attrName][attrKey] = parseInt(reIncAttr[attrName][attrKey]||0);
}
incArr[attrName] = (reIncAttr[attrName].fixUp + (reIncAttr[attrName].equipUp||0)) * HERO_CE_RATIO + reIncAttr[attrName].base *(HERO_CE_RATIO + reIncAttr[attrName].ratioUp + globalCeAttr[attrName].ratioUp) - oldCe; //计算属性
incArr[attrName] = (reIncAttr[attrName].fixUp + (reIncAttr[attrName].equipUp||0)) * HERO_CE_RATIO + reIncAttr[attrName].base *(HERO_CE_RATIO + reIncAttr[attrName].ratioUp + originalGlobalAttrData.ratioUp) - oldCe; //计算属性
incCe += incArr[attrName] * getAttrCeRatio(attrName);
}
hero.ce += incCe;
@@ -405,14 +406,20 @@ function addSeidEffect(reIncAttr: CeAttr, heroCeAttr: CeAttr,addSeidList: Array<
if(!reIncAttr[attrName]) {
reIncAttr[attrName] = deepCopy(heroCeAttr[attrName]);
}
if(!reIncAttr[attrName]) continue;
if(!reIncAttr[attrName]) {
delete reIncAttr[attrName];
continue;
}
reIncAttr[attrName].fixUp += value * multi * HERO_CE_RATIO;
delete reIncAttr[attrName]._id;
} else if (type == SEID_TYPE.TYPE102) { // 加百分比
if(!reIncAttr[attrName]) {
reIncAttr[attrName] = deepCopy(heroCeAttr[attrName]);
}
if(!reIncAttr[attrName]) continue;
if(!reIncAttr[attrName]) {
delete reIncAttr[attrName];
continue;
}
reIncAttr[attrName].ratioUp += value * multi;
delete reIncAttr[attrName]._id;
}