diff --git a/game-server/app/services/playerCeService.ts b/game-server/app/services/playerCeService.ts index fd6281317..b5d34d0ee 100644 --- a/game-server/app/services/playerCeService.ts +++ b/game-server/app/services/playerCeService.ts @@ -403,9 +403,11 @@ export async function getSumCe(roleId: string, num: number) { export async function getHeroesAttributes(roleId: string) { let roleCe = await RoleCeModel.findByRoleId(roleId); let attrByHid = new Map(); + let heroAttrs = roleCe?.heroAttrs??[]; for(let { hid, attrs } of roleCe?.attributes??[]) { let cal = new AttributeCal(); - cal.setLv(roleCe.roleLv); + let heroAttr = heroAttrs.find(cur => cur.hid == hid); + if(heroAttr) cal.setLv(heroAttr.lv); cal.setByWarJson(attrs); attrByHid.set(hid, cal); } diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index bae979533..c2c5535fb 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -852,10 +852,11 @@ export function getEquipStarAttrByStage(equipId: number, star: number, starStage } } } else { + let preEquipStar = getPreEquipStar(equipId, star); let equipStar = getEquipStarIdByEquipId(equipId, star); return { mainAttr: equipStar.mainAttr.get(starStage), - subAttr: equipStar.subAttr, + subAttr: preEquipStar?.subAttr||[], } } }