From fcb567f3f54fbcf5d1e2fd2f50daae550c22a074 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 19 Aug 2022 11:31:38 -0400 Subject: [PATCH] SetStateEffect.resolve run TriggerSpecializes --- .../forge/game/ability/effects/SetStateEffect.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java index 3a67a401114..da458252bbb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java @@ -4,12 +4,15 @@ import forge.card.CardStateName; import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.GameLogEntryType; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.*; import forge.game.event.GameEventCardStatsChanged; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; +import forge.game.trigger.TriggerHandler; +import forge.game.trigger.TriggerType; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Lang; @@ -17,6 +20,8 @@ import forge.util.Localizer; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; +import java.util.Map; + public class SetStateEffect extends SpellAbilityEffect { @Override @@ -207,6 +212,12 @@ public class SetStateEffect extends SpellAbilityEffect { transformedCards.add(gameCard); if ("Specialize".equals(mode)) { gameCard.setSpecialized(true); + //run Specializes trigger + final TriggerHandler th = game.getTriggerHandler(); + th.clearActiveTriggers(gameCard, null); + th.registerActiveTrigger(gameCard, false); + final Map runParams = AbilityKey.mapFromCard(gameCard); + th.runTrigger(TriggerType.Specializes, runParams, false); } else if ("Unspecialize".equals(mode)) { gameCard.setSpecialized(false); }