diff --git a/doc/todolist2021.xmind b/doc/todolist2021.xmind new file mode 100644 index 0000000..c7a304e Binary files /dev/null and b/doc/todolist2021.xmind differ diff --git a/src/rooms/logic/skill/Skill.ts b/src/rooms/logic/skill/Skill.ts index 18d1e5d..58dc06d 100644 --- a/src/rooms/logic/skill/Skill.ts +++ b/src/rooms/logic/skill/Skill.ts @@ -468,6 +468,7 @@ export class Skill { let n = efftype == SkillEffectType.POWER_ENHANCE? tgt.dst.addBaseAP(effvalue, tgt.srcPet()) : tgt.dst.addExAP(effvalue, tgt.srcPet()); tgt.success(efftype, n); + tgt.success(SkillEffectType.CHG_AP, n); }else{ tgt.fail(efftype, -1); } @@ -478,12 +479,16 @@ export class Skill { if(tgt.dsttype != GameUnitType.NONE){ let oldhp = tgt.dst.getHP(); let n = tgt.dst.beHurt(effv, tgt.srcPet()); + tgt.success(efftype, n); if(n != 0){ - tgt.success(SkillEffectType.HURT_POWER, n); + tgt.success(SkillEffectType.CHG_AP, n); } let dthp = tgt.dst.getHP() - oldhp; if(dthp != 0){ - tgt.success(SkillEffectType.HURT_HP, dthp); + tgt.success(SkillEffectType.CHG_HP, dthp); + } + if(n == 0 && dthp == 0){ + tgt.success(SkillEffectType.CHG_AP, 0); } let hv = n + dthp; let pet = tgt.srcPet(); @@ -491,7 +496,7 @@ export class Skill { //吸血 let sv = pet.HPS(hv); if(sv != 0){ - tgt.success(SkillEffectType.HURT_POWER, sv, true); + tgt.success(SkillEffectType.CHG_AP, sv, true); } } }else{ @@ -509,6 +514,7 @@ export class Skill { let effv = this.EMV(effvalue); let n = tgt.dst.addHP(effv, tgt.srcPet()); tgt.success(efftype, n); + tgt.success(SkillEffectType.CHG_HP, n); }else{ tgt.fail(efftype, -1); } @@ -694,7 +700,10 @@ export class Skill { // let n = obj.canAttack()? obj.attack(this, dst, param, v, isAtkBack): 1; let n = obj.attack(this, dst, param, v, isAtkBack); if(n <= 0){ - tgt.success(SkillEffectType.HURT_POWER, n); + tgt.success(efftype, n); + if(n != 0){ + tgt.success(SkillEffectType.CHG_AP, n); + } // if(this._data.quoteskillid){ // let dp = this._data.skill_users? param.oppClone(): param; // let pet = tgt.srcpet; @@ -705,7 +714,10 @@ export class Skill { // } let dthp = tgt.dst.getHP() - oldhp; if(dthp != 0){ - tgt.success(SkillEffectType.HURT_HP, dthp); + tgt.success(SkillEffectType.CHG_HP, dthp); + } + if(n == 0 && dthp == 0){ + tgt.success(SkillEffectType.CHG_AP, 0); } let hv = n + dthp; let pet = tgt.srcPet(); @@ -713,7 +725,7 @@ export class Skill { //吸血 let sv = pet.HPS(hv); if(sv != 0){ - tgt.success(SkillEffectType.HURT_POWER, sv, true); + tgt.success(SkillEffectType.CHG_AP, sv, true); } } tgt.success(efftype, hv); diff --git a/src/rooms/logic/skill/SkillConst.ts b/src/rooms/logic/skill/SkillConst.ts index 6f98f2a..8be35dc 100644 --- a/src/rooms/logic/skill/SkillConst.ts +++ b/src/rooms/logic/skill/SkillConst.ts @@ -190,7 +190,7 @@ export const enum SkillRangeUnitType{ * 3.抽别人牌 * 4.将几张点数卡变为一张效果强化卡 * 5.强化战力(HP性质的战力) - * 6.强化战力(护盾性质的战力) + * 6.强化战力(护盾性质的战力)// 暂无用 * 7.扣除战力(伤害) * 8.召唤随从(需引用ID) * 9.触发技能(需引用ID) // 已废弃 @@ -239,6 +239,9 @@ export const enum SkillEffectType CARD_DROP = 29, BUFF_SHIELD = 30, HP_STEAL_ENHANCE = 31, + + CHG_HP = 10001, + CHG_AP = 10002, }; // 技能效果参数类型 diff --git a/src/rooms/logic/skill/SkillParam.ts b/src/rooms/logic/skill/SkillParam.ts index f6a0665..0866018 100644 --- a/src/rooms/logic/skill/SkillParam.ts +++ b/src/rooms/logic/skill/SkillParam.ts @@ -238,7 +238,7 @@ export class SkillTarget{ obj.datas = []; lst.forEach((item: SkillTarget) => { let eds = item.exportEffDatas(); - obj.datas.push(...eds); + eds && obj.datas.push(...eds); // item.res && item.res.forEach((skres: SkillResult) => { // let ed = item.exportResData(skres); // ed && obj.datas.push(ed); @@ -312,6 +312,9 @@ export class SkillTarget{ }; public exportEffDatas(): SKillEffectData[]{ + if(!this.res){ + return null; + } let r1: SkillResult[] = []; let r2: SkillResult[] = [];