From d852c17dd175b1561e9946c04d1b6e70279103ad Mon Sep 17 00:00:00 2001 From: Ematerasu Date: Fri, 23 May 2025 17:39:53 +0200 Subject: [PATCH] Add agents to patron choices --- Engine/src/Patrons/Hlaalu.cs | 13 +++++++++++-- Engine/src/Patrons/Treasury.cs | 10 ++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/Engine/src/Patrons/Hlaalu.cs b/Engine/src/Patrons/Hlaalu.cs index f7c7820..7bb20b9 100644 --- a/Engine/src/Patrons/Hlaalu.cs +++ b/Engine/src/Patrons/Hlaalu.cs @@ -30,7 +30,11 @@ public override (PlayResult, IEnumerable) PatronActivation(Play else if (FavoredPlayer == enemy.ID) FavoredPlayer = PlayerEnum.NO_PLAYER_SELECTED; - var cardsInPlay = activator.Hand.Concat(activator.Played).Where(c => c.Cost >= 1).ToList(); + var cardsInPlay = activator.Hand + .Concat(activator.Played) + .Concat(activator.AgentCards) + .Where(c => c.Cost >= 1) + .ToList(); return (new Choice(cardsInPlay, ChoiceFollowUp.COMPLETE_HLAALU, new ChoiceContext(PatronID), 1, 1), new List()); @@ -50,7 +54,12 @@ public override List GetStarterCards() public override bool CanPatronBeActivated(Player activator, Player enemy) { - return activator.Hand.Concat(activator.Played).ToList().FindAll(card => card.Cost >= 1).Any(); + return activator.Hand + .Concat(activator.Played) + .Concat(activator.AgentCards) + .ToList() + .FindAll(card => card.Cost >= 1) + .Any(); } } } diff --git a/Engine/src/Patrons/Treasury.cs b/Engine/src/Patrons/Treasury.cs index a254100..82b5746 100644 --- a/Engine/src/Patrons/Treasury.cs +++ b/Engine/src/Patrons/Treasury.cs @@ -13,7 +13,10 @@ public override (PlayResult, IEnumerable) PatronActivation(Play } activator.CoinsAmount -= 2; - var inPlayCards = activator.Played.Concat(activator.Hand).ToList(); + var inPlayCards = activator.Played + .Concat(activator.Hand) + .Concat(activator.AgentCards) + .ToList(); return (new Choice(inPlayCards, ChoiceFollowUp.COMPLETE_TREASURY, @@ -46,7 +49,10 @@ public override List GetStarterCards() public override bool CanPatronBeActivated(Player activator, Player enemy) { - List inPlayCards = activator.Played.Concat(activator.Hand).ToList(); + List inPlayCards = activator.Played + .Concat(activator.Hand) + .Concat(activator.AgentCards) + .ToList(); return activator.CoinsAmount >= 2 && inPlayCards.Any(); } }