mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Replacement handlers used hashmap in ctor and method parameters instead of plain map (that is quite sufficient for their needs)
This commit is contained in:
@@ -8115,7 +8115,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
|
|
||||||
for (final Card ca : Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield)) {
|
for (final Card ca : Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield)) {
|
||||||
for (final ReplacementEffect re : ca.getReplacementEffects()) {
|
for (final ReplacementEffect re : ca.getReplacementEffects()) {
|
||||||
HashMap<String, String> params = re.getMapParams();
|
Map<String, String> params = re.getMapParams();
|
||||||
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
|
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -9173,7 +9173,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
*/
|
*/
|
||||||
public boolean hasETBReplacement() {
|
public boolean hasETBReplacement() {
|
||||||
for (final ReplacementEffect re : getReplacementEffects()) {
|
for (final ReplacementEffect re : getReplacementEffects()) {
|
||||||
final HashMap<String, String> params = re.getMapParams();
|
final Map<String, String> params = re.getMapParams();
|
||||||
if (!(re instanceof ReplaceMoved)) {
|
if (!(re instanceof ReplaceMoved)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.cardfactory.CardFactoryUtil;
|
import forge.card.cardfactory.CardFactoryUtil;
|
||||||
@@ -36,7 +36,7 @@ public class ReplaceDamage extends ReplacementEffect {
|
|||||||
* @param map the map
|
* @param map the map
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceDamage(HashMap<String, String> map, Card host) {
|
public ReplaceDamage(Map<String, String> map, Card host) {
|
||||||
super(map, host);
|
super(map, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ public class ReplaceDamage extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("DamageDone")) {
|
if (!runParams.get("Event").equals("DamageDone")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -110,7 +110,7 @@ public class ReplaceDamage extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setReplacingObjects(HashMap<String, Object> runParams, SpellAbility sa) {
|
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
|
||||||
sa.setReplacingObject("DamageAmount", runParams.get("DamageAmount"));
|
sa.setReplacingObject("DamageAmount", runParams.get("DamageAmount"));
|
||||||
sa.setReplacingObject("Target", runParams.get("Affected"));
|
sa.setReplacingObject("Target", runParams.get("Affected"));
|
||||||
sa.setReplacingObject("Source", runParams.get("DamageSource"));
|
sa.setReplacingObject("Source", runParams.get("DamageSource"));
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
@@ -34,7 +34,7 @@ public class ReplaceDiscard extends ReplacementEffect {
|
|||||||
* @param params the params
|
* @param params the params
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceDiscard(final HashMap<String, String> params, final Card host) {
|
public ReplaceDiscard(final Map<String, String> params, final Card host) {
|
||||||
super(params, host);
|
super(params, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ public class ReplaceDiscard extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("Discard")) {
|
if (!runParams.get("Event").equals("Discard")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -86,7 +86,7 @@ public class ReplaceDiscard extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setReplacingObjects(HashMap<String, Object> runParams, SpellAbility sa) {
|
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
|
||||||
sa.setReplacingObject("Card", runParams.get("Card"));
|
sa.setReplacingObject("Card", runParams.get("Card"));
|
||||||
sa.setReplacingObject("Player", runParams.get("Affected"));
|
sa.setReplacingObject("Player", runParams.get("Affected"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ public class ReplaceDraw extends ReplacementEffect {
|
|||||||
* @param params the params
|
* @param params the params
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceDraw(final HashMap<String, String> params, final Card host) {
|
public ReplaceDraw(final Map<String, String> params, final Card host) {
|
||||||
super(params, host);
|
super(params, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ public class ReplaceDraw extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("Draw")) {
|
if (!runParams.get("Event").equals("Draw")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
@@ -34,7 +34,7 @@ public class ReplaceGainLife extends ReplacementEffect {
|
|||||||
* @param map the map
|
* @param map the map
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceGainLife(HashMap<String, String> map, Card host) {
|
public ReplaceGainLife(Map<String, String> map, Card host) {
|
||||||
super(map, host);
|
super(map, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ public class ReplaceGainLife extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("GainLife")) {
|
if (!runParams.get("Event").equals("GainLife")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -71,7 +71,7 @@ public class ReplaceGainLife extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setReplacingObjects(HashMap<String, Object> runParams, SpellAbility sa) {
|
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
|
||||||
sa.setReplacingObject("LifeGained", runParams.get("LifeGained"));
|
sa.setReplacingObject("LifeGained", runParams.get("LifeGained"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ public class ReplaceGameLoss extends ReplacementEffect {
|
|||||||
* @param map the map
|
* @param map the map
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceGameLoss(HashMap<String, String> map, Card host) {
|
public ReplaceGameLoss(Map<String, String> map, Card host) {
|
||||||
super(map, host);
|
super(map, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ public class ReplaceGameLoss extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("GameLoss")) {
|
if (!runParams.get("Event").equals("GameLoss")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
@@ -18,7 +18,7 @@ public class ReplaceMoved extends ReplacementEffect {
|
|||||||
* @param mapParams   HashMap<String, String>
|
* @param mapParams   HashMap<String, String>
|
||||||
* @param host   Card
|
* @param host   Card
|
||||||
*/
|
*/
|
||||||
public ReplaceMoved(final HashMap<String, String> mapParams, final Card host) {
|
public ReplaceMoved(final Map<String, String> mapParams, final Card host) {
|
||||||
super(mapParams, host);
|
super(mapParams, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ public class ReplaceMoved extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("Moved")) {
|
if (!runParams.get("Event").equals("Moved")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ public class ReplaceMoved extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setReplacingObjects(HashMap<String, Object> runParams, SpellAbility sa) {
|
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
|
||||||
sa.setReplacingObject("Card", runParams.get("Affected"));
|
sa.setReplacingObject("Card", runParams.get("Affected"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ public class ReplaceSetInMotion extends ReplacementEffect {
|
|||||||
* @param params the params
|
* @param params the params
|
||||||
* @param host the host
|
* @param host the host
|
||||||
*/
|
*/
|
||||||
public ReplaceSetInMotion(final HashMap<String, String> params, final Card host) {
|
public ReplaceSetInMotion(final Map<String, String> params, final Card host) {
|
||||||
super(params, host);
|
super(params, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ public class ReplaceSetInMotion extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("SetInMotion")) {
|
if (!runParams.get("Event").equals("SetInMotion")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package forge.card.replacement;
|
package forge.card.replacement;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.card.spellability.SpellAbility;
|
import forge.card.spellability.SpellAbility;
|
||||||
@@ -17,7 +17,7 @@ public class ReplaceTurnFaceUp extends ReplacementEffect {
|
|||||||
* @param mapParams   HashMap<String, String>
|
* @param mapParams   HashMap<String, String>
|
||||||
* @param host   Card
|
* @param host   Card
|
||||||
*/
|
*/
|
||||||
public ReplaceTurnFaceUp(final HashMap<String, String> mapParams, final Card host) {
|
public ReplaceTurnFaceUp(final Map<String, String> mapParams, final Card host) {
|
||||||
super(mapParams, host);
|
super(mapParams, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ public class ReplaceTurnFaceUp extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean canReplace(HashMap<String, Object> runParams) {
|
public boolean canReplace(Map<String, Object> runParams) {
|
||||||
if (!runParams.get("Event").equals("TurnFaceUp")) {
|
if (!runParams.get("Event").equals("TurnFaceUp")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -53,7 +53,7 @@ public class ReplaceTurnFaceUp extends ReplacementEffect {
|
|||||||
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setReplacingObjects(HashMap<String, Object> runParams, SpellAbility sa) {
|
public void setReplacingObjects(Map<String, Object> runParams, SpellAbility sa) {
|
||||||
sa.setReplacingObject("Card", runParams.get("Affected"));
|
sa.setReplacingObject("Card", runParams.get("Affected"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** The map params, denoting what to replace. */
|
/** The map params, denoting what to replace. */
|
||||||
private HashMap<String, String> mapParams = new HashMap<String, String>();
|
private Map<String, String> mapParams = new HashMap<String, String>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -127,7 +127,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
*
|
*
|
||||||
* @return a {@link java.util.HashMap} object.
|
* @return a {@link java.util.HashMap} object.
|
||||||
*/
|
*/
|
||||||
public final HashMap<String, String> getMapParams() {
|
public final Map<String, String> getMapParams() {
|
||||||
return this.mapParams;
|
return this.mapParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
* @param mapParams
|
* @param mapParams
|
||||||
* the mapParams to set
|
* the mapParams to set
|
||||||
*/
|
*/
|
||||||
public final void setMapParams(final HashMap<String, String> mapParams) {
|
public final void setMapParams(final Map<String, String> mapParams) {
|
||||||
this.mapParams = mapParams;
|
this.mapParams = mapParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
* the run params
|
* the run params
|
||||||
* @return true, if successful
|
* @return true, if successful
|
||||||
*/
|
*/
|
||||||
public abstract boolean canReplace(final HashMap<String, Object> runParams);
|
public abstract boolean canReplace(final Map<String, Object> runParams);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To string.
|
* To string.
|
||||||
@@ -219,7 +219,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
* @param spellAbility
|
* @param spellAbility
|
||||||
* the SpellAbility
|
* the SpellAbility
|
||||||
*/
|
*/
|
||||||
public void setReplacingObjects(final HashMap<String, Object> runParams, final SpellAbility spellAbility) {
|
public void setReplacingObjects(final Map<String, Object> runParams, final SpellAbility spellAbility) {
|
||||||
// Should be overridden by replacers that need it.
|
// Should be overridden by replacers that need it.
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,7 +231,7 @@ public abstract class ReplacementEffect extends TriggerReplacementBase {
|
|||||||
* @param host
|
* @param host
|
||||||
* the host
|
* the host
|
||||||
*/
|
*/
|
||||||
public ReplacementEffect(final HashMap<String, String> map, final Card host) {
|
public ReplacementEffect(final Map<String, String> map, final Card host) {
|
||||||
this.setMapParams(map);
|
this.setMapParams(map);
|
||||||
this.setHostCard(host);
|
this.setHostCard(host);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -34,6 +35,7 @@ import forge.game.player.Player;
|
|||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
|
import forge.util.FileSection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -174,9 +176,9 @@ public class ReplacementHandler {
|
|||||||
* @param replacementEffect
|
* @param replacementEffect
|
||||||
* the replacement effect to run
|
* the replacement effect to run
|
||||||
*/
|
*/
|
||||||
private ReplacementResult executeReplacement(final HashMap<String, Object> runParams,
|
private ReplacementResult executeReplacement(final Map<String, Object> runParams,
|
||||||
final ReplacementEffect replacementEffect, final Player decider, final GameState game) {
|
final ReplacementEffect replacementEffect, final Player decider, final GameState game) {
|
||||||
final HashMap<String, String> mapParams = replacementEffect.getMapParams();
|
final Map<String, String> mapParams = replacementEffect.getMapParams();
|
||||||
|
|
||||||
SpellAbility effectSA = null;
|
SpellAbility effectSA = null;
|
||||||
|
|
||||||
@@ -257,7 +259,7 @@ public class ReplacementHandler {
|
|||||||
* @return A finished instance
|
* @return A finished instance
|
||||||
*/
|
*/
|
||||||
public static ReplacementEffect parseReplacement(final String repParse, final Card host) {
|
public static ReplacementEffect parseReplacement(final String repParse, final Card host) {
|
||||||
final HashMap<String, String> mapParams = ReplacementHandler.parseParams(repParse);
|
final Map<String, String> mapParams = FileSection.parseToMap(repParse, "$", "|");
|
||||||
return ReplacementHandler.parseReplacement(mapParams, host);
|
return ReplacementHandler.parseReplacement(mapParams, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -272,7 +274,7 @@ public class ReplacementHandler {
|
|||||||
* The card that hosts the replacement effect
|
* The card that hosts the replacement effect
|
||||||
* @return The finished instance
|
* @return The finished instance
|
||||||
*/
|
*/
|
||||||
public static ReplacementEffect parseReplacement(final HashMap<String, String> mapParams, final Card host) {
|
public static ReplacementEffect parseReplacement(final Map<String, String> mapParams, final Card host) {
|
||||||
ReplacementEffect ret = null;
|
ReplacementEffect ret = null;
|
||||||
|
|
||||||
final String eventToReplace = mapParams.get("Event");
|
final String eventToReplace = mapParams.get("Event");
|
||||||
@@ -301,45 +303,4 @@ public class ReplacementHandler {
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* parseParams.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @param repParse
|
|
||||||
* a {@link java.lang.String} object.
|
|
||||||
* @return a {@link java.util.HashMap} object.
|
|
||||||
*/
|
|
||||||
private static HashMap<String, String> parseParams(final String repParse) {
|
|
||||||
final HashMap<String, String> mapParams = new HashMap<String, String>();
|
|
||||||
|
|
||||||
if (repParse.length() == 0) {
|
|
||||||
throw new RuntimeException("ReplacementFactory : registerTrigger -- trigParse too short");
|
|
||||||
}
|
|
||||||
|
|
||||||
final String[] params = repParse.split("\\|");
|
|
||||||
|
|
||||||
for (int i = 0; i < params.length; i++) {
|
|
||||||
params[i] = params[i].trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (final String param : params) {
|
|
||||||
final String[] splitParam = param.split("\\$");
|
|
||||||
for (int i = 0; i < splitParam.length; i++) {
|
|
||||||
splitParam[i] = splitParam[i].trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (splitParam.length != 2) {
|
|
||||||
final StringBuilder sb = new StringBuilder();
|
|
||||||
sb.append("ReplacementFactory Parsing Error in registerTrigger() : Split length of ");
|
|
||||||
sb.append(param).append(" is not 2.");
|
|
||||||
throw new RuntimeException(sb.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
mapParams.put(splitParam[0], splitParam[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return mapParams;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ package forge.card.spellability;
|
|||||||
import java.security.InvalidParameterException;
|
import java.security.InvalidParameterException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
@@ -499,7 +500,7 @@ public class SpellPermanent extends Spell {
|
|||||||
for (final ReplacementEffect re : card.getReplacementEffects()) {
|
for (final ReplacementEffect re : card.getReplacementEffects()) {
|
||||||
// These Replacements all care for ETB effects
|
// These Replacements all care for ETB effects
|
||||||
|
|
||||||
final HashMap<String, String> params = re.getMapParams();
|
final Map<String, String> params = re.getMapParams();
|
||||||
if (!(re instanceof ReplaceMoved)) {
|
if (!(re instanceof ReplaceMoved)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1829,7 +1829,7 @@ public class ComputerUtilCombat {
|
|||||||
// Predict replacement effects
|
// Predict replacement effects
|
||||||
for (final Card ca : game.getCardsIn(ZoneType.Battlefield)) {
|
for (final Card ca : game.getCardsIn(ZoneType.Battlefield)) {
|
||||||
for (final ReplacementEffect re : ca.getReplacementEffects()) {
|
for (final ReplacementEffect re : ca.getReplacementEffects()) {
|
||||||
HashMap<String, String> params = re.getMapParams();
|
Map<String, String> params = re.getMapParams();
|
||||||
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
|
if (!"DamageDone".equals(params.get("Event")) || !params.containsKey("PreventionEffect")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user