From 90d195bf70a186c396904534feaf17c6e4cb5923 Mon Sep 17 00:00:00 2001 From: yuexin Date: Thu, 24 Dec 2020 19:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E5=85=89=E7=8E=AFbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/logic/Handler/PetHandler.ts | 1 + src/rooms/logic/skill/Skill.ts | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index 71dd70f..0a36944 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -161,6 +161,7 @@ export class PetHandler { for(let i = 0; i < count;i++){ let obj = this._owner.newSkill(skillid); if(obj){ + obj.setOrignParam(this._orignEffCnt, this._orignCardPoint); this._skills.push(obj); this._selfskills.push(skillid); if(obj.isBornSkill()){ diff --git a/src/rooms/logic/skill/Skill.ts b/src/rooms/logic/skill/Skill.ts index 042d8d1..ee181e1 100644 --- a/src/rooms/logic/skill/Skill.ts +++ b/src/rooms/logic/skill/Skill.ts @@ -26,6 +26,10 @@ export class Skill { halo_v: number = -1; rd: number = 0; + + _orign_effcnt: number = 0; + _orign_cardpt: number = 0; + private _subskill: Skill; // LIFE-CYCLE CALLBACKS: @@ -199,16 +203,12 @@ export class Skill { if(!this.isHaloSkill()){ return 0; } - if(this.halo_v < 0){ - this.halo_v = this.getEffValue(); - } + this.checkHaloValue(); return this.halo_v; }; addHaloValue(v: number): number{ - if(this.halo_v < 0){ - this.halo_v = this.getEffValue(); - } + this.checkHaloValue(); if(this.halo_v > 0){ let tmp = this.halo_v; this.halo_v += v; @@ -226,6 +226,12 @@ export class Skill { this.halo_v = -1; }; + checkHaloValue(){ + if(this.halo_v < 0){ + this.halo_v = this.getEffValue(this._orign_effcnt, this._orign_cardpt); + } + }; + _triggerSubSkill(param: SkillParam, sts: SkillTarget[], cb?: any){ if(this._data.quoteskillid && !this._subskill){ this._subskill = this._owner.newSkill(this._data.quoteskillid); @@ -598,6 +604,11 @@ export class Skill { this._cb = cb; }; + setOrignParam(effcnt: number, cardpoint: number){ + this._orign_effcnt = effcnt; + this._orign_cardpt = cardpoint; + }; + isTotalCardSkill(){ return this._tgctrl._cond.isTempTotalCard(); };