diff --git a/server/game/Constants/Factions.js b/server/game/Constants/Factions.js index ca2d9b6af..472f4d501 100644 --- a/server/game/Constants/Factions.js +++ b/server/game/Constants/Factions.js @@ -4,7 +4,8 @@ const Factions = { Anarchists: 'anarchists', FirstPeoples: '1stpeoples', Entrepreneurs: 'entrepreneurs', - Fearmongers: 'fearmongers' + Fearmongers: 'fearmongers', + Drifters: 'neutral' }; module.exports = Factions; diff --git a/server/game/cards/17-DofB/CoinneachKenCarn.js b/server/game/cards/17-DofB/CoinneachKenCarn.js index ac502566c..29dcba2e2 100644 --- a/server/game/cards/17-DofB/CoinneachKenCarn.js +++ b/server/game/cards/17-DofB/CoinneachKenCarn.js @@ -1,3 +1,4 @@ +const Factions = require('../../Constants/Factions.js'); const DudeCard = require('../../dudecard.js'); /** @typedef {import('../../AbilityDsl')} AbilityDsl */ @@ -17,11 +18,14 @@ class CoinneachKenCarn extends DudeCard { const dudes = this.controller.cardsInPlay.filter(card => card.getType() === 'dude'); const factions = []; dudes.forEach(dude => { - if(!factions.includes(dude.gang_code[0])) { + if(dude.gang_code[0] !== Factions.Drifters && !factions.includes(dude.gang_code[0])) { factions.push(dude.gang_code[0]); } }); - const multiFactionDudes = dudes.filter(dude => dude.gang_code.length > 1); + const multiFactionDudes = dudes.filter(dude => { + const dudeMultiFactions = dude.gang_code.filter(code => code !== Factions.Drifters); + return dudeMultiFactions > 1; + }); let remainingMultiFactions = []; for(const dude of multiFactionDudes) { const dudeFactions = dude.gang_code.filter(code => !factions.includes(code)); diff --git a/server/game/gamesteps/nightfall/discardprompt.js b/server/game/gamesteps/nightfall/discardprompt.js index 16275a94b..a8bfca797 100644 --- a/server/game/gamesteps/nightfall/discardprompt.js +++ b/server/game/gamesteps/nightfall/discardprompt.js @@ -1,11 +1,6 @@ const PlayerOrderPrompt = require('../playerorderprompt.js'); class DiscardPrompt extends PlayerOrderPrompt { - constructor(game) { - super(game); - this.selectedCards = []; - } - continue() { if(!this.isComplete()) { if(this.currentPlayer.discardAllDuringNightfall()) { @@ -56,7 +51,7 @@ class DiscardPrompt extends PlayerOrderPrompt { } noDiscard(player) { - this.game.addMessage('{0} does not discard any card as part of Nightfall', player); + this.game.queueSimpleStep(() => this.game.addMessage('{0} does not discard any card as part of Nightfall', player)); this.completePlayer(); } }