From 92841345c7eaaa953ebb68bd360f4ce1890ecccb Mon Sep 17 00:00:00 2001 From: zhl Date: Tue, 29 Dec 2020 11:56:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E5=A2=9E=E5=8A=A0,=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8D=A1=E7=89=8C=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/Debug.ts | 2 + src/rooms/commands/DiscardCommand.ts | 3 +- src/rooms/commands/EatConfirmCommand.ts | 4 +- src/utils/game.util.ts | 71 +++++++++++++++---------- 4 files changed, 47 insertions(+), 33 deletions(-) diff --git a/src/common/Debug.ts b/src/common/Debug.ts index ac0944d..095aba5 100644 --- a/src/common/Debug.ts +++ b/src/common/Debug.ts @@ -10,5 +10,7 @@ export const robotLog = debug('jc:robot'); export const assistLog = debug('jc:assist'); +export const cardLog = debug('jc:card'); + export const error = debug('jc:error'); error.log = console.error.bind(console); diff --git a/src/rooms/commands/DiscardCommand.ts b/src/rooms/commands/DiscardCommand.ts index 1bdfd38..c7e81fe 100644 --- a/src/rooms/commands/DiscardCommand.ts +++ b/src/rooms/commands/DiscardCommand.ts @@ -65,8 +65,7 @@ export class DiscardCommand extends Command [o.id, o.effect, o.type])}`) + }, + /** + * 往玩家的卡组里添加卡 + * @param room + * @param player + * @param cards + * @param fromplayer + */ + addCardToPlayer(room: Room, player: Player, cards: Card[], fromplayer?: Player) { + this.pushInPlayerCards(player, cards); player.countTotal += cards.length; room.battleMan.onCardGetted(player, cards, fromplayer); }, @@ -233,21 +250,17 @@ let gameUtil = { changeCard(cardArr: Card[], player: Player, targetCards: Card[]): Card[] { const effectMap = global.$cfg.get(BaseConst.EFFECTCARD); let cards: Card[] = []; + let tmpCards: Card[] = []; for (let card of targetCards) { - player.cards.delete(card.id + ''); - player.cardSet.delete(card.id + ''); + tmpCards.push(card.clone()); } - cardArr.randomInsert(targetCards); + this.deleteCardFromPlayer(player, targetCards); + cardArr.randomInsert(tmpCards); let count = targetCards.length; for (let i = 0; i < count; i++) { - let card = cardArr.pop(); - if (card.type == CardType.variable_unit && effectMap.get(card.effect).type_id == EffectType.variable_unit) { - card.effect = this.getRandomServant(player); - } - cards.push(card); - player.cards.set(card.id + '', card); - player.cardSet.add(card.id + ''); + cards.push(cardArr.pop()); } + this.pushInPlayerCards(player, cards); return cards; }, /**