fix,添加属性不存在判断
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user