From d7af91972ee591569541c6a66be54bcd71c46ddc Mon Sep 17 00:00:00 2001 From: yuexin Date: Fri, 15 Jan 2021 18:18:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/logic/skill/SkillParam.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/rooms/logic/skill/SkillParam.ts b/src/rooms/logic/skill/SkillParam.ts index 18000bb..e6ac942 100644 --- a/src/rooms/logic/skill/SkillParam.ts +++ b/src/rooms/logic/skill/SkillParam.ts @@ -68,6 +68,10 @@ export class SkillResult{ this.err = err; this.bsuccess = issuccess; this.beffsrc = issrc; + }; + + public isSame(efftype: number, issrc: boolean): boolean{ + return this.bsuccess && this.effect_type == efftype && this.beffsrc == issrc; } }; @@ -202,9 +206,23 @@ export class SkillTarget{ } }; + public findRes(efftype: number, effsrc: boolean): SkillResult{ + for(let i =0; i < this.res.length; i++){ + if(this.res[i].isSame(efftype, effsrc)){ + return this.res[i]; + } + } + return null; + }; + public success(efftype: number, effres: number, effsrc: boolean = false){ this.checkRes(); - this.res.push(new SkillResult(efftype, effres, true, 0, effsrc)); + let obj = this.findRes(efftype, effsrc); + if(obj){ + obj.effect_res += effres; + }else{ + this.res.push(new SkillResult(efftype, effres, true, 0, effsrc)); + } this.bresok = true; };