fix 添加被动计算bug

This commit is contained in:
luying
2020-12-16 11:49:01 +08:00
parent 776b5b8cfd
commit 1d296270db

View File

@@ -13,6 +13,7 @@ import { CeAttrData, CeAttr } from '../db/generalField';
import { getAttrNameByJobStage, getAttrCeRatio, getAtrrNameById, ABI_TYPE_TO_STAGE, ABI_STAGE, SEID_TYPE, HERO_ATTR} from '../consts';
import { gameData, getJobByGradeAndClass, getHeroWakeByQuality, getHeroStarByQuality, getFriendShipById } from '../pubUtils/data';
import { Attributes } from '../pubUtils/interface';
import { DicSe } from '../pubUtils/dictionary/DicSe';
const HERO_CE_RATIO = 100;
const _ = require('underscore');
//战力计算TODO
@@ -249,7 +250,7 @@ function addSeidEffect(reIncAttr: CeAttr, addSeidList: Array<number>, removeSeid
{list: removeSeidList, multi: -1}
];
for(let {list, multi} of otiginalSeidList) {
let effectList = new Array<any>(); // any: dic_zyz_se表内容
let effectList = new Array<DicSe>(); // any: dic_zyz_se表内容
for(let seid of list) {
let dicSeid = gameData.se.get(seid);
if(dicSeid && dicSeid.id > 0){
@@ -258,12 +259,15 @@ function addSeidEffect(reIncAttr: CeAttr, addSeidList: Array<number>, removeSeid
}
for(let {type, gainValueArr: [ability, value]} of effectList) {
if(!reIncAttr[HERO_ATTR[ability]]) {
reIncAttr[HERO_ATTR[ability]] = new CeAttrData();
}
if(type == SEID_TYPE.TYPE101) { // 加值
if(!reIncAttr[HERO_ATTR[ability]]) {
reIncAttr[HERO_ATTR[ability]] = new CeAttrData();
}
reIncAttr[HERO_ATTR[ability]].ratioUp += value * multi;
} else if (type == SEID_TYPE.TYPE102) { // 加百分比
if(!reIncAttr[HERO_ATTR[ability]]) {
reIncAttr[HERO_ATTR[ability]] = new CeAttrData();
}
reIncAttr[HERO_ATTR[ability]].fixUp += value * multi;
}
}