mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
SetStateEffect.resolve run TriggerSpecializes
This commit is contained in:
@@ -4,12 +4,15 @@ import forge.card.CardStateName;
|
|||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameEntityCounterTable;
|
import forge.game.GameEntityCounterTable;
|
||||||
import forge.game.GameLogEntryType;
|
import forge.game.GameLogEntryType;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.card.*;
|
import forge.game.card.*;
|
||||||
import forge.game.event.GameEventCardStatsChanged;
|
import forge.game.event.GameEventCardStatsChanged;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerActionConfirmMode;
|
import forge.game.player.PlayerActionConfirmMode;
|
||||||
|
import forge.game.trigger.TriggerHandler;
|
||||||
|
import forge.game.trigger.TriggerType;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.util.Lang;
|
import forge.util.Lang;
|
||||||
@@ -17,6 +20,8 @@ import forge.util.Localizer;
|
|||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class SetStateEffect extends SpellAbilityEffect {
|
public class SetStateEffect extends SpellAbilityEffect {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -207,6 +212,12 @@ public class SetStateEffect extends SpellAbilityEffect {
|
|||||||
transformedCards.add(gameCard);
|
transformedCards.add(gameCard);
|
||||||
if ("Specialize".equals(mode)) {
|
if ("Specialize".equals(mode)) {
|
||||||
gameCard.setSpecialized(true);
|
gameCard.setSpecialized(true);
|
||||||
|
//run Specializes trigger
|
||||||
|
final TriggerHandler th = game.getTriggerHandler();
|
||||||
|
th.clearActiveTriggers(gameCard, null);
|
||||||
|
th.registerActiveTrigger(gameCard, false);
|
||||||
|
final Map<AbilityKey, Object> runParams = AbilityKey.mapFromCard(gameCard);
|
||||||
|
th.runTrigger(TriggerType.Specializes, runParams, false);
|
||||||
} else if ("Unspecialize".equals(mode)) {
|
} else if ("Unspecialize".equals(mode)) {
|
||||||
gameCard.setSpecialized(false);
|
gameCard.setSpecialized(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user