From 0fc3ff817cf4691a521df0b35a8d60cbb7cb947c Mon Sep 17 00:00:00 2001 From: joffrey-bion Date: Sun, 29 Nov 2020 20:41:21 +0100 Subject: Allow the COPY_GUILD ability to yield 0 points If the neighbours don't have guild cards, we can't copy them, so it's normal not to have one. --- .../kotlin/org/luxons/sevenwonders/engine/effects/SpecialAbility.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'sw-engine/src/main') diff --git a/sw-engine/src/main/kotlin/org/luxons/sevenwonders/engine/effects/SpecialAbility.kt b/sw-engine/src/main/kotlin/org/luxons/sevenwonders/engine/effects/SpecialAbility.kt index dfc69a41..82c23a72 100644 --- a/sw-engine/src/main/kotlin/org/luxons/sevenwonders/engine/effects/SpecialAbility.kt +++ b/sw-engine/src/main/kotlin/org/luxons/sevenwonders/engine/effects/SpecialAbility.kt @@ -27,9 +27,8 @@ enum class SpecialAbility { */ COPY_GUILD { override fun computePoints(player: Player): Int { - val copiedGuild = player.board.copiedGuild - ?: throw IllegalStateException("The copied Guild has not been chosen, cannot compute points") - return copiedGuild.effects.sumBy { it.computePoints(player) } + // there can be no copiedGuild if no neighbour had any guild cards + return player.board.copiedGuild?.effects?.sumBy { it.computePoints(player) } ?: 0 } }; -- cgit