diff --git a/src/rooms/logic/CfgMan.ts b/src/rooms/logic/CfgMan.ts index 5827061..ee714ee 100644 --- a/src/rooms/logic/CfgMan.ts +++ b/src/rooms/logic/CfgMan.ts @@ -1,3 +1,7 @@ +import { EffectCardCfg } from "cfg/parsers/EffectCardCfg"; +import { HeroCfg } from "cfg/parsers/HeroCfg"; +import { SkillCfg } from "cfg/parsers/SkillCfg"; +import { UnitCfg } from "cfg/parsers/UnitCfg"; import { BaseConst } from "../../constants/BaseConst"; import { EnhanceEffectType } from "./skill/SkillConst"; @@ -7,19 +11,19 @@ let CfgMan = { *playerid: numer */ - findPlayerCfg(playerid: number){ + findPlayerCfg(playerid: number): HeroCfg{ return global.$cfg.get(BaseConst.HERO).get(playerid); }, - findUnitCfg(unitid: number){ + findUnitCfg(unitid: number): UnitCfg{ return global.$cfg.get(BaseConst.UNIT).get(unitid); }, - findSkillCfg(skillid: number){ + findSkillCfg(skillid: number): SkillCfg{ return global.$cfg.get(BaseConst.SKILL).get(skillid); }, - findEffCardCfg(cardid: number){ + findEffCardCfg(cardid: number): EffectCardCfg{ return global.$cfg.get(BaseConst.EFFECTCARD).get(cardid); }, diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index cff0994..d673b4b 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -13,7 +13,8 @@ export class BattleHandler { private _cs: CardGameState; private _players: Map = new Map(); - private _room: Room; + + _room: Room; public init(cs: CardGameState, room: Room){ this._cs = cs; @@ -41,6 +42,9 @@ export class BattleHandler { public getTargetPlayer(){ }; + + + /** * 使用卡片 * @param obj diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index de82ee5..dec37be 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -7,6 +7,7 @@ import SkillMan from "../skill/SkillMan"; import { EnhanceEffectType, PowerValueType } from "../skill/SkillConst"; import { PlayerHandler } from "./PlayerHandler"; +import { PetInfoMsg } from "message/PetInfo"; export class PetHandler { _pet: Pet; @@ -21,12 +22,15 @@ export class PetHandler { _baseap: number; // 基础 - _haloap: number = 0; // 光环 + _exap: number = 0; // 额外 _exredhurt: number; _isHero: boolean = false; + _selfskills: number[]; + _exskills: number[]; + public init(apet: Pet, owner: PlayerHandler){ this._pet = apet; this._owner = owner; @@ -56,7 +60,7 @@ export class PetHandler { this.addSkill(this._cfg.base_skill3id); obj.exskillid && obj.exskillid.forEach((skillid: number)=>{ - this.addSkill(skillid, true); + this.addSkill(skillid); }); }; @@ -68,7 +72,7 @@ export class PetHandler { this._halos.push(halo); }; - public addSkill(skillid: number, isExSkill?: boolean){ + public addSkill(skillid: number){ if(skillid > 0){ let obj = this._skills.get(skillid); if(!obj){ @@ -76,9 +80,7 @@ export class PetHandler { if(obj){ obj.setOwner(this); this._skills.set(skillid, obj); - if(isExSkill){ - obj.isExSkill = true; - } + this._selfskills.push(skillid); if(obj.isBornSkill()){ this._bornSkills.push(obj); }else if(obj.isDieSkill()){ @@ -117,10 +119,10 @@ export class PetHandler { }; public addAP(value: number){ - this._haloap += value; - if(this._haloap < 0){ - this._baseap += this._haloap; - this._haloap = 0; + this._exap += value; + if(this._exap < 0){ + this._baseap += this._exap; + this._exap = 0; } if(this._baseap < 0){ this.die(); @@ -128,7 +130,7 @@ export class PetHandler { }; public totalAP(){ - return this._baseap + this._haloap; + return this._baseap + this._exap; }; public beHurt(value: number){ @@ -156,4 +158,17 @@ export class PetHandler { }); }; + + public exportData(): PetInfoMsg{ + let obj = new PetInfoMsg({ + id: this._id, + isHero: this._isHero, + ap: this._baseap, + extAp: this._exap, + harmReduce: this._exredhurt, + skills: this._selfskills, + extSkills: this._exskills + }); + return obj; + }; } diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 280d2bc..ac11234 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -82,18 +82,20 @@ export class PlayerHandler { return false; } - if(cfg.typeId == EffectCardType.NPC){ + if(cfg.type_id == EffectCardType.NPC){ let pet = this.newPet(); if(!pet){ return false; } - pet.setParam({id: cfg.eff1Id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid: - [cfg.eff2Id, cfg.eff3Id, cfg.eff4Id, cfg.eff5Id]}); + pet.setParam({id: cfg.stageunit_id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid: + [cfg.quoteskill1id, cfg.quoteskill2id, cfg.quoteskill3id, cfg.quoteskill4id]}); //todo: build pet init json -> client + this._owner._room.bAddPet(pet.exportData()); + pet.born(obj); - }else if(cfg.typeId == EffectCardType.MAGIC){ + }else if(cfg.type_id == EffectCardType.MAGIC){ } };