From 6c5336ba02f2b2f535c7b02000b859ae10ebc090 Mon Sep 17 00:00:00 2001 From: zhl Date: Mon, 7 Dec 2020 09:51:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?pet=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5isHe?= =?UTF-8?q?ro,=20=E7=94=A8=E4=BA=8E=E5=8C=BA=E5=88=86=E6=99=AE=E9=80=9Apet?= =?UTF-8?q?=E5=92=8C=E8=8B=B1=E9=9B=84pet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/MSender.ts | 4 +++- src/rooms/commands/PartResultCommand.ts | 16 ++++++++-------- src/rooms/schema/Pet.ts | 3 +++ src/rooms/schema/Player.ts | 5 ++++- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/rooms/MSender.ts b/src/rooms/MSender.ts index d021182..b761cb3 100644 --- a/src/rooms/MSender.ts +++ b/src/rooms/MSender.ts @@ -2,6 +2,7 @@ import {Client, Room} from "colyseus"; import {IMsg} from "../message/IMsg"; import {PetInfoMsg} from "../message/PetInfo"; import {SkillInfoMsg} from "../message/SkillInfo"; +import {Pet} from "./schema/Pet"; /** * 一些封装了的下发消息的方法 @@ -46,12 +47,13 @@ Object.defineProperties(Room.prototype, { let obj = data.data; let pid = obj.player; let player = this.state.players.get(pid); - let pet = player.pets.get(obj.pos + ''); + let pet = new Pet(); pet.id = obj.id; pet.ap = obj.ap; pet.extAp = obj.extAp; pet.harmReduce = obj.harmReduce; pet.skills.length = 0; + player.pets.set(obj.pos + '', pet); if (obj.skills) { for (let s of obj.skills) { pet.skills.push(s); diff --git a/src/rooms/commands/PartResultCommand.ts b/src/rooms/commands/PartResultCommand.ts index 8d8bc21..e451125 100644 --- a/src/rooms/commands/PartResultCommand.ts +++ b/src/rooms/commands/PartResultCommand.ts @@ -24,7 +24,7 @@ export enum CompareEnum { DRAW = 5 } -const comparePlayer = function (p0: Player, p1: Player): CompareEnum { +const comparePlayer = function (p0: Player, p1: Player): {} { let s0 = gameUtil.calcTotalAp(p0); let s1 = gameUtil.calcTotalAp(p1); if (p0.state == PlayerStateConst.PLAYER_DEAD) { @@ -64,18 +64,18 @@ export class PartResultCommand extends Command { execute() { this.state.gameState = GameStateConst.STATE_ROUND_RESULT; const time = singleton(GameEnv).resultShowTime || 1; - // let team0 = []; - // let team1 = []; + + let t0 = []; + // let t1 = []; // for (let [sessionId, player] of this.state.players) { - // let score = gameUtil.calcTotalAp(player); // if (player.team == 0) { - // team0.push(score); + // t0.push(player); // } else { - // team1.unshift(score); + // t1.unshift(player); // } // } - // let r0 = comparePlayer(team0[0], team1[0]); - // let r1 = comparePlayer(team0[1], team1[1]); + // let r0 = comparePlayer(t0[0], t1[0]); + // let r1 = comparePlayer(t0[1], t1[1]); diff --git a/src/rooms/schema/Pet.ts b/src/rooms/schema/Pet.ts index 1b3db5e..9d43293 100644 --- a/src/rooms/schema/Pet.ts +++ b/src/rooms/schema/Pet.ts @@ -21,6 +21,9 @@ export class Pet extends Schema { @type(["number"]) extSkills = new ArraySchema() + @type("boolean") + isHero:boolean = false; + constructor() { super(); diff --git a/src/rooms/schema/Player.ts b/src/rooms/schema/Player.ts index ba2ef10..f1dcd2c 100644 --- a/src/rooms/schema/Player.ts +++ b/src/rooms/schema/Player.ts @@ -57,7 +57,10 @@ export class Player extends Schema { this.heroId = heroId; this.team = team; for (let i = 0; i < singleton(GameEnv).maxPlayerPetCount + 1; i++) { - this.pets.set(i+'', new Pet()); + let pet = new Pet(); + pet.isHero = i === 0; + this.pets.set(i+'', pet); + } } } From 5443d0a307506a91fb5eb711c464bfffc11cde1a Mon Sep 17 00:00:00 2001 From: zhl Date: Mon, 7 Dec 2020 10:49:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8A=80=E8=83=BD=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0result=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/message/SkillInfo.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/message/SkillInfo.ts b/src/message/SkillInfo.ts index 6430c89..4f2ae08 100644 --- a/src/message/SkillInfo.ts +++ b/src/message/SkillInfo.ts @@ -22,6 +22,10 @@ export class SKillEffectData { * 效果值 */ val: number; + /** + * 0: 成功 + */ + result: number; } export class SkillInfoData {