diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 102e6ccc4ea..f6c451b0668 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -2850,8 +2850,7 @@ public class ComputerUtil { } // Run any applicable replacement effects. - final Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, player); + final Map repParams = AbilityKey.mapFromAffected(player); repParams.put(AbilityKey.LifeGained, 1); repParams.put(AbilityKey.Source, source); @@ -2881,8 +2880,7 @@ public class ComputerUtil { } // Run any applicable replacement effects. - final Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, player); + final Map repParams = AbilityKey.mapFromAffected(player); repParams.put(AbilityKey.LifeGained, n); repParams.put(AbilityKey.Source, source); diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index 7f90ba83941..a81da13c9ba 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -2584,8 +2584,7 @@ public class ComputerUtilCombat { final Game game = attacker.getGame(); // first try to replace the damage - final Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, target); + final Map repParams = AbilityKey.mapFromAffected(target); repParams.put(AbilityKey.DamageSource, attacker); repParams.put(AbilityKey.DamageAmount, damage); repParams.put(AbilityKey.IsCombat, true); diff --git a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java index e913008e014..6983e70b096 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java @@ -98,8 +98,7 @@ public class ManifestAi extends SpellAbilityAi { topCopy.turnFaceDownNoUpdate(); topCopy.setManifested(true); - final Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, topCopy); + final Map repParams = AbilityKey.mapFromAffected(topCopy); repParams.put(AbilityKey.Origin, card.getZone().getZoneType()); repParams.put(AbilityKey.Destination, ZoneType.Battlefield); repParams.put(AbilityKey.Source, sa.getHostCard()); diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 165c9247d79..6311663807c 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -290,8 +290,7 @@ public class GameAction { copied.getOwner().addInboundToken(copied); } - Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, copied); + Map repParams = AbilityKey.mapFromAffected(copied); repParams.put(AbilityKey.CardLKI, lastKnownInfo); repParams.put(AbilityKey.Cause, cause); repParams.put(AbilityKey.Origin, zoneFrom != null ? zoneFrom.getZoneType() : null); 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 f97a215bd31..8307cb95cbd 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityKey.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityKey.java @@ -3,6 +3,7 @@ package forge.game.ability; import java.util.EnumMap; import java.util.Map; +import forge.game.GameEntity; import forge.game.card.Card; /** @@ -144,4 +145,11 @@ public enum AbilityKey { runParams.put(Card, card); return runParams; } + + public static Map mapFromAffected(GameEntity gameEntity) { + final Map runParams = newMap(); + + runParams.put(Affected, gameEntity); + return runParams; + } } 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 85928cf97c5..4beb976b28c 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -687,9 +687,7 @@ public class Card extends GameEntity implements Comparable { if (result && runTriggers) { // Run replacement effects - Map repParams = AbilityKey.newMap(); - repParams.put(AbilityKey.Affected, this); - getGame().getReplacementHandler().run(ReplacementType.TurnFaceUp, repParams); + getGame().getReplacementHandler().run(ReplacementType.TurnFaceUp, AbilityKey.mapFromAffected(this)); // Run triggers getGame().getTriggerHandler().registerActiveTrigger(this, false);