diff --git a/forge-ai/src/main/java/forge/ai/GameState.java b/forge-ai/src/main/java/forge/ai/GameState.java index a7477639ce4..adc4756447c 100644 --- a/forge-ai/src/main/java/forge/ai/GameState.java +++ b/forge-ai/src/main/java/forge/ai/GameState.java @@ -25,6 +25,7 @@ import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; +import forge.game.trigger.TriggerKey; import forge.game.trigger.TriggerType; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; @@ -719,10 +720,10 @@ public abstract class GameState { for (final Card c : combat.getAttackers()) { attackedTarget.add(combat.getDefenderByAttacker(c)); } - final Map runParams = Maps.newHashMap(); - runParams.put("Attackers", combat.getAttackers()); - runParams.put("AttackingPlayer", combat.getAttackingPlayer()); - runParams.put("AttackedTarget", attackedTarget); + final Map runParams = Maps.newEnumMap(TriggerKey.class); + runParams.put(TriggerKey.Attackers, combat.getAttackers()); + runParams.put(TriggerKey.AttackingPlayer, combat.getAttackingPlayer()); + runParams.put(TriggerKey.AttackedTarget, attackedTarget); game.getTriggerHandler().runTrigger(TriggerType.AttackersDeclared, runParams, false); } diff --git a/forge-game/src/main/java/forge/game/Game.java b/forge-game/src/main/java/forge/game/Game.java index 4e58a1aba55..ef12e94ee98 100644 --- a/forge-game/src/main/java/forge/game/Game.java +++ b/forge-game/src/main/java/forge/game/Game.java @@ -715,7 +715,7 @@ public class Game { final Map runParams = new TreeMap(); runParams.put("Player", p); - getTriggerHandler().runTrigger(TriggerType.LosesGame, runParams, false); + getTriggerHandler().runTriggerOld(TriggerType.LosesGame, runParams, false); } /** diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 2b95afafab1..86d8bbf268f 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -411,7 +411,7 @@ public class GameAction { runParams.putAll(params); } - game.getTriggerHandler().runTrigger(TriggerType.ChangesZone, runParams, true); + game.getTriggerHandler().runTriggerOld(TriggerType.ChangesZone, runParams, true); if (zoneFrom != null && zoneFrom.is(ZoneType.Battlefield) && !zoneFrom.getPlayer().equals(zoneTo.getPlayer())) { final Map runParams2 = Maps.newHashMap(); runParams2.put("Card", lastKnownInfo); @@ -419,7 +419,7 @@ public class GameAction { if(params != null) { runParams2.putAll(params); } - game.getTriggerHandler().runTrigger(TriggerType.ChangesController, runParams2, false); + game.getTriggerHandler().runTriggerOld(TriggerType.ChangesController, runParams2, false); } // AllZone.getStack().chooseOrderOfSimultaneousStackEntryAll(); @@ -602,7 +602,7 @@ public class GameAction { final Map runParams = Maps.newHashMap(); runParams.put("Card", c); runParams.put("OriginalController", original); - game.getTriggerHandler().runTrigger(TriggerType.ChangesController, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.ChangesController, runParams, false); game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); for (Player p : game.getPlayers()) { @@ -717,7 +717,7 @@ public class GameAction { runParams.putAll(params); } - game.getTriggerHandler().runTrigger(TriggerType.Exiled, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Exiled, runParams, false); return copied; } @@ -909,9 +909,9 @@ public class GameAction { // in that case Always trigger should not Run if (preList.isEmpty()) { final Map runParams = Maps.newHashMap(); - game.getTriggerHandler().runTrigger(TriggerType.Always, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Always, runParams, false); - game.getTriggerHandler().runTrigger(TriggerType.Immediate, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Immediate, runParams, false); } // Update P/T and type in the view only once after all the cards have been processed, to avoid flickering @@ -1433,7 +1433,7 @@ public class GameAction { final Map runParams = Maps.newHashMap(); runParams.put("Card", c); runParams.put("Causer", activator); - game.getTriggerHandler().runTrigger(TriggerType.Destroyed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Destroyed, runParams, false); final Card sacrificed = sacrificeDestroy(c, sa, table); return sacrificed != null; @@ -1611,7 +1611,7 @@ public class GameAction { // Run Trigger beginning of the game final Map runParams = Maps.newHashMap(); - game.getTriggerHandler().runTrigger(TriggerType.NewGame, runParams, true); + game.getTriggerHandler().runTriggerOld(TriggerType.NewGame, runParams, true); // @@ -1776,7 +1776,7 @@ public class GameAction { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Player", p); - game.getTriggerHandler().runTrigger(TriggerType.BecomeMonarch, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.BecomeMonarch, runParams, false); } // Make scry an action function so that it can be used for mulligans (with a null cause) @@ -1838,7 +1838,7 @@ public class GameAction { // set up triggers (but not actually do them until later) final Map runParams = Maps.newHashMap(); runParams.put("Player", p); - game.getTriggerHandler().runTrigger(TriggerType.Scry, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Scry, runParams, false); } } } diff --git a/forge-game/src/main/java/forge/game/GameEntity.java b/forge-game/src/main/java/forge/game/GameEntity.java index 1e7ecd2d3f9..fb0969f3747 100644 --- a/forge-game/src/main/java/forge/game/GameEntity.java +++ b/forge-game/src/main/java/forge/game/GameEntity.java @@ -220,7 +220,7 @@ public abstract class GameEntity extends GameObject implements IIdentifiable { runParams.put("DamageSource", source); runParams.put("IsCombatDamage", isCombat); - getGame().getTriggerHandler().runTrigger(TriggerType.DamagePrevented, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.DamagePrevented, runParams, false); } return restDamage; diff --git a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java index 23035134714..2c563dc2ad5 100644 --- a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java +++ b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java @@ -49,7 +49,7 @@ public class GameEntityCounterTable extends ForwardingTable runParams = Maps.newHashMap(); runParams.put("Objects", this); - game.getTriggerHandler().runTrigger(TriggerType.CounterAddedAll, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.CounterAddedAll, runParams, false); } } } diff --git a/forge-game/src/main/java/forge/game/PlanarDice.java b/forge-game/src/main/java/forge/game/PlanarDice.java index 34d826b3494..b944b577fa3 100644 --- a/forge-game/src/main/java/forge/game/PlanarDice.java +++ b/forge-game/src/main/java/forge/game/PlanarDice.java @@ -39,7 +39,7 @@ public enum PlanarDice { HashMap runParams = new HashMap(); runParams.put("Player", roller); runParams.put("Result", trigRes); - roller.getGame().getTriggerHandler().runTrigger(TriggerType.PlanarDice, runParams,false); + roller.getGame().getTriggerHandler().runTriggerOld(TriggerType.PlanarDice, runParams,false); return res; diff --git a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java index fd476f789f3..d8b5a8da432 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java @@ -42,7 +42,7 @@ public class AbandonEffect extends SpellAbilityEffect { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Scheme", source); - game.getTriggerHandler().runTrigger(TriggerType.Abandoned, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Abandoned, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java index 92b882c2166..439d3a3427e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java @@ -46,7 +46,7 @@ public class BecomesBlockedEffect extends SpellAbilityEffect { runParams.put("NumBlockers", 0); runParams.put("Defender", game.getCombat().getDefenderByAttacker(c)); runParams.put("DefendingPlayer", game.getCombat().getDefenderPlayerByAttacker(c)); - game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerBlocked, runParams, false); } } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java index 5160b929da7..a4e588641fb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java @@ -56,12 +56,12 @@ public class BlockEffect extends SpellAbilityEffect { Map runParams = Maps.newHashMap(); runParams.put("Attacker", attacker); runParams.put("Blocker", blocker); - game.getTriggerHandler().runTrigger(TriggerType.AttackerBlockedByCreature, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerBlockedByCreature, runParams, false); runParams = Maps.newHashMap(); runParams.put("Blocker", blocker); runParams.put("Attackers", attacker); - game.getTriggerHandler().runTrigger(TriggerType.Blocks, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Blocks, runParams, false); } attacker.getDamageHistory().setCreatureGotBlockedThisCombat(true); @@ -72,7 +72,7 @@ public class BlockEffect extends SpellAbilityEffect { runParams.put("NumBlockers", blockers.size()); runParams.put("Defender", combat.getDefenderByAttacker(attacker)); runParams.put("DefendingPlayer", combat.getDefenderPlayerByAttacker(attacker)); - game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerBlocked, runParams, false); combat.orderBlockersForDamageAssignment(attacker, new CardCollection(blockers)); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index 7292fcc8325..f8e4cf98f94 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -82,7 +82,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("Player", sa.getActivatingPlayer()); runParams.put("Target", tgtPlayers); - game.getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.SearchedLibrary, runParams, false); } if (origin.contains(ZoneType.Hand) && sa.hasParam("Search")) { CardCollection handCards = CardLists.filterControlledBy(CardLists.getValidCards(cards, "Card.inZoneHand", sa.getActivatingPlayer(), source), diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 58220d302fb..ac572a74b85 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -833,7 +833,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("Player", decider); runParams.put("Target", Lists.newArrayList(player)); - decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); + decider.getGame().getTriggerHandler().runTriggerOld(TriggerType.SearchedLibrary, runParams, false); } if (!defined && changeType != null) { @@ -1136,7 +1136,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("Card", source); runParams.put("Championed", c); - game.getTriggerHandler().runTrigger(TriggerType.Championed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Championed, runParams, false); } if (remember) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java index 930f2b28477..4f30baccffe 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java @@ -53,7 +53,7 @@ public class ClashEffect extends SpellAbilityEffect { } - sa.getHostCard().getGame().getTriggerHandler().runTrigger(TriggerType.Clashed, runParams, false); + sa.getHostCard().getGame().getTriggerHandler().runTriggerOld(TriggerType.Clashed, runParams, false); } /** diff --git a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java index c72323f4776..d7982b87546 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java @@ -213,7 +213,7 @@ public class CounterEffect extends SpellAbilityEffect { runParams.put("Card", tgtSA.getHostCard()); runParams.put("Cause", srcSA.getHostCard()); runParams.put("CounteredSA", tgtSA); - game.getTriggerHandler().runTrigger(TriggerType.Countered, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Countered, runParams, false); if (!tgtSA.isAbility()) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index a16037a32ed..794c1d12794 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -262,27 +262,27 @@ public class CountersPutEffect extends SpellAbilityEffect { if (sa.hasParam("Evolve")) { final Map runParams = Maps.newHashMap(); runParams.put("Card", tgtCard); - game.getTriggerHandler().runTrigger(TriggerType.Evolved, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Evolved, runParams, false); } if (sa.hasParam("Monstrosity")) { tgtCard.setMonstrous(true); final Map runParams = Maps.newHashMap(); runParams.put("Card", tgtCard); runParams.put("MonstrosityAmount", counterAmount); - game.getTriggerHandler().runTrigger(TriggerType.BecomeMonstrous, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.BecomeMonstrous, runParams, false); } if (sa.hasParam("Renown")) { tgtCard.setRenowned(true); final Map runParams = Maps.newHashMap(); runParams.put("Card", tgtCard); - game.getTriggerHandler().runTrigger(TriggerType.BecomeRenowned, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.BecomeRenowned, runParams, false); } if (sa.hasParam("Adapt")) { // need to remove special keyword tgtCard.removeHiddenExtrinsicKeyword("CARDNAME adapts as though it had no +1/+1 counters"); final Map runParams = Maps.newHashMap(); runParams.put("Card", tgtCard); - game.getTriggerHandler().runTrigger(TriggerType.Adapt, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Adapt, runParams, false); } } else { // adding counters to something like re-suspend cards diff --git a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java index 0b01f6a1b25..84f3011eae5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java @@ -85,7 +85,7 @@ public class ExploreEffect extends SpellAbilityEffect { // a creature does explore even if it isn't on the battlefield anymore final Map runParams = Maps.newHashMap(); runParams.put("Card", c); - game.getTriggerHandler().runTrigger(TriggerType.Explores, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Explores, runParams, false); } table.triggerCountersPutAll(game); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java index 4029bfd4d12..06b158e7336 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java @@ -61,7 +61,7 @@ public class FightEffect extends DamageBaseEffect { for (Card c : fighters) { final Map runParams = Maps.newHashMap(); runParams.put("Fighter", c); - game.getTriggerHandler().runTrigger(TriggerType.Fight, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Fight, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java b/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java index 9724391b980..cc8c358ea06 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java @@ -212,7 +212,7 @@ public class FlipCoinEffect extends SpellAbilityEffect { Map runParams = Maps.newHashMap(); runParams.put("Player", caller); runParams.put("Result", Boolean.valueOf(wonFlip)); - caller.getGame().getTriggerHandler().runTrigger(TriggerType.FlippedCoin, runParams, false); + caller.getGame().getTriggerHandler().runTriggerOld(TriggerType.FlippedCoin, runParams, false); } while (sa.hasParam("FlipUntilYouLose") && wonFlip); if (sa.hasParam("FlipUntilYouLose") && sa.hasAdditionalAbility("LoseSubAbility")) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java index a770165c299..3ebc5ea63bb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java @@ -82,7 +82,7 @@ public class PlayLandVariantEffect extends SpellAbilityEffect { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Card", source); - game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.LandPlayed, runParams, false); game.getStack().unfreezeStack(); activator.addLandPlayedThisTurn(); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java index 5aec79f7b97..b152fdd062e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java @@ -47,7 +47,7 @@ public class RegenerationEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("Card", c); runParams.put("Cause", host); - game.getTriggerHandler().runTrigger(TriggerType.Regenerated, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Regenerated, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java index e0c5ac504af..369383598a1 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java @@ -81,7 +81,7 @@ public class RevealEffect extends SpellAbilityEffect { runParams.put("Miracle", true); } //*/ - game.getTriggerHandler().runTrigger(TriggerType.Revealed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Revealed, runParams, false); if (sa.hasParam("RememberRevealed")) { host.addRemembered(c); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index 607c18d793c..2cbcfa05210 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -39,7 +39,7 @@ public class SacrificeEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("EchoPaid", Boolean.valueOf(isPaid)); runParams.put("Card", card); - game.getTriggerHandler().runTrigger(TriggerType.PayEcho, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.PayEcho, runParams, false); if (isPaid || !card.getController().equals(activator)) { return; } @@ -69,7 +69,7 @@ public class SacrificeEffect extends SpellAbilityEffect { runParams.put("CumulativeUpkeepPaid", Boolean.valueOf(isPaid)); runParams.put("Card", card); runParams.put("PayingMana", StringUtils.join(sa.getPayingMana(), "")); - game.getTriggerHandler().runTrigger(TriggerType.PayCumulativeUpkeep, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.PayCumulativeUpkeep, runParams, false); if (isPaid || !card.getController().equals(activator)) { return; } @@ -149,14 +149,14 @@ public class SacrificeEffect extends SpellAbilityEffect { card.addDevoured(lKICopy); final Map runParams = Maps.newHashMap(); runParams.put("Devoured", sac); - game.getTriggerHandler().runTrigger(TriggerType.Devoured, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Devoured, runParams, false); } if (exploit) { card.addExploited(lKICopy); final Map runParams = Maps.newHashMap(); runParams.put("Exploited", lKICopy); runParams.put("Card", card); - game.getTriggerHandler().runTrigger(TriggerType.Exploited, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Exploited, runParams, false); } if (wasDestroyed || wasSacrificed) { countSacrificed++; diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java index de911c66f39..702e4851a2c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java @@ -48,7 +48,7 @@ public class SetInMotionEffect extends SpellAbilityEffect { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Scheme", controller.getActiveScheme()); - game.getTriggerHandler().runTrigger(TriggerType.SetInMotion, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.SetInMotion, runParams, false); } else { controller.setSchemeInMotion(); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java index 95e23fa199c..5c5e84e7c28 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java @@ -101,7 +101,7 @@ public class VoteEffect extends SpellAbilityEffect { final Map runParams = Maps.newHashMap(); runParams.put("AllVotes", votes); - game.getTriggerHandler().runTrigger(TriggerType.Vote, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Vote, runParams, false); List subAbs = Lists.newArrayList(); final List mostVotes = getMostVotes(votes); diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 8e08f99c1bb..8950f620844 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -571,7 +571,7 @@ public class Card extends GameEntity implements Comparable { getGame().getTriggerHandler().registerActiveTrigger(this, false); Map runParams = Maps.newHashMap(); runParams.put("Transformer", this); - getGame().getTriggerHandler().runTrigger(TriggerType.Transformed, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.Transformed, runParams, false); incrementTransformedTimestamp(); return result; @@ -691,7 +691,7 @@ public class Card extends GameEntity implements Comparable { getGame().getTriggerHandler().registerActiveTrigger(this, false); final Map runParams = Maps.newTreeMap(); runParams.put("Card", this); - getGame().getTriggerHandler().runTrigger(TriggerType.TurnFaceUp, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.TurnFaceUp, runParams, false); } return result; } @@ -1291,12 +1291,12 @@ public class Card extends GameEntity implements Comparable { runParams.put("CounterType", counterType); for (int i = 0; i < addAmount; i++) { runParams.put("CounterAmount", oldValue + i + 1); - getGame().getTriggerHandler().runTrigger( + getGame().getTriggerHandler().runTriggerOld( TriggerType.CounterAdded, Maps.newHashMap(runParams), false); } if (addAmount > 0) { runParams.put("CounterAmount", addAmount); - getGame().getTriggerHandler().runTrigger( + getGame().getTriggerHandler().runTriggerOld( TriggerType.CounterAddedOnce, Maps.newHashMap(runParams), false); } } else { @@ -1372,10 +1372,10 @@ public class Card extends GameEntity implements Comparable { runParams.put("CounterType", counterName); for (int i = 0; i < delta && curCounters != 0; i++) { runParams.put("NewCounterAmount", --curCounters); - getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemoved, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.CounterRemoved, runParams, false); } runParams.put("CounterAmount", delta); - getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemovedOnce, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.CounterRemovedOnce, runParams, false); } @Override @@ -2942,7 +2942,7 @@ public class Card extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("AttachSource", this); runParams.put("AttachTarget", entity); - getController().getGame().getTriggerHandler().runTrigger(TriggerType.Attached, runParams, false); + getController().getGame().getTriggerHandler().runTriggerOld(TriggerType.Attached, runParams, false); } @@ -2964,7 +2964,7 @@ public class Card extends GameEntity implements Comparable { final Map runParams = Maps.newTreeMap(); runParams.put("Attach", this); runParams.put("Object", entity); - getGame().getTriggerHandler().runTrigger(TriggerType.Unattach, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.Unattach, runParams, false); runUnattachCommands(); } @@ -3544,7 +3544,7 @@ public class Card extends GameEntity implements Comparable { final Map runParams = Maps.newTreeMap(); runParams.put("Card", this); runParams.put("Attacker", attacker); - getGame().getTriggerHandler().runTrigger(TriggerType.Taps, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.Taps, runParams, false); setTapped(true); getGame().fireEvent(new GameEventCardTapped(this, true)); @@ -3565,7 +3565,7 @@ public class Card extends GameEntity implements Comparable { // Run triggers final Map runParams = Maps.newTreeMap(); runParams.put("Card", this); - getGame().getTriggerHandler().runTrigger(TriggerType.Untaps, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.Untaps, runParams, false); for (final GameCommand var : untapCommandList) { var.run(); @@ -4130,7 +4130,7 @@ public class Card extends GameEntity implements Comparable { if (!isPhasedOut()) { // If this is currently PhasedIn, it's about to phase out. // Run trigger before it does because triggers don't work with phased out objects - getGame().getTriggerHandler().runTrigger(TriggerType.PhaseOut, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.PhaseOut, runParams, false); } setPhasedOut(!phasedOut); @@ -4142,7 +4142,7 @@ public class Card extends GameEntity implements Comparable { if (!phasedOut) { // Just phased in, time to run the phased in trigger getGame().getTriggerHandler().registerActiveTrigger(this, false); - getGame().getTriggerHandler().runTrigger(TriggerType.PhaseIn, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.PhaseIn, runParams, false); } return true; @@ -4935,7 +4935,7 @@ public class Card extends GameEntity implements Comparable { } // Defending player at the time the damage was dealt runParams.put("DefendingPlayer", game.getCombat() != null ? game.getCombat().getDefendingPlayerRelatedTo(source) : null); - getGame().getTriggerHandler().runTrigger(TriggerType.DamageDone, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.DamageDone, runParams, false); GameEventCardDamaged.DamageType damageType = DamageType.Normal; if (isPlaneswalker()) { @@ -5036,7 +5036,7 @@ public class Card extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("Card", this); runParams.put("Player", getController()); - game.getTriggerHandler().runTrigger(TriggerType.Exerted, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Exerted, runParams, false); } public boolean isExertedBy(final Player player) { diff --git a/forge-game/src/main/java/forge/game/card/CardDamageMap.java b/forge-game/src/main/java/forge/game/card/CardDamageMap.java index 1c60aa83edd..f52e7e354d7 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageMap.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageMap.java @@ -39,7 +39,7 @@ public class CardDamageMap extends ForwardingTable { runParams.put("DamageAmount", sum); runParams.put("IsCombatDamage", isCombat); - ge.getGame().getTriggerHandler().runTrigger(TriggerType.DamagePreventedOnce, runParams, false); + ge.getGame().getTriggerHandler().runTriggerOld(TriggerType.DamagePreventedOnce, runParams, false); } } } @@ -59,7 +59,7 @@ public class CardDamageMap extends ForwardingTable { runParams.put("DamageAmount", sum); runParams.put("IsCombatDamage", isCombat); - sourceLKI.getGame().getTriggerHandler().runTrigger(TriggerType.DamageDealtOnce, runParams, false); + sourceLKI.getGame().getTriggerHandler().runTriggerOld(TriggerType.DamageDealtOnce, runParams, false); if (sourceLKI.hasKeyword(Keyword.LIFELINK)) { sourceLKI.getController().gainLife(sum, sourceLKI, sa); @@ -80,7 +80,7 @@ public class CardDamageMap extends ForwardingTable { runParams.put("DamageAmount", sum); runParams.put("IsCombatDamage", isCombat); - ge.getGame().getTriggerHandler().runTrigger(TriggerType.DamageDoneOnce, runParams, false); + ge.getGame().getTriggerHandler().runTriggerOld(TriggerType.DamageDoneOnce, runParams, false); } } } diff --git a/forge-game/src/main/java/forge/game/card/CardZoneTable.java b/forge-game/src/main/java/forge/game/card/CardZoneTable.java index ebc710cb914..30dac0b5bf5 100644 --- a/forge-game/src/main/java/forge/game/card/CardZoneTable.java +++ b/forge-game/src/main/java/forge/game/card/CardZoneTable.java @@ -56,7 +56,7 @@ public class CardZoneTable extends ForwardingTable runParams = Maps.newHashMap(); runParams.put("Cards", new CardZoneTable(this)); - game.getTriggerHandler().runTrigger(TriggerType.ChangesZoneAll, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.ChangesZoneAll, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index bc5441689ea..de49a112264 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -638,7 +638,7 @@ public class Combat { runParams.put("Attacker", attacker); runParams.put("Defender",getDefenderByAttacker(attacker)); runParams.put("DefendingPlayer", getDefenderPlayerByAttacker(attacker)); - game.getTriggerHandler().runTrigger(TriggerType.AttackerUnblocked, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerUnblocked, runParams, false); } } } @@ -649,7 +649,7 @@ public class Combat { final Map runParams = Maps.newHashMap(); runParams.put("AttackingPlayer", getAttackingPlayer()); runParams.put("Defenders", defenders); - game.getTriggerHandler().runTrigger(TriggerType.AttackerUnblockedOnce, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerUnblockedOnce, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index 1b88c16440f..dfc265f51d1 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -313,7 +313,7 @@ public class CombatUtil { runParams.put("Attacked", combat.getDefenderByAttacker(c)); runParams.put("DefendingPlayer", combat.getDefenderPlayerByAttacker(c)); runParams.put("Defenders", combat.getDefenders()); - game.getTriggerHandler().runTrigger(TriggerType.Attacks, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Attacks, runParams, false); c.getDamageHistory().setCreatureAttackedThisCombat(true); c.getDamageHistory().clearNotAttackedSinceLastUpkeepOf(); diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index fd75bb5e2b8..e2918e924e9 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -415,7 +415,7 @@ public class PhaseHandler implements java.io.Serializable { final Map runParams = Maps.newHashMap(); runParams.put("Phase", phase.nameForScripts); runParams.put("Player", playerTurn); - game.getTriggerHandler().runTrigger(TriggerType.Phase, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Phase, runParams, false); } // This line fixes Combat Damage triggers not going off when they should @@ -489,7 +489,7 @@ public class PhaseHandler implements java.io.Serializable { // "Trigger" for begin turn to get around a phase skipping final Map runParams = Maps.newHashMap(); runParams.put("Player", playerTurn); - game.getTriggerHandler().runTrigger(TriggerType.TurnBegin, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.TurnBegin, runParams, false); } planarDiceRolledthisTurn = 0; // Play the End Turn sound @@ -581,7 +581,7 @@ public class PhaseHandler implements java.io.Serializable { runParams.put("Attackers", combat.getAttackers()); runParams.put("AttackingPlayer", combat.getAttackingPlayer()); runParams.put("AttackedTarget", attackedTarget); - game.getTriggerHandler().runTrigger(TriggerType.AttackersDeclared, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackersDeclared, runParams, false); } for (final Card c : combat.getAttackers()) { @@ -693,7 +693,7 @@ public class PhaseHandler implements java.io.Serializable { final Map bdRunParams = Maps.newHashMap(); bdRunParams.put("Blockers", declaredBlockers); bdRunParams.put("Attackers", blockedAttackers); - game.getTriggerHandler().runTrigger(TriggerType.BlockersDeclared, bdRunParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.BlockersDeclared, bdRunParams, false); } for (final Card c1 : combat.getAllBlockers()) { @@ -706,7 +706,7 @@ public class PhaseHandler implements java.io.Serializable { final Map runParams = Maps.newHashMap(); runParams.put("Blocker", c1); runParams.put("Attackers", combat.getAttackersBlockedBy(c1)); - game.getTriggerHandler().runTrigger(TriggerType.Blocks, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Blocks, runParams, false); } c1.getDamageHistory().setCreatureBlockedThisCombat(true); @@ -730,7 +730,7 @@ public class PhaseHandler implements java.io.Serializable { runParams.put("NumBlockers", blockers.size()); runParams.put("Defender", combat.getDefenderByAttacker(a)); runParams.put("DefendingPlayer", combat.getDefenderPlayerByAttacker(a)); - game.getTriggerHandler().runTrigger(TriggerType.AttackerBlocked, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerBlocked, runParams, false); // Run this trigger once for each blocker for (final Card b : blockers) { @@ -741,7 +741,7 @@ public class PhaseHandler implements java.io.Serializable { final Map runParams2 = Maps.newHashMap(); runParams2.put("Attacker", a); runParams2.put("Blocker", b); - game.getTriggerHandler().runTrigger(TriggerType.AttackerBlockedByCreature, runParams2, false); + game.getTriggerHandler().runTriggerOld(TriggerType.AttackerBlockedByCreature, runParams2, false); } a.getDamageHistory().setCreatureGotBlockedThisCombat(true); diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 2607b412d75..221035134fe 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -248,7 +248,7 @@ public class Player extends GameEntity implements Comparable { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Scheme", activeScheme); - game.getTriggerHandler().runTrigger(TriggerType.SetInMotion, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.SetInMotion, runParams, false); } @@ -450,7 +450,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("LifeAmount", lifeGain); runParams.put("Source", source); runParams.put("SourceSA", sa); - game.getTriggerHandler().runTrigger(TriggerType.LifeGained, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.LifeGained, runParams, false); game.fireEvent(new GameEventPlayerLivesChanged(this, oldLife, life)); } @@ -507,7 +507,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("Player", this); runParams.put("LifeAmount", toLose); runParams.put("FirstTime", firstLost); - game.getTriggerHandler().runTrigger(TriggerType.LifeLost, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.LifeLost, runParams, false); return lifeLost; } @@ -540,7 +540,7 @@ public class Player extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("Player", this); runParams.put("LifeAmount", lifePayment); - game.getTriggerHandler().runTrigger(TriggerType.PayLife, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.PayLife, runParams, false); return true; } @@ -627,7 +627,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("IsCombatDamage", isCombat); // Defending player at the time the damage was dealt runParams.put("DefendingPlayer", game.getCombat() != null ? game.getCombat().getDefendingPlayerRelatedTo(source) : null); - game.getTriggerHandler().runTrigger(TriggerType.DamageDone, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.DamageDone, runParams, false); game.fireEvent(new GameEventPlayerDamaged(this, source, amount, isCombat, infect)); @@ -950,10 +950,10 @@ public class Player extends GameEntity implements Comparable { runParams.put("Source", this); runParams.put("CounterType", counterType); for (int i = 0; i < addAmount; i++) { - getGame().getTriggerHandler().runTrigger(TriggerType.CounterAdded, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.CounterAdded, runParams, false); } if (addAmount > 0) { - getGame().getTriggerHandler().runTrigger(TriggerType.CounterAddedOnce, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.CounterAddedOnce, runParams, false); } if (table != null) { table.put(this, counterType, addAmount); @@ -1339,7 +1339,7 @@ public class Player extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("Player", this); runParams.put("NumThisTurn", surveilThisTurn); - getGame().getTriggerHandler().runTrigger(TriggerType.Surveil, runParams, false); + getGame().getTriggerHandler().runTriggerOld(TriggerType.Surveil, runParams, false); } public int getSurveilThisTurn() { @@ -1431,7 +1431,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("Card", c); runParams.put("Number", numDrawnThisTurn); runParams.put("Player", this); - game.getTriggerHandler().runTrigger(TriggerType.Drawn, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Drawn, runParams, false); } else { // Lose by milling is always on. Give AI many cards it cannot play if you want it not to undertake actions triedToDrawFromEmptyLibrary = true; @@ -1620,7 +1620,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("Card", c); runParams.put("Cause", cause); runParams.put("IsMadness", Boolean.valueOf(discardMadness)); - game.getTriggerHandler().runTrigger(TriggerType.Discarded, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Discarded, runParams, false); game.getGameLog().add(GameLogEntryType.DISCARD, sb.toString()); return newCard; } @@ -1701,7 +1701,7 @@ public class Player extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("Player", this); runParams.put("Source", sa); - game.getTriggerHandler().runTrigger(TriggerType.Shuffled, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Shuffled, runParams, false); // Play the shuffle sound game.fireEvent(new GameEventShuffle(this)); @@ -1731,7 +1731,7 @@ public class Player extends GameEntity implements Comparable { // Run triggers final Map runParams = Maps.newHashMap(); runParams.put("Card", land); - game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.LandPlayed, runParams, false); game.getStack().unfreezeStack(); addLandPlayedThisTurn(); } @@ -2170,7 +2170,7 @@ public class Player extends GameEntity implements Comparable { Map runParams = Maps.newHashMap(); runParams.put("Player", this); runParams.put("Num", investigatedThisTurn); - game.getTriggerHandler().runTrigger(TriggerType.Investigated, runParams,false); + game.getTriggerHandler().runTriggerOld(TriggerType.Investigated, runParams,false); } public final void resetInvestigatedThisTurn() { investigatedThisTurn = 0; @@ -2195,7 +2195,7 @@ public class Player extends GameEntity implements Comparable { runParams.put("Cause", source); runParams.put("CostStack", game.costPaymentStack); runParams.put("IndividualCostPaymentInstance", game.costPaymentStack.peek()); - game.getTriggerHandler().runTrigger(TriggerType.Sacrificed, runParams, false); + game.getTriggerHandler().runTriggerOld(TriggerType.Sacrificed, runParams, false); } public final void resetSacrificedThisTurn() { @@ -2541,7 +2541,7 @@ public class Player extends GameEntity implements Comparable { //Run PlaneswalkedTo triggers here. Map runParams = Maps.newHashMap(); runParams.put("Cards", currentPlanes); - game.getTriggerHandler().runTrigger(TriggerType.PlaneswalkedTo, runParams,false); + game.getTriggerHandler().runTriggerOld(TriggerType.PlaneswalkedTo, runParams,false); view.updateCurrentPlaneName(currentPlanes.toString().replaceAll(" \\(.*","").replace("[","")); } @@ -2551,7 +2551,7 @@ public class Player extends GameEntity implements Comparable { public void leaveCurrentPlane() { final Map runParams = new ImmutableMap.Builder().put("Cards", new CardCollection(currentPlanes)).build(); - game.getTriggerHandler().runTrigger(TriggerType.PlaneswalkedFrom, runParams,false); + game.getTriggerHandler().runTriggerOld(TriggerType.PlaneswalkedFrom, runParams,false); for (final Card plane : currentPlanes) { //game.getZoneOf(plane).remove(plane); diff --git a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java index 9d2d71e1f38..3e60a470bb1 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java @@ -173,7 +173,7 @@ public class AbilityManaPart implements java.io.Serializable { runParams.put("Player", player); runParams.put("AbilityMana", sa); runParams.put("Produced", afterReplace); - player.getGame().getTriggerHandler().runTrigger(TriggerType.TapsForMana, runParams, false); + player.getGame().getTriggerHandler().runTriggerOld(TriggerType.TapsForMana, runParams, false); if (source.isLand()) { player.setTappedLandForManaThisTurn(true); } diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java index bf6a8e8a045..0668a589eb3 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java @@ -355,10 +355,10 @@ public class SpellAbilityStackInstance implements IIdentifiable, IHasCardView { ((Card) tgt).setBecameTargetThisTurn(true); } runParams.put("Target", tgt); - getSourceCard().getGame().getTriggerHandler().runTrigger(TriggerType.BecomesTarget, runParams, false); + getSourceCard().getGame().getTriggerHandler().runTriggerOld(TriggerType.BecomesTarget, runParams, false); } runParams.put("Targets", target.getTargets()); - getSourceCard().getGame().getTriggerHandler().runTrigger(TriggerType.BecomesTargetOnce, runParams, false); + getSourceCard().getGame().getTriggerHandler().runTriggerOld(TriggerType.BecomesTargetOnce, runParams, false); } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 0197f253336..cd5805d3ad7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -51,6 +51,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimaps; +import static forge.util.EnumMapUtil.toStringMap; + public class TriggerHandler { private final List suppressedModes = Collections.synchronizedList(new ArrayList()); private final List activeTriggers = Collections.synchronizedList(new ArrayList()); @@ -318,12 +320,17 @@ public class TriggerHandler { return false; } - public final void runTrigger(final TriggerType mode, final Map runParams, boolean holdTrigger) { + public final void runTrigger(final TriggerType mode, final Map runParams, boolean holdTrigger) { + runTriggerOld(mode, toStringMap(runParams), holdTrigger); + } + // The plan is to slowly refactor any usages of `runTriggerOld` to use `runTrigger`. Then we can just inline + // `runTriggerOld` into `runTrigger` and change the code inside to just always use a `Map`. + // The reason we can't just call them both `runTrigger` is because we get a `same erasure` compile error if we do. + public final void runTriggerOld(final TriggerType mode, final Map runParams, boolean holdTrigger) { if (suppressedModes.contains(mode)) { return; } - //runWaitingTrigger(new TriggerWaiting(mode, runParams)); if (mode == TriggerType.Always) { runStateTrigger(runParams); } else if (game.getStack().isFrozen() || holdTrigger) { @@ -331,20 +338,14 @@ public class TriggerHandler { } else { runWaitingTrigger(new TriggerWaiting(mode, runParams)); } - // Tell auto stop to stop } - public final boolean runStateTrigger(Map runParams) { - boolean checkStatics = false; - // only cards in play can run state triggers - + private void runStateTrigger(Map runParams) { for (final Trigger t: activeTriggers) { if (canRunTrigger(t, TriggerType.Always, runParams)) { runSingleTrigger(t, runParams); - checkStatics = true; } } - return checkStatics; } public final boolean runWaitingTriggers() { @@ -362,7 +363,7 @@ public class TriggerHandler { return haveWaiting; } - public final boolean runWaitingTrigger(final TriggerWaiting wt) { + private boolean runWaitingTrigger(final TriggerWaiting wt) { final TriggerType mode = wt.getMode(); final Map runParams = wt.getParams(); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerKey.java b/forge-game/src/main/java/forge/game/trigger/TriggerKey.java new file mode 100644 index 00000000000..7794da01566 --- /dev/null +++ b/forge-game/src/main/java/forge/game/trigger/TriggerKey.java @@ -0,0 +1,21 @@ +package forge.game.trigger; + +/** + * Keys for Trigger parameter maps. + */ +public enum TriggerKey { + Attackers("Attackers"), + AttackingPlayer("AttackingPlayer"), + AttackedTarget("AttackedTarget"); + + private String key; + + TriggerKey(String key) { + this.key = key; + } + + @Override + public String toString() { + return key; + } +} diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index 2fb39bf9915..ab4a5c2b3a2 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -294,7 +294,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable, V> HashMap toStringMap(Map map) { + HashMap output = new HashMap<>(map.size()); + + for (Map.Entry entry : map.entrySet()) { + output.put(entry.getKey().toString(), entry.getValue()); + } + + return output; + } +} diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java index 628b9b6b160..039d50de3e0 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java @@ -138,7 +138,7 @@ public class GameWrapper { //skip drawing initial hand and mulliganing game.setAge( GameStage.Play ); final HashMap runParams = new HashMap(); - game.getTriggerHandler().runTrigger( TriggerType.NewGame, runParams, false ); + game.getTriggerHandler().runTriggerOld( TriggerType.NewGame, runParams, false ); //first player in the list starts, no coin toss etc game.getPhaseHandler().startFirstTurn( game.getPlayers().get( 0 ) ); game.fireEvent( new GameEventGameFinished() );