From a1df3809d55de941b72edb9b352df121604b050e Mon Sep 17 00:00:00 2001 From: Goose Date: Fri, 20 Dec 2024 22:09:09 -0600 Subject: [PATCH] Elder Chamber --- .../Arkham/Location/Cards/ElderChamber.hs | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/backend/arkham-api/library/Arkham/Location/Cards/ElderChamber.hs b/backend/arkham-api/library/Arkham/Location/Cards/ElderChamber.hs index 904572255..795204f2f 100644 --- a/backend/arkham-api/library/Arkham/Location/Cards/ElderChamber.hs +++ b/backend/arkham-api/library/Arkham/Location/Cards/ElderChamber.hs @@ -1,7 +1,14 @@ module Arkham.Location.Cards.ElderChamber (elderChamber) where +import Arkham.Ability +import Arkham.Campaigns.EdgeOfTheEarth.Helpers +import Arkham.Card.CardDef import Arkham.Location.Cards qualified as Cards import Arkham.Location.Import.Lifted +import Arkham.Matcher +import Arkham.Scenario.Deck +import Arkham.Scenarios.FatalMirage.Helpers +import Arkham.Story.Cards qualified as Stories newtype ElderChamber = ElderChamber LocationAttrs deriving anyclass (IsLocation, HasModifiersFor) @@ -10,10 +17,22 @@ newtype ElderChamber = ElderChamber LocationAttrs elderChamber :: LocationCard ElderChamber elderChamber = location ElderChamber Cards.elderChamber 1 (PerPlayer 2) +mirageCards :: [CardDef] +mirageCards = [Cards.clutteredDormitory] + instance HasAbilities ElderChamber where - getAbilities (ElderChamber attrs) = - extendRevealed attrs [] + getAbilities (ElderChamber a) = + extendRevealed + a + [ mirage a 2 mirageCards + , restricted a 1 (ScenarioDeckWithCard TekeliliDeck) + $ forced + $ DiscoverClues #after You (be a) (atLeast 2) + ] instance RunMessage ElderChamber where - runMessage msg (ElderChamber attrs) = runQueueT $ case msg of - _ -> ElderChamber <$> liftRunMessage msg attrs + runMessage msg l@(ElderChamber attrs) = runQueueT $ case msg of + UseThisAbility iid (isSource attrs -> True) 1 -> do + addTekelili iid =<< getTekelili 1 + pure l + _ -> ElderChamber <$> mirageRunner Stories.elderChamber mirageCards msg attrs