尝试修正$changes为null的问题

This commit is contained in:
zhl 2020-12-24 16:19:10 +08:00
parent 5d392a0fdb
commit a06f9b08c7

View File

@ -38,7 +38,9 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
} }
let tmpCards = []; let tmpCards = [];
for (let id of cards) { for (let id of cards) {
tmpCards.push(player.cards.get(id + '')); if (player.cards.has(id + '')) {
tmpCards.push(player.cards.get(id + ''));
}
} }
if (!gameUtil.checkDiscard(tmpCards, new GameEnv().selfEatCount)) { if (!gameUtil.checkDiscard(tmpCards, new GameEnv().selfEatCount)) {
this.room.send(client,'discard_card_s2c', {errcode: 4, errmsg: '出牌不符合规则'}); this.room.send(client,'discard_card_s2c', {errcode: 4, errmsg: '出牌不符合规则'});
@ -55,11 +57,11 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
let newCount = player.extraTime - Math.min(count, 0); let newCount = player.extraTime - Math.min(count, 0);
player.extraTime = Math.max(newCount, 0); player.extraTime = Math.max(newCount, 0);
} }
for (let id of cards) { for (let card of tmpCards) {
this.state.cards.set(id+'', player.cards.get(id + '')); this.state.cards.set(card.id + '', card);
player.cardQueue.push(player.cards.get(id + '')); player.cardQueue.push(card);
player.cards.delete(id + ''); player.cards.delete(card.id + '');
player.cardSet.delete(id + ''); player.cardSet.delete(card.id + '');
} }
/** /**
* , * ,
@ -90,13 +92,6 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
self.room.dispatcher.dispatch(new TurnEndCommand()); self.room.dispatcher.dispatch(new TurnEndCommand());
} }
this.room.beginSchedule(time, timeOverSelectPet, `select_pet`); this.room.beginSchedule(time, timeOverSelectPet, `select_pet`);
// this.room.mainClock = this.clock.setTimeout(function (){
// player.extraTime = 0;
// self.room.mainClock.clear();
// debugRoom('选随从或者法术时间到, 自动出牌, 自动进入下一轮');
// self.room.dispatcher.dispatch(new TurnEndCommand());
// }.bind(this), time);
// return [new NextTurnCommand()];
} }
} }
} }