装备:切换皮肤带来的职业变化对装备
This commit is contained in:
@@ -523,7 +523,7 @@ export function calHeroJobAttr(originHero: HeroType, hero: HeroUpdate, addSeidLi
|
||||
*/
|
||||
export function calHeroWearSkinIncAttr(originHero: HeroType, update: HeroUpdate, addSeidList: number[], removeSeidList: number[]) {
|
||||
let { attr: heroAttrs, skinId: originSkinId } = originHero;
|
||||
let { skinId = originSkinId } = update;
|
||||
let { skinId = originSkinId, ePlace: newEplace } = update;
|
||||
calHeroStarIncAttr(originHero, update, HERO_SYSTEM_TYPE.SKIN, addSeidList, removeSeidList);
|
||||
|
||||
let addSkin = gameData.fashionBySkinId.get(skinId);
|
||||
@@ -540,6 +540,12 @@ export function calHeroWearSkinIncAttr(originHero: HeroType, update: HeroUpdate,
|
||||
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp } });
|
||||
}
|
||||
originHero.attr = heroAttrs;
|
||||
|
||||
let eplaceIds = newEplace.map(cur => cur.id);
|
||||
calEquipStrengthIncAttr(originHero, update, eplaceIds);
|
||||
calEquipQualityIncAttr(originHero, update, eplaceIds);
|
||||
calEquipStarIncAttr(originHero, update, eplaceIds, addSeidList, removeSeidList);
|
||||
|
||||
return heroAttrs;
|
||||
}
|
||||
|
||||
@@ -628,12 +634,17 @@ export function calEquipStrengthIncAttr(hero: HeroType, update: HeroUpdate, epla
|
||||
let oldEquip = oldEplace.find(cur => cur.id == eplaceId);
|
||||
let newEquip = newEplace.find(cur => cur.id == eplaceId);
|
||||
if(newEquip && oldEquip) {
|
||||
let dicEquip = gameData.equipById.get(oldEquip.equipId);
|
||||
for(let attr of dicEquip.attributeUp) {
|
||||
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: attr.num * (newEquip.lv - oldEquip.lv) * HERO_CE_RATIO } });
|
||||
let dicOldEquip = gameData.equipById.get(oldEquip.equipId);
|
||||
let dicNewEquip = gameData.equipById.get(newEquip.equipId);
|
||||
for(let attr of dicOldEquip.attributeUp) {
|
||||
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: -1 * attr.num * oldEquip.lv * HERO_CE_RATIO } });
|
||||
}
|
||||
for(let attr of dicNewEquip.attributeUp) {
|
||||
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: attr.num * newEquip.lv * HERO_CE_RATIO } });
|
||||
}
|
||||
}
|
||||
}
|
||||
hero.attr = heroAttrs;
|
||||
return heroAttrs
|
||||
}
|
||||
|
||||
@@ -654,6 +665,7 @@ export function calEquipQualityIncAttr(hero: HeroType, update: HeroUpdate, eplac
|
||||
}
|
||||
}
|
||||
}
|
||||
hero.attr = heroAttrs;
|
||||
return heroAttrs
|
||||
}
|
||||
|
||||
@@ -686,6 +698,7 @@ export function calEquipStarIncAttr(hero: HeroType, update: HeroUpdate, eplaceId
|
||||
|
||||
// 套装属性
|
||||
calEquipSuitIncAttr(hid, oldEplace, newEplace, addSeidList, removeSeidList);
|
||||
hero.attr = heroAttrs;
|
||||
return heroAttrs;
|
||||
}
|
||||
|
||||
|
||||
@@ -18012,8 +18012,8 @@
|
||||
"camp": 2,
|
||||
"area": 0,
|
||||
"cost": 0,
|
||||
"jobid": 200,
|
||||
"jobClass": 2,
|
||||
"jobid": 300,
|
||||
"jobClass": 3,
|
||||
"skill": 19,
|
||||
"pieceId": 21019,
|
||||
"hp": 124,
|
||||
|
||||
Reference in New Issue
Block a user