fix 技能值处理

This commit is contained in:
luying
2020-12-14 09:44:39 +08:00
parent 27e66ae302
commit 5897b37ef6
+23 -17
View File
@@ -28,7 +28,7 @@ export function calPlayerCe(hero: any, type: number, args: Array<number>) {
reIncAttr = calHeroTrainIncAttr(hero); reIncAttr = calHeroTrainIncAttr(hero);
} }
addSeidEffect(hero, reIncAttr, addSeidList, removeSeidList); // 处理加值 addSeidEffect(reIncAttr, addSeidList, removeSeidList); // 处理加值
if(!hero.ceAttr) hero.ceAttr = new CeAttr(); if(!hero.ceAttr) hero.ceAttr = new CeAttr();
for (let attrName in reIncAttr) { for (let attrName in reIncAttr) {
let originalAttrData: CeAttrData = hero.ceAttr[attrName]||new CeAttrData(); let originalAttrData: CeAttrData = hero.ceAttr[attrName]||new CeAttrData();
@@ -174,24 +174,30 @@ function getFieldByStage(stage: number, jobid: number) {
// 添加技能增加的被动属性 // 添加技能增加的被动属性
function addSeidEffect(hero: Hero, reIncAttr: CeAttr, addSeidList: Array<number>, removeSeidList: Array<number>) { function addSeidEffect(reIncAttr: CeAttr, addSeidList: Array<number>, removeSeidList: Array<number>) {
let effectList = new Array<any>(); // any: dic_zyz_se表内容 let otiginalSeidList = [
for(let seid of addSeidList) { {list: addSeidList, multi: 1},
let dicSeid = getSeidById(seid); {list: removeSeidList, multi: -1}
if(dicSeid && dicSeid.id > 0){ ];
addSeid(effectList, dicSeid.id, dicSeid.gainValueArr) for(let {list, multi} of otiginalSeidList) {
let effectList = new Array<any>(); // any: dic_zyz_se表内容
for(let seid of list) {
let dicSeid = getSeidById(seid);
if(dicSeid && dicSeid.id > 0){
addSeid(effectList, dicSeid.id, dicSeid.gainValueArr)
}
} }
}
for(let {type, gainValueArr: [ability, value]} of effectList) {
for(let {type, gainValueArr: [ability, value]} of effectList) { if(!reIncAttr[HERO_ATTR[ability]]) {
if(!reIncAttr[HERO_ATTR[ability]]) { reIncAttr[HERO_ATTR[ability]] = new CeAttrData();
reIncAttr[HERO_ATTR[ability]] = new CeAttrData(); }
} if(type == SEID_TYPE.TYPE101) { // 加值
if(type == SEID_TYPE.TYPE101) { // 加值 reIncAttr[HERO_ATTR[ability]].ratioUp += value * multi;
reIncAttr[HERO_ATTR[ability]].ratioUp += value; } else if (type == SEID_TYPE.TYPE102) { // 加百分比
} else if (type == SEID_TYPE.TYPE102) { // 加百分比 reIncAttr[HERO_ATTR[ability]].fixUp += value * multi;
reIncAttr[HERO_ATTR[ability]].fixUp += value; }
} }
} }
} }