From bbcb59f64fe8b41afdb20818ceb70a7905ae7ff1 Mon Sep 17 00:00:00 2001 From: Ryan1729 Date: Wed, 11 Sep 2019 22:00:38 -0600 Subject: [PATCH] more mechanical transformations --- .../main/java/forge/game/ability/AbilityKey.java | 2 ++ .../forge/game/ability/effects/ExploreEffect.java | 7 ++++--- .../forge/game/ability/effects/FightEffect.java | 7 ++++--- .../forge/game/ability/effects/FlipCoinEffect.java | 9 +++++---- .../game/ability/effects/PlayLandVariantEffect.java | 7 ++++--- .../forge/game/spellability/AbilityManaPart.java | 13 ++++++------- 6 files changed, 25 insertions(+), 20 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/AbilityKey.java b/forge-game/src/main/java/forge/game/ability/AbilityKey.java index 1bc101b9679..36de93230a6 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityKey.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityKey.java @@ -26,6 +26,7 @@ public enum AbilityKey { DefendingPlayer("DefendingPlayer"), Destination("Destination"), Event("Event"), + Fighter("Fighter"), Fizzle("Fizzle"), IsCombatDamage("IsCombatDamage"), Player("Player"), @@ -35,6 +36,7 @@ public enum AbilityKey { Objects("Objects"), Origin("Origin"), OriginalController("OriginalController"), + Produced("Produced"), Result("Result"), Scheme("Scheme"), SpellAbilityStackInstance("SpellAbilityStackInstance"), 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 84f3011eae5..8af4bbe7f12 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 @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import forge.game.Game; import forge.game.GameEntityCounterTable; +import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -83,9 +84,9 @@ 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().runTriggerOld(TriggerType.Explores, runParams, false); + final Map runParams = AbilityKey.newMap(); + runParams.put(AbilityKey.Card, c); + game.getTriggerHandler().runTrigger(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 7a37952795e..e6db4b4f643 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 @@ -5,6 +5,7 @@ import com.google.common.collect.Maps; import forge.game.Game; import forge.game.GameEntityCounterTable; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardDamageMap; @@ -59,9 +60,9 @@ public class FightEffect extends DamageBaseEffect { dealDamage(sa, fighters.get(0), fighters.get(1)); for (Card c : fighters) { - final Map runParams = Maps.newHashMap(); - runParams.put("Fighter", c); - game.getTriggerHandler().runTriggerOld(TriggerType.Fight, runParams, false); + final Map runParams = AbilityKey.newMap(); + runParams.put(AbilityKey.Fighter, c); + game.getTriggerHandler().runTrigger(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 b8277d91df2..a504e4e9997 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 @@ -2,6 +2,7 @@ package forge.game.ability.effects; import com.google.common.collect.Maps; import forge.game.GameObject; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -209,10 +210,10 @@ public class FlipCoinEffect extends SpellAbilityEffect { caller.getGame().getAction().nofityOfValue(sa, caller, wonFlip ? "win" : "lose", null); // Run triggers - Map runParams = Maps.newHashMap(); - runParams.put("Player", caller); - runParams.put("Result", Boolean.valueOf(wonFlip)); - caller.getGame().getTriggerHandler().runTriggerOld(TriggerType.FlippedCoin, runParams, false); + final Map runParams = AbilityKey.newMap(); + runParams.put(AbilityKey.Player, caller); + runParams.put(AbilityKey.Result, wonFlip); + caller.getGame().getTriggerHandler().runTrigger(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 3ebc5ea63bb..50f3c3bc214 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 @@ -10,6 +10,7 @@ import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.card.MagicColor; import forge.game.Game; +import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardFactory; @@ -80,9 +81,9 @@ public class PlayLandVariantEffect extends SpellAbilityEffect { game.fireEvent(new GameEventLandPlayed(activator, source)); // Run triggers - final Map runParams = Maps.newHashMap(); - runParams.put("Card", source); - game.getTriggerHandler().runTriggerOld(TriggerType.LandPlayed, runParams, false); + final Map runParams = AbilityKey.newMap(); + runParams.put(AbilityKey.Card, source); + game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false); game.getStack().unfreezeStack(); activator.addLandPlayedThisTurn(); } 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 fb9c486269b..031843a49a0 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java @@ -23,6 +23,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import forge.card.mana.ManaAtom; +import forge.game.ability.AbilityKey; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.util.TextUtil; @@ -166,13 +167,11 @@ public class AbilityManaPart implements java.io.Serializable { manaPool.add(this.lastManaProduced); // Run triggers - final Map runParams = Maps.newHashMap(); - - runParams.put("Card", source); - runParams.put("Player", player); - runParams.put("AbilityMana", sa); - runParams.put("Produced", afterReplace); - player.getGame().getTriggerHandler().runTriggerOld(TriggerType.TapsForMana, runParams, false); + final Map runParams = AbilityKey.mapFromCard(source); + runParams.put(AbilityKey.Player, player); + runParams.put(AbilityKey.AbilityMana, sa); + runParams.put(AbilityKey.Produced, afterReplace); + player.getGame().getTriggerHandler().runTrigger(TriggerType.TapsForMana, runParams, false); if (source.isLand()) { player.setTappedLandForManaThisTurn(true); }