diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index 98988e5..2ec183c 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -759,6 +759,20 @@ export class BattleHandler { return ph? ph.getTransEffCardRate(): 0; }; + /** + * 下随从 + * @param aplayer: Player对象 + * @param cardid: effectcard内的id(只能是随从卡) + */ + public addPet(aplayer: Player, cardid: number): PetHandler{ + let ph = this.getPlayer(aplayer); + if(!ph){ + return null; + } + + return ph.addPet(cardid); + }; + /** * 替换随从操作 * @param playerid diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index 813acfd..80734df 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -177,6 +177,33 @@ export class PlayerHandler { return dst; }; + public addPet(cardid: number): PetHandler{ + let cfg = CfgMan.findEffCardCfg(cardid); + if(!cfg){ + return null; + } + let lst = []; + cfg.quoteskill1id && lst.push(cfg.quoteskill1id); + cfg.quoteskill2id && lst.push(cfg.quoteskill2id); + cfg.quoteskill3id && lst.push(cfg.quoteskill3id); + cfg.quoteskill4id && lst.push(cfg.quoteskill4id); + + if(cfg.type_id == EffectCardType.NPC || cfg.type_id == EffectCardType.NPC_CUSTOM){ + let exap = 0; + + let pet = this.newPet(); + if(!pet){ + return null; + } + + pet.loadData(cfg.stageunit_id, null, lst, exap); + + return pet; + } + + return null; + }; + public useCard(obj: SkillParam, oldpos?: number) { let cfg = CfgMan.findEffCardCfg(obj.cardid);