From 744d0df50b8233ffead363f0909abe9367a192c8 Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 3 Dec 2020 21:08:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B7=91=E9=80=9A=E4=B8=8B=E9=9A=8F?= =?UTF-8?q?=E4=BB=8E=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/GeneralRoom.ts | 2 +- src/rooms/commands/SelectPetCommand.ts | 21 ++++++++++++--------- src/rooms/logic/Handler/BattleHandler.ts | 2 +- src/rooms/logic/Handler/PetHandler.ts | 6 +++--- src/rooms/logic/Handler/PlayerHandler.ts | 13 ++++++------- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/rooms/GeneralRoom.ts b/src/rooms/GeneralRoom.ts index 201ee9f..4115089 100644 --- a/src/rooms/GeneralRoom.ts +++ b/src/rooms/GeneralRoom.ts @@ -49,7 +49,7 @@ export class GeneralRoom extends Room { this.onMessage("select_pet_c2s", (client, message) => { console.log('select_pet from ', client.sessionId, message); - this.dispatcher.dispatch(new SelectPetCommand(), {client, cardId: message.cardId, playerId: message.player, pos: message.pos, effCards: message.effCards }); + this.dispatcher.dispatch(new SelectPetCommand(), {client, cardId: message.card, playerId: message.player, pos: message.pos, effCards: message.effCards }); }); this.onMessage("select_hero_c2s", (client, message) => { diff --git a/src/rooms/commands/SelectPetCommand.ts b/src/rooms/commands/SelectPetCommand.ts index d30f86c..79cec39 100644 --- a/src/rooms/commands/SelectPetCommand.ts +++ b/src/rooms/commands/SelectPetCommand.ts @@ -14,7 +14,7 @@ export class SelectPetCommand extends Command { execute({client, cardId, playerId, pos, effCards} = this.payload) { let sessionId = this.state.currentTurn; @@ -22,27 +22,30 @@ export class SelectPetCommand extends Command 2) { moreAp += 10; } - } - for (let [key, pet] of player.pets) { - if (pet.ap == 0 ) { - pet.ap = ap + moreAp; - break; + if (card.id == cardId) { + targetCard = card; } } + if (!targetCard) { + return; + } + let eff_cnt = effCards.length; + let dstplayer = this.state.players.get(playerId); let dstpet; if (pos != undefined) { dstpet = dstplayer.pets.get(pos+''); } - let cardpoint = 10; - let eff_cnt = effCards.length; - let data = {srcplayer: player, card: cardId, cardpoint, eff_cnt, dstplayer, dstpet} + let cardpoint = moreAp; + + let data = {srcplayer: player, card: targetCard.effect, cardpoint, eff_cnt, dstplayer, dstpet} this.room.battleMan.useCard(data); return [new TurnEndCommand()]; diff --git a/src/rooms/logic/Handler/BattleHandler.ts b/src/rooms/logic/Handler/BattleHandler.ts index 95aef5a..f693329 100644 --- a/src/rooms/logic/Handler/BattleHandler.ts +++ b/src/rooms/logic/Handler/BattleHandler.ts @@ -52,7 +52,7 @@ export class BattleHandler { public useCard(obj: {srcplayer: Player, card: number, cardpoint: number, eff_cnt: number, dstplayer: Player, dstpet: Pet}) { - if(!obj || obj.card){ + if(!obj || !obj.card){ return false; } diff --git a/src/rooms/logic/Handler/PetHandler.ts b/src/rooms/logic/Handler/PetHandler.ts index b6301ba..af67b23 100644 --- a/src/rooms/logic/Handler/PetHandler.ts +++ b/src/rooms/logic/Handler/PetHandler.ts @@ -16,9 +16,9 @@ export class PetHandler { _cfg: UnitCfg; _skills: Map = new Map(); - _bornSkills: Skill[]; - _dieSkills: Skill[]; - _halos: Skill[]; + _bornSkills: Skill[] = []; + _dieSkills: Skill[] = []; + _halos: Skill[] = []; _baseap: number; // 基础 diff --git a/src/rooms/logic/Handler/PlayerHandler.ts b/src/rooms/logic/Handler/PlayerHandler.ts index ac11234..94f9f35 100644 --- a/src/rooms/logic/Handler/PlayerHandler.ts +++ b/src/rooms/logic/Handler/PlayerHandler.ts @@ -19,11 +19,11 @@ export class PlayerHandler { public _unitcfg: UnitCfg; - public _pets: PetHandler[]; + public _pets: PetHandler[] = []; - public _skills: Skill[]; + public _skills: Skill[] = []; - public _exskills: Skill[]; + public _exskills: Skill[] = []; private _owner: BattleHandler; @@ -52,8 +52,7 @@ export class PlayerHandler { public newPet(): PetHandler { let res = null; let pr = null; - for(let key in this._player.pets){ - let obj = this._player.pets.get(key); + for(let [key, obj] of this._player.pets){ if(obj.ap == 0){ res = obj; break; @@ -87,7 +86,7 @@ export class PlayerHandler { if(!pet){ return false; } - pet.setParam({id: cfg.stageunit_id, ap:obj.cardpoint, effcnt: obj.eff_cnt, exskillid: + 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 @@ -115,7 +114,7 @@ export class PlayerHandler { obj.checkHalo(apet); } apet.checkHalo(obj); - }); + }); }; public setFriend(aplayer: PlayerHandler){ From f4ca2d46c2a27f4c3fe9c4dc18ace8b3ce5be63c Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 3 Dec 2020 21:10:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8D=A1=E7=BB=84=E5=A4=B1=E8=B4=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/commands/SelectPetCommand.ts | 2 +- src/utils/game.util.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rooms/commands/SelectPetCommand.ts b/src/rooms/commands/SelectPetCommand.ts index 79cec39..b0ae9ca 100644 --- a/src/rooms/commands/SelectPetCommand.ts +++ b/src/rooms/commands/SelectPetCommand.ts @@ -44,7 +44,7 @@ export class SelectPetCommand extends Command = new Map(); let localId = 1; for (let [id, cfg] of numCfgMap) { - for (let i = 0; i < cfg.count; i++) { + for (let i = 0; i <= cfg.count; i++) { if (cfg.type_id == 1) { let effid = this.getRandomEffect(cfg.weightArr, effCfgMap, countMap); let card = new Card(localId ++, cfg.point, cfg.type_id, effid); From 6f9082c3b2df29e30554288cd777016d869d715e Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 3 Dec 2020 21:11:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0useCard=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/commands/SelectPetCommand.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rooms/commands/SelectPetCommand.ts b/src/rooms/commands/SelectPetCommand.ts index b0ae9ca..b2811a9 100644 --- a/src/rooms/commands/SelectPetCommand.ts +++ b/src/rooms/commands/SelectPetCommand.ts @@ -45,7 +45,7 @@ export class SelectPetCommand extends Command