吃牌后删除目标玩家的出牌队列

This commit is contained in:
zhl 2021-02-20 17:37:35 +08:00
parent cc48656536
commit 1dd88339c1
4 changed files with 9 additions and 3 deletions

View File

@ -133,7 +133,7 @@ Object.defineProperties(Room.prototype, {
sourceP.statData.inc(StateTypeEnum.DMG, Math.min(-hp, player.hp));
player.statData.inc(StateTypeEnum.TDMG, Math.min(-hp, player.hp));
}
debugRoom(`更新血量: ${player.id} ${player.hp} -> ${hp}, reason: ${reason}`);
debugRoom(`更新血量: ${player.id} ${player.hp} -> ${hp}, reason: ${reason}, from: ${fromplayer}`);
if (dstHp <= 0) {
dstHp = 0;
this.dispatcher.dispatch(new PlayDeadCommand(), {player: player});

View File

@ -57,7 +57,10 @@ export class DiscardCommand extends Command<CardGameState, { client: Client, car
this.room.send(client,'discard_card_s2c', {errcode: 5, errmsg: '找不到要吃的牌'});
return;
}
tmpCards = tmpCards.concat(...this.state.cards.values())
let targetCard = this.state.cards.values().next().value.clone()
let targetPlayer = this.state.players.get(targetCard.owner)
targetPlayer?.cardQueue.clear()
tmpCards.push(targetCard)
if (!gameUtil.checkDiscard(tmpCards, new GameEnv().otherEatCount)) {
this.room.send(client,'discard_card_s2c', {errcode: 4, errmsg: '出牌不符合规则'});
return;

View File

@ -178,7 +178,9 @@ let assistantUtil = {
for (let card of cards) {
if (card.type == CardType.variable_unit) {
petCards.push(card);
if (dstPlayer.unitCfgs.has(card.effect + '')) {
petCards.push(card);
}
} else if (card.type == CardType.general) {
spellCards.push(card);
}

View File

@ -239,6 +239,7 @@ let gameUtil = {
if (card.type == CardType.variable_unit && effectMap.get(card.effect).type_id == EffectType.variable_unit) {
card.effect = this.getRandomServant(player);
}
card.owner = player.id
realCards.push(card)
player.cards.set(card.id + '', card);
player.cardSet.add(card.id + '');