From 5a808d92f8496da8cd57823baa998b8f21d1cd90 Mon Sep 17 00:00:00 2001 From: yuexin Date: Fri, 4 Dec 2020 19:53:33 +0800 Subject: [PATCH] use magic card --- src/rooms/logic/Handler/PlayerHandler.ts | 24 +++++++++++++++++++----- src/rooms/logic/skill/SkillMan.ts | 2 +- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 803733c..6d66578 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -8,6 +8,7 @@ import { EffectCardType, GameUnitType, TriggerType } from "../skill/SkillConst"; import { UnitCfg } from "cfg/parsers/UnitCfg"; import { Skill } from "../skill/Skill"; import { SkillParam, SkillTarget } from "../skill/SkillParam"; +import SkillMan from "../skill/SkillMan"; export class PlayerHandler { public _player: Player; @@ -128,17 +129,30 @@ export class PlayerHandler { pet.born(obj); }else if(cfg.type_id == EffectCardType.MAGIC){ - + this.useSkill([cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id], obj); } }; - public useSkill(skillid: number, obj: SkillParam) + public useSkill(skills: number[], obj: SkillParam) { - + if(!skills){ + return; + } + let res : SkillTarget[] = []; + skills.forEach((item: number)=>{ + let sk = this.newSkill(item); + let lst = sk.checkTrigger(TriggerType.NO_COND, 0, obj); + res = res.concat(lst); + }); + //todo: }; - public addSkill(skillid: number){ - + public newSkill(skillid: number): Skill{ + let obj = SkillMan.getSkill(skillid); + if(obj){ + obj.setOwner(this); + } + return obj; }; public addCard(count: number){ diff --git a/src/rooms/logic/skill/SkillMan.ts b/src/rooms/logic/skill/SkillMan.ts index ff1844a..a3c0e8a 100644 --- a/src/rooms/logic/skill/SkillMan.ts +++ b/src/rooms/logic/skill/SkillMan.ts @@ -25,7 +25,7 @@ let SkillMan = { this._skillmap.set(id, obj); }, - getSkill(id: number) { + getSkill(id: number): Skill { let obj = this._skillmap.get(id); if (obj) { return obj.clone();