diff --git a/src/rooms/commands/OnJoinCommand.ts b/src/rooms/commands/OnJoinCommand.ts index 0e54420..c338604 100644 --- a/src/rooms/commands/OnJoinCommand.ts +++ b/src/rooms/commands/OnJoinCommand.ts @@ -44,9 +44,10 @@ export class OnJoinCommand extends Command parseInt(o+'')) } else { const fc = global.$cfg.get(BaseConst.FORMULA); let low = (this.room.score * fc.get(70034).number / 100) | 0; diff --git a/src/rooms/commands/PlayReadyCommand.ts b/src/rooms/commands/PlayReadyCommand.ts index 6df7e3b..2ebf482 100644 --- a/src/rooms/commands/PlayReadyCommand.ts +++ b/src/rooms/commands/PlayReadyCommand.ts @@ -44,11 +44,17 @@ export class PlayReadyCommand extends Command = global.$cfg.get(BaseConst.HERO); - let heroArr: HeroCfg[] = [...heroMap.values()]; - let hero: HeroCfg = heroArr.randomOne(); + let heroId: number + if (curPlayer.heros) { + heroId = curPlayer.heros.randomOne() + } else { + let heroMap: Map = global.$cfg.get(BaseConst.HERO); + let heroArr: HeroCfg[] = [...heroMap.values()]; + let hero: HeroCfg = heroArr.randomOne(); + heroId = hero.id + } let targetClient = self.room.getClient(curPlayer); - self.room.dispatcher.dispatch(new SelectHeroCommand(), {client: targetClient, heroId: hero.id}); + self.room.dispatcher.dispatch(new SelectHeroCommand(), {client: targetClient, heroId}); } } } diff --git a/src/rooms/schema/Player.ts b/src/rooms/schema/Player.ts index 3356292..39ebd67 100644 --- a/src/rooms/schema/Player.ts +++ b/src/rooms/schema/Player.ts @@ -108,6 +108,8 @@ export class Player extends Schema { */ petData: Map = new Map(); + heros: number[]; + /** * 英雄绑定的卡组, 选好英雄后, 从默认配置或玩家卡组(待实现)中获取 * key = 效果卡id