From 3b128da3d3f75291e9ed4b1a81d1ac7bca570f04 Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 23 Dec 2020 10:52:59 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E4=B8=8D=E5=AD=98=E5=9C=A8=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/pubUtils/playerCe.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index 951ea9f0f..627725fc8 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -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; }