fix 技能值处理
This commit is contained in:
@@ -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;
|
reIncAttr[HERO_ATTR[ability]].ratioUp += value * multi;
|
||||||
} else if (type == SEID_TYPE.TYPE102) { // 加百分比
|
} else if (type == SEID_TYPE.TYPE102) { // 加百分比
|
||||||
reIncAttr[HERO_ATTR[ability]].fixUp += value;
|
reIncAttr[HERO_ATTR[ability]].fixUp += value * multi;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user