皮肤:修复戴上皮肤之后未脱装备

This commit is contained in:
luying
2021-10-21 10:35:22 +08:00
parent 795cb3826b
commit 93036086a6
2 changed files with 4 additions and 5 deletions

View File

@@ -590,7 +590,7 @@ export class HeroHandler {
let newEplace: EPlace[] = [], heroPutNum = 0, curEquips: {seqId: number, id: number, hid: number, ePlaceId: number}[] = [];
for(let { id, equip, lv, refineLv } of hero.ePlace) {
let e = <EquipType>equip;
if(equip && !checkEquipCanPut(hero, e.id)) {
if(equip && !checkEquipCanPut({...hero, skinId: dicSkin.heroId}, e.id)) {
await EquipModel.putOnOrOff(e._id, 0);
heroPutNum -= 1;
newEplace.push({ id, equip: null, lv, refineLv});
@@ -602,7 +602,7 @@ export class HeroHandler {
if(heroPutNum < 0) {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, oldEquipSeids);
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, oldEquipSeids);
await checkTask(roleId, sid, TASK_TYPE.EQUIP_SUM, heroPutNum, true, {});
await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUM, heroPutNum);
await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, hero, [heroPutNum]);

View File

@@ -64,12 +64,11 @@ export function checkMaterialEnough(consumes: Array<{ id: number, count: number
}
export function checkEquipCanPut(hero: HeroType, id: number) {
let hid = hero.hid;
let hid = hero.skinId;
let dicGood = gameData.goods.get(id);
if(dicGood.lvLimited > hero.lv) return false;
let dicHero = gameData.hero.get(hid);
let dicJob = gameData.job.get(dicHero.jobid);
if(dicGood.jobLimited.indexOf(0) == -1 && dicGood.jobLimited.indexOf(dicJob.job_class) == -1) return false;
if(dicGood.jobLimited.indexOf(0) == -1 && dicGood.jobLimited.indexOf(dicHero.jobClass) == -1) return false;
if(dicGood.charLimited.indexOf(0) == -1 && dicGood.charLimited.indexOf(hid) == -1) return false;
return true
}