diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index a6fb472..25923c3 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -1,3 +1,4 @@ +import { UnitCfg } from "cfg/parsers/UnitCfg"; import { Pet } from "../../schema/Pet"; import CfgMan from "../CfgMan"; @@ -8,10 +9,16 @@ export class PetHandler { private _pet: Pet; private _owner: PlayerHandler; _id: number; - _cfg: any; + _cfg: UnitCfg; _exskills: number[]; - _ap: number; + _baseap: number; + + _exap: number; + + _exredhurt: number; + + _halos: Map = new Map(); public init(apet: Pet, owner: PlayerHandler){ this._pet = apet; @@ -24,17 +31,21 @@ export class PetHandler { }; - public setParam(id: number, ap: number, effcnt: number, exskillid: number[]){ - this._id = id; - this._cfg = CfgMan.findUnitCfg(id); - + public setParam(obj:{ + id: number, ap?: number, effcnt?: number, exskillid: number[]} + ){ + this._id = obj.id || 0; + this._cfg = CfgMan.findUnitCfg(this._id); + if(!obj.ap){ + this._baseap = 0;//this._cfg.powernum; + }else{ + this._baseap = obj.ap; + } this._exskills.length = 0; - exskillid.forEach((skillid: number)=>{ + obj.exskillid && obj.exskillid.forEach((skillid: number)=>{ if(skillid > 0){ this._exskills.push(skillid); } }); - - } } \ No newline at end of file diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 0361723..118093c 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -7,22 +7,33 @@ import { Card } from "rooms/schema/Card"; import { Pet } from "rooms/schema/Pet"; import { EffectCardType } from "../skill/SkillConst"; import { UnitCfg } from "cfg/parsers/UnitCfg"; +import { Skill } from "../skill/Skill"; export class PlayerHandler { public _player: Player; public _playercfg: HeroCfg; + public _self: PetHandler; + public _unitcfg: UnitCfg; public _pets: PetHandler[]; + public _skills: Skill[]; + + public _exskills: Skill[]; + private _owner: BattleHandler; public init(aplayer: Player, owner: BattleHandler){ this._owner = owner; this._player = aplayer; this._playercfg = CfgMan.findPlayerCfg(this._player.heroId); + this._self = new PetHandler(); + this._self.init(null, this); + let lst = this._playercfg.exSkill? [this._playercfg.exSkill]: null; + this._self.setParam({id: this._playercfg.unitId, exskillid: lst}); this._unitcfg = this._playercfg && CfgMan.findUnitCfg(this._playercfg.unitId); }; @@ -67,7 +78,8 @@ export class PlayerHandler { if(!pet){ return false; } - pet.setParam(cfg.eff1Id, obj.cardpoint, obj.eff_cnt, [cfg.eff2Id, cfg.eff3Id, cfg.eff4Id, cfg.eff5Id]); + pet.setParam({id: cfg.eff1Id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid: + [cfg.eff2Id, cfg.eff3Id, cfg.eff4Id, cfg.eff5Id]}); }else if(cfg.typeId == EffectCardType.MAGIC){