From 7bcf1b67c2ea8e87d3fb06545304651ee7abf9b2 Mon Sep 17 00:00:00 2001 From: yuexin Date: Thu, 3 Dec 2020 20:39:31 +0800 Subject: [PATCH 1/2] add check interface --- src/rooms/logic/Handler/BattleHandler.ts | 10 +++++++++- src/rooms/logic/Handler/PlayerHandler.ts | 17 ++++++++++++++++- src/rooms/logic/skill/Skill.ts | 4 ++++ src/rooms/logic/skill/SkillConst.ts | 16 ++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index d673b4b..11ada11 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -43,7 +43,6 @@ export class BattleHandler { }; - /** * 使用卡片 @@ -81,6 +80,15 @@ export class BattleHandler { }; + /** + * 确认玩家是否有换牌技能 + * @param aplayer + */ + public hasTransEffCardSkill(aplayer: Player): boolean{ + let ph = this.getPlayer(aplayer); + return ph && ph.hasTransEffCardSkill(); + }; + /** * 吃牌/胡牌确认 * @param aplayer : 玩家 diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index ac11234..5aaeaa5 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -139,5 +139,20 @@ export class PlayerHandler { public isMyPet(apet: PetHandler){ return this._pets.includes(apet); - } + }; + + public hasTransEffCardSkill(): boolean{ + if(!this._self){ + return false; + } + + let bok = false; + for(let [key, val] of this._self._skills){ + if(val.isTransEffCardSkill()){ + bok = true; + break; + } + } + return bok; + }; } diff --git a/src/rooms/logic/skill/Skill.ts b/src/rooms/logic/skill/Skill.ts index f8c11fe..23c24ee 100644 --- a/src/rooms/logic/skill/Skill.ts +++ b/src/rooms/logic/skill/Skill.ts @@ -115,6 +115,10 @@ export class Skill { return this._data.effect_typeid == SkillEffectType.TAUNT; }; + isTransEffCardSkill(){ + return this._data.effect_typeid == SkillEffectType.CARD_CHG_EN; + }; + // 是否是稀有技能 isRareSkill() { return false; diff --git a/src/rooms/logic/skill/SkillConst.ts b/src/rooms/logic/skill/SkillConst.ts index cdcfda5..e51a6c3 100644 --- a/src/rooms/logic/skill/SkillConst.ts +++ b/src/rooms/logic/skill/SkillConst.ts @@ -70,6 +70,22 @@ export const enum SkillRangeUnitType{ }; // 技能效果类型 +/** + * 0. 无 + * 1.补牌 + * 2.补牌至多少张 + * 3.抽别人牌 + * 4.将几张点数卡变为一张效果强化卡 + * 5.强化战力(HP性质的战力) + * 6.强化战力(护盾性质的战力) + * 7.扣除战力(伤害) + * 8.召唤随从(需引用ID) + * 9.触发技能(需引用ID) + * 10.嘲讽 + * 11.扣除HP + * 12.增加出场战力 + * 13.自己受到的伤害降低 + */ export const enum SkillEffectType { NONE = 0, From f3da8a4c8ec8962b6fdd9f1c6021ce37c1336f56 Mon Sep 17 00:00:00 2001 From: yuexin Date: Thu, 3 Dec 2020 20:45:44 +0800 Subject: [PATCH 2/2] add dbpointcard param --- src/rooms/logic/Handler/BattleHandler.ts | 2 +- src/rooms/logic/skill/SkillParam.ts | 3 ++- src/rooms/logic/skill/TriggerMan.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index 24fac7d..01b91e0 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -65,7 +65,7 @@ export class BattleHandler { return false; } - let ps = new SkillParam(obj.card, obj.cardpoint, obj.eff_cnt, ph, dstph, dstpt); + let ps = new SkillParam(obj.card, obj.cardpoint, obj.dbpt_cnt, obj.eff_cnt, ph, dstph, dstpt); ph.useCard(ps); }; diff --git a/src/rooms/logic/skill/SkillParam.ts b/src/rooms/logic/skill/SkillParam.ts index 801a621..027ce05 100644 --- a/src/rooms/logic/skill/SkillParam.ts +++ b/src/rooms/logic/skill/SkillParam.ts @@ -10,9 +10,10 @@ export class SkillParam{ dstplayer: PlayerHandler; dstpet: PetHandler; - constructor(cardid: number, cardpoint: number, effcnt: number, srcplayer: PlayerHandler, dstplayer: PlayerHandler, dstpet: PetHandler){ + constructor(cardid: number, cardpoint: number, ptcnt: number, effcnt: number, srcplayer: PlayerHandler, dstplayer: PlayerHandler, dstpet: PetHandler){ this.cardid = cardid; this.cardpoint = cardpoint; + this.pt_cnt = ptcnt; this.eff_cnt = effcnt; this.srcplayer = srcplayer; this.dstplayer = dstplayer; diff --git a/src/rooms/logic/skill/TriggerMan.ts b/src/rooms/logic/skill/TriggerMan.ts index 640e1a3..197fb4a 100644 --- a/src/rooms/logic/skill/TriggerMan.ts +++ b/src/rooms/logic/skill/TriggerMan.ts @@ -83,8 +83,8 @@ let TriggerManager = { case SkillEffectType.CARD_ADD_LIMIT: case SkillEffectType.CARD_STEAL: case SkillEffectType.CARD_CHG_EN: + case SkillEffectType.POWER_ENHANCE: - case SkillEffectType.HALO_ENHANCE: case SkillEffectType.HURT_POWER: case SkillEffectType.SUMMON_NPC: case SkillEffectType.SUMMON_SKILL: