吃牌成功后,广播吃牌成功消息, 并增加被吃的玩家的id

This commit is contained in:
zhl 2021-02-22 11:09:56 +08:00
parent 1dd88339c1
commit cc15c95ca3

View File

@ -48,6 +48,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
this.room.send(client,'discard_card_s2c', {errcode: 3, errmsg: '不是当前轮'});
return;
}
let targetCard
if (target) {
if (this.state.cards.size > 1) {
this.room.send(client,'discard_card_s2c', {errcode: 6, errmsg: '不符合吃牌规则'});
@ -57,7 +58,7 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
this.room.send(client,'discard_card_s2c', {errcode: 5, errmsg: '找不到要吃的牌'});
return;
}
let targetCard = this.state.cards.values().next().value.clone()
targetCard = this.state.cards.values().next().value.clone()
let targetPlayer = this.state.players.get(targetCard.owner)
targetPlayer?.cardQueue.clear()
tmpCards.push(targetCard)
@ -108,9 +109,14 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
return [new Wait().setPayload(new GameEnv().emptyRoundTime), new TurnEndCommand()];
} else {
let cardArr: Card[] = [...this.state.cards.values()];
let cardids = cardArr.map(o => o.id)
let self = this;
this.room.send(client,'eat_card_s2c', {player: player.id, errcode: 0, errmsg: '', cards: cards});
let cardMsg: any = {player: player.id, errcode: 0, errmsg: ''}
if (targetCard) {
cardMsg.target = targetCard.owner
}
this.room.broadcast('eat_card_s2c', cardMsg, {except: client});
cardMsg.cards = cards;
this.room.send(client,'eat_card_s2c', cardMsg);
let delay = this.room.battleMan.onCardLinkOver(player, cardArr);
player.statData.inc(StateTypeEnum.EATCOUNT, 1);
await this.delay(delay);