From a9755129f23be938751ef342e4299f91767a9117 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 4 Sep 2024 19:32:46 +0200 Subject: [PATCH] TriggerFullyUnlock: Trigger used for Eerie (#6052) --- .../game/trigger/TriggerFullyUnlock.java | 41 +++++++++++++++++++ .../java/forge/game/trigger/TriggerType.java | 1 + 2 files changed, 42 insertions(+) create mode 100644 forge-game/src/main/java/forge/game/trigger/TriggerFullyUnlock.java diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFullyUnlock.java b/forge-game/src/main/java/forge/game/trigger/TriggerFullyUnlock.java new file mode 100644 index 00000000000..c81b2846b66 --- /dev/null +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFullyUnlock.java @@ -0,0 +1,41 @@ +package forge.game.trigger; + +import java.util.Map; + +import forge.game.ability.AbilityKey; +import forge.game.card.Card; +import forge.game.spellability.SpellAbility; +import forge.util.Localizer; + +public class TriggerFullyUnlock extends Trigger { + + public TriggerFullyUnlock(final Map params, final Card host, final boolean intrinsic) { + super(params, host, intrinsic); + } + + @Override + public boolean performTest(Map runParams) { + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; + } + + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + return true; + } + + @Override + public void setTriggeringObjects(SpellAbility sa, Map runParams) { + sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player); + } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append(Localizer.getInstance().getMessage("lblPlayer")).append(": ").append(sa.getTriggeringObject(AbilityKey.Player)); + sb.append(", ").append(Localizer.getInstance().getMessage("lblCard")).append(": ").append(sa.getTriggeringObject(AbilityKey.Card)); + return sb.toString(); + } + +} diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerType.java b/forge-game/src/main/java/forge/game/trigger/TriggerType.java index f7e2c5a17dc..f97dd52fef8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerType.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerType.java @@ -85,6 +85,7 @@ public enum TriggerType { FlippedCoin(TriggerFlippedCoin.class), Forage(TriggerForage.class), Foretell(TriggerForetell.class), + FullyUnlock(TriggerFullyUnlock.class), GiveGift(TriggerGiveGift.class), Immediate(TriggerImmediate.class), Investigated(TriggerInvestigated.class),