Merge branch 'triggerRunParams' into 'master'

Trigger: remove runParams from Trigger

See merge request core-developers/forge!2479
This commit is contained in:
Michael Kamensky
2020-01-31 10:15:31 +00:00
87 changed files with 248 additions and 291 deletions

View File

@@ -1299,12 +1299,12 @@ public class Card extends GameEntity implements Comparable<Card> {
for (int i = 0; i < addAmount; i++) { for (int i = 0; i < addAmount; i++) {
runParams.put(AbilityKey.CounterAmount, oldValue + i + 1); runParams.put(AbilityKey.CounterAmount, oldValue + i + 1);
getGame().getTriggerHandler().runTrigger( getGame().getTriggerHandler().runTrigger(
TriggerType.CounterAdded, Maps.newHashMap(runParams), false); TriggerType.CounterAdded, AbilityKey.newMap(runParams), false);
} }
if (addAmount > 0) { if (addAmount > 0) {
runParams.put(AbilityKey.CounterAmount, addAmount); runParams.put(AbilityKey.CounterAmount, addAmount);
getGame().getTriggerHandler().runTrigger( getGame().getTriggerHandler().runTrigger(
TriggerType.CounterAddedOnce, Maps.newHashMap(runParams), false); TriggerType.CounterAddedOnce, AbilityKey.newMap(runParams), false);
} }
} else { } else {
setCounters(counterType, newValue); setCounters(counterType, newValue);
@@ -1378,10 +1378,10 @@ public class Card extends GameEntity implements Comparable<Card> {
runParams.put(AbilityKey.CounterType, counterName); runParams.put(AbilityKey.CounterType, counterName);
for (int i = 0; i < delta && curCounters != 0; i++) { for (int i = 0; i < delta && curCounters != 0; i++) {
runParams.put(AbilityKey.NewCounterAmount, --curCounters); runParams.put(AbilityKey.NewCounterAmount, --curCounters);
getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemoved, runParams, false); getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemoved, AbilityKey.newMap(runParams), false);
} }
runParams.put(AbilityKey.CounterAmount, delta); runParams.put(AbilityKey.CounterAmount, delta);
getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemovedOnce, runParams, false); getGame().getTriggerHandler().runTrigger(TriggerType.CounterRemovedOnce, AbilityKey.newMap(runParams), false);
} }
@Override @Override

View File

@@ -664,7 +664,7 @@ public class CardFactory {
trig.setHostCard(sa.getHostCard()); trig.setHostCard(sa.getHostCard());
trig.setTrigger(true); trig.setTrigger(true);
trig.setSourceTrigger(t.getId()); trig.setSourceTrigger(t.getId());
t.setTriggeringObjects(trig); sa.setTriggeringObjects(sa.getTriggeringObjects());
trig.setTriggerRemembered(t.getTriggerRemembered()); trig.setTriggerRemembered(t.getTriggerRemembered());
if (t.getStoredTriggeredObjects() != null) { if (t.getStoredTriggeredObjects() != null) {
trig.setTriggeringObjects(t.getStoredTriggeredObjects()); trig.setTriggeringObjects(t.getStoredTriggeredObjects());

View File

@@ -63,13 +63,7 @@ public class Cost implements Serializable {
} }
private void cacheTapCost() { private void cacheTapCost() {
tapCost = false; tapCost = hasSpecificCostType(CostTap.class);
for (CostPart p : getCostParts()) {
if (p instanceof CostTap || p instanceof CostUntap) {
tapCost = true;
return;
}
}
} }
public final boolean hasNoManaCost() { public final boolean hasNoManaCost() {

View File

@@ -939,10 +939,10 @@ public class Player extends GameEntity implements Comparable<Player> {
runParams.put(AbilityKey.Source, this); runParams.put(AbilityKey.Source, this);
runParams.put(AbilityKey.CounterType, counterType); runParams.put(AbilityKey.CounterType, counterType);
for (int i = 0; i < addAmount; i++) { for (int i = 0; i < addAmount; i++) {
getGame().getTriggerHandler().runTrigger(TriggerType.CounterAdded, runParams, false); getGame().getTriggerHandler().runTrigger(TriggerType.CounterAdded, AbilityKey.newMap(runParams), false);
} }
if (addAmount > 0) { if (addAmount > 0) {
getGame().getTriggerHandler().runTrigger(TriggerType.CounterAddedOnce, runParams, false); getGame().getTriggerHandler().runTrigger(TriggerType.CounterAddedOnce, AbilityKey.newMap(runParams), false);
} }
if (table != null) { if (table != null) {
table.put(this, counterType, addAmount); table.put(this, counterType, addAmount);

View File

@@ -556,15 +556,17 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
public void setTriggeringObject(final AbilityKey type, final Object o) { public void setTriggeringObject(final AbilityKey type, final Object o) {
triggeringObjects.put(type, o); triggeringObjects.put(type, o);
} }
public void setTriggeringObjectsFrom(final Trigger trigger, final AbilityKey... types) {
public void setTriggeringObjectsFrom(final Map<AbilityKey, Object> runParams, final AbilityKey... types) {
int typesLength = types.length; int typesLength = types.length;
for (int i = 0; i < typesLength; i += 1) { for (int i = 0; i < typesLength; i += 1) {
AbilityKey type = types[i]; AbilityKey type = types[i];
triggeringObjects.put(type, trigger.getFromRunParams(type)); if (runParams.containsKey(type)) {
triggeringObjects.put(type, runParams.get(type));
}
} }
} }
public boolean hasTriggeringObject(final AbilityKey type) { public boolean hasTriggeringObject(final AbilityKey type) {
return triggeringObjects.containsKey(type); return triggeringObjects.containsKey(type);
} }

View File

@@ -65,10 +65,6 @@ public abstract class Trigger extends TriggerReplacementBase {
/** The ID. */ /** The ID. */
private int id; private int id;
/** The run params. */
private Map<AbilityKey, Object> runParams;
private TriggerType mode; private TriggerType mode;
private Map<AbilityKey, Object> storedTriggeredObjects = null; private Map<AbilityKey, Object> storedTriggeredObjects = null;
@@ -123,7 +119,6 @@ public abstract class Trigger extends TriggerReplacementBase {
this.id = nextId(); this.id = nextId();
this.intrinsic = intrinsic; this.intrinsic = intrinsic;
this.setRunParams(AbilityKey.newMap()); // TODO: Consider whether this can be null instead, for performance reasons.
this.originalMapParams.putAll(params); this.originalMapParams.putAll(params);
this.mapParams.putAll(params); this.mapParams.putAll(params);
this.setHostCard(host); this.setHostCard(host);
@@ -454,26 +449,7 @@ public abstract class Trigger extends TriggerReplacementBase {
* @param sa * @param sa
* a {@link forge.game.spellability.SpellAbility} object. * a {@link forge.game.spellability.SpellAbility} object.
*/ */
public abstract void setTriggeringObjects(SpellAbility sa); public abstract void setTriggeringObjects(SpellAbility sa, final Map<AbilityKey, Object> runParams);
/**
* Gets the run params.
*
* @return the runParams
*/
public Object getFromRunParams(AbilityKey key) {
return this.runParams.get(key);
}
/**
* Sets the run params.
*
* @param runParams0
* the runParams to set
*/
public void setRunParams(final Map<AbilityKey, Object> runParams0) {
this.runParams = runParams0;
}
/** /**
* Gets the id. * Gets the id.

View File

@@ -44,7 +44,7 @@ public class TriggerAbandoned extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAbandoned(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAbandoned(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -65,8 +65,8 @@ public class TriggerAbandoned extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Scheme); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Scheme);
} }
@Override @Override

View File

@@ -65,8 +65,8 @@ public class TriggerAdapt extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -45,7 +45,7 @@ public class TriggerAlways extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAlways(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAlways(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -57,7 +57,7 @@ public class TriggerAlways extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(final SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerAttached extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttached(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttached(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -76,9 +76,9 @@ public class TriggerAttached extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Source, getFromRunParams(AbilityKey.AttachSource)); sa.setTriggeringObject(AbilityKey.Source, runParams.get(AbilityKey.AttachSource));
sa.setTriggeringObject(AbilityKey.Target, getFromRunParams(AbilityKey.AttachTarget)); sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.AttachTarget));
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerAttackerBlocked extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttackerBlocked(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttackerBlocked(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -86,9 +86,9 @@ public class TriggerAttackerBlocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom( sa.setTriggeringObjectsFrom(
this, runParams,
AbilityKey.Attacker, AbilityKey.Attacker,
AbilityKey.Blockers, AbilityKey.Blockers,
AbilityKey.Defender, AbilityKey.Defender,

View File

@@ -46,7 +46,7 @@ public class TriggerAttackerBlockedByCreature extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttackerBlockedByCreature(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttackerBlockedByCreature(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -89,8 +89,8 @@ public class TriggerAttackerBlockedByCreature extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Attacker, AbilityKey.Blocker); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Attacker, AbilityKey.Blocker);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerAttackerUnblocked extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttackerUnblocked(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttackerUnblocked(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -71,8 +71,8 @@ public class TriggerAttackerUnblocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Attacker, AbilityKey.Defender, AbilityKey.DefendingPlayer); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Attacker, AbilityKey.Defender, AbilityKey.DefendingPlayer);
} }
@Override @Override

View File

@@ -48,7 +48,7 @@ public class TriggerAttackerUnblockedOnce extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttackerUnblockedOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttackerUnblockedOnce(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -86,8 +86,8 @@ public class TriggerAttackerUnblockedOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.AttackingPlayer, AbilityKey.Defenders); sa.setTriggeringObjectsFrom(runParams, AbilityKey.AttackingPlayer, AbilityKey.Defenders);
} }
@Override @Override

View File

@@ -42,7 +42,7 @@ public class TriggerAttackersDeclared extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttackersDeclared(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttackersDeclared(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -88,8 +88,8 @@ public class TriggerAttackersDeclared extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Attackers, AbilityKey.AttackingPlayer); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Attackers, AbilityKey.AttackingPlayer);
} }
@Override @Override

View File

@@ -49,7 +49,7 @@ public class TriggerAttacks extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerAttacks(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerAttacks(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -126,10 +126,10 @@ public class TriggerAttacks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Defender, getFromRunParams(AbilityKey.Attacked)); sa.setTriggeringObject(AbilityKey.Defender, runParams.get(AbilityKey.Attacked));
sa.setTriggeringObjectsFrom( sa.setTriggeringObjectsFrom(
this, runParams,
AbilityKey.Attacker, AbilityKey.Attacker,
AbilityKey.Defenders, AbilityKey.Defenders,
AbilityKey.DefendingPlayer AbilityKey.DefendingPlayer

View File

@@ -36,8 +36,8 @@ public class TriggerBecomeMonarch extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -66,8 +66,8 @@ public class TriggerBecomeMonstrous extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.MonstrosityAmount); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.MonstrosityAmount);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerBecomeRenowned extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerBecomeRenowned(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerBecomeRenowned(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -66,8 +66,8 @@ public class TriggerBecomeRenowned extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerBecomesTarget extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerBecomesTarget(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerBecomesTarget(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -89,9 +89,9 @@ public class TriggerBecomesTarget extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) getFromRunParams(AbilityKey.SourceSA)).getHostCard()); sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) runParams.get(AbilityKey.SourceSA)).getHostCard());
sa.setTriggeringObjectsFrom(this, AbilityKey.SourceSA, AbilityKey.Target); sa.setTriggeringObjectsFrom(runParams, AbilityKey.SourceSA, AbilityKey.Target);
} }
@Override @Override

View File

@@ -49,7 +49,7 @@ public class TriggerBecomesTargetOnce extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerBecomesTargetOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerBecomesTargetOnce(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -81,9 +81,9 @@ public class TriggerBecomesTargetOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.SourceSA, AbilityKey.Targets); sa.setTriggeringObjectsFrom(runParams, AbilityKey.SourceSA, AbilityKey.Targets);
sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) getFromRunParams(AbilityKey.SourceSA)).getHostCard()); sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) runParams.get(AbilityKey.SourceSA)).getHostCard());
} }
@Override @Override

View File

@@ -40,7 +40,7 @@ public class TriggerBlockersDeclared extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerBlockersDeclared(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerBlockersDeclared(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -53,8 +53,8 @@ public class TriggerBlockersDeclared extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Blockers, AbilityKey.Attackers); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Blockers, AbilityKey.Attackers);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerBlocks extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerBlocks(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerBlocks(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -90,8 +90,8 @@ public class TriggerBlocks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Blocker, AbilityKey.Attackers); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Blocker, AbilityKey.Attackers);
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerChampioned extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerChampioned(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerChampioned(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -75,8 +75,8 @@ public class TriggerChampioned extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Championed, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Championed, AbilityKey.Card);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerChangesController extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerChangesController(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerChangesController(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -74,8 +74,8 @@ public class TriggerChangesController extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -213,8 +213,8 @@ public class TriggerChangesZone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -23,8 +23,8 @@ public class TriggerChangesZoneAll extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
final CardZoneTable table = (CardZoneTable) getFromRunParams(AbilityKey.Cards); final CardZoneTable table = (CardZoneTable) runParams.get(AbilityKey.Cards);
CardCollection allCards = this.filterCards(table); CardCollection allCards = this.filterCards(table);

View File

@@ -71,7 +71,7 @@ public class TriggerClashed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(final SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
// No triggered-variables for you :( // No triggered-variables for you :(
} }

View File

@@ -121,8 +121,8 @@ public class TriggerCounterAdded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player);
} }
@Override @Override

View File

@@ -25,8 +25,8 @@ public class TriggerCounterAddedAll extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
final GameEntityCounterTable table = (GameEntityCounterTable) getFromRunParams(AbilityKey.Objects); final GameEntityCounterTable table = (GameEntityCounterTable) runParams.get(AbilityKey.Objects);
Map<GameEntity, Integer> all = this.filterTable(table); Map<GameEntity, Integer> all = this.filterTable(table);

View File

@@ -107,9 +107,9 @@ public class TriggerCounterAddedOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player);
sa.setTriggeringObject(AbilityKey.Amount, getFromRunParams(AbilityKey.CounterAmount)); sa.setTriggeringObject(AbilityKey.Amount, runParams.get(AbilityKey.CounterAmount));
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerCounterRemoved extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerCounterRemoved(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerCounterRemoved(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -86,8 +86,8 @@ public class TriggerCounterRemoved extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerCounterRemovedOnce extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerCounterRemovedOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerCounterRemovedOnce(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -77,9 +77,9 @@ public class TriggerCounterRemovedOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
sa.setTriggeringObject(AbilityKey.Amount, getFromRunParams(AbilityKey.CounterAmount)); sa.setTriggeringObject(AbilityKey.Amount, runParams.get(AbilityKey.CounterAmount));
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerCountered extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerCountered(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerCountered(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -96,9 +96,9 @@ public class TriggerCountered extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom( sa.setTriggeringObjectsFrom(
this, runParams,
AbilityKey.Card, AbilityKey.Card,
AbilityKey.Cause, AbilityKey.Cause,
AbilityKey.Player, AbilityKey.Player,

View File

@@ -10,7 +10,7 @@ import java.util.Map;
public class TriggerCrewed extends Trigger { public class TriggerCrewed extends Trigger {
public TriggerCrewed(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerCrewed(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -39,8 +39,8 @@ public class TriggerCrewed extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Vehicle, AbilityKey.Crew); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Vehicle, AbilityKey.Crew);
} }
@Override @Override

View File

@@ -46,14 +46,14 @@ public class TriggerCycled extends Trigger {
* @param intrinsic * @param intrinsic
* a boolean * a boolean
*/ */
public TriggerCycled(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerCycled(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -49,7 +49,7 @@ public class TriggerDamageDealtOnce extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDamageDealtOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDamageDealtOnce(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -108,10 +108,10 @@ public class TriggerDamageDealtOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.DamageAmount); sa.setTriggeringObjectsFrom(runParams, AbilityKey.DamageAmount);
sa.setTriggeringObject(AbilityKey.Source, getFromRunParams(AbilityKey.DamageSource)); sa.setTriggeringObject(AbilityKey.Source, runParams.get(AbilityKey.DamageSource));
sa.setTriggeringObject(AbilityKey.Targets, getFromRunParams(AbilityKey.DamageTargets)); sa.setTriggeringObject(AbilityKey.Targets, runParams.get(AbilityKey.DamageTargets));
} }
@Override @Override

View File

@@ -49,7 +49,7 @@ public class TriggerDamageDone extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDamageDone(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDamageDone(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -122,11 +122,11 @@ public class TriggerDamageDone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)getFromRunParams(AbilityKey.DamageSource))); sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)runParams.get(AbilityKey.DamageSource)));
sa.setTriggeringObject(AbilityKey.Target, getFromRunParams(AbilityKey.DamageTarget)); sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.DamageTarget));
sa.setTriggeringObjectsFrom( sa.setTriggeringObjectsFrom(
this, runParams,
AbilityKey.DamageAmount, AbilityKey.DamageAmount,
// This parameter is here because LKI information related to combat doesn't work properly // This parameter is here because LKI information related to combat doesn't work properly
AbilityKey.DefendingPlayer AbilityKey.DefendingPlayer

View File

@@ -58,10 +58,10 @@ public class TriggerDamageDoneOnce extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Target, getFromRunParams(AbilityKey.DamageTarget)); sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.DamageTarget));
sa.setTriggeringObject(AbilityKey.Sources, getFromRunParams(AbilityKey.DamageSources)); sa.setTriggeringObject(AbilityKey.Sources, runParams.get(AbilityKey.DamageSources));
sa.setTriggeringObjectsFrom(this, AbilityKey.DamageAmount); sa.setTriggeringObjectsFrom(runParams, AbilityKey.DamageAmount);
} }
@Override @Override

View File

@@ -48,7 +48,7 @@ public class TriggerDamagePrevented extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDamagePrevented(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDamagePrevented(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -106,10 +106,10 @@ public class TriggerDamagePrevented extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)getFromRunParams(AbilityKey.DamageSource))); sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)runParams.get(AbilityKey.DamageSource)));
sa.setTriggeringObject(AbilityKey.Target, getFromRunParams(AbilityKey.DamageTarget)); sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.DamageTarget));
sa.setTriggeringObjectsFrom(this, AbilityKey.DamageAmount); sa.setTriggeringObjectsFrom(runParams, AbilityKey.DamageAmount);
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerDamagePreventedOnce extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDamagePreventedOnce(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDamagePreventedOnce(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -97,9 +97,9 @@ public class TriggerDamagePreventedOnce extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Target, getFromRunParams(AbilityKey.DamageTarget)); sa.setTriggeringObject(AbilityKey.Target, runParams.get(AbilityKey.DamageTarget));
sa.setTriggeringObjectsFrom(this, AbilityKey.DamageAmount); sa.setTriggeringObjectsFrom(runParams, AbilityKey.DamageAmount);
} }
@Override @Override

View File

@@ -69,8 +69,8 @@ public class TriggerDestroyed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Causer); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Causer);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerDevoured extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDevoured(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDevoured(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -64,8 +64,8 @@ public class TriggerDevoured extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Devoured); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Devoured);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerDiscarded extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerDiscarded(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerDiscarded(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -89,8 +89,8 @@ public class TriggerDiscarded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Cause); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Cause);
} }
@Override @Override

View File

@@ -82,8 +82,8 @@ public class TriggerDrawn extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player);
} }
@Override @Override

View File

@@ -63,8 +63,8 @@ public class TriggerEvolved extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -33,8 +33,8 @@ public class TriggerExerted extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player);
} }
@Override @Override

View File

@@ -98,8 +98,8 @@ public class TriggerExiled extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerExploited extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerExploited(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerExploited(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -75,8 +75,8 @@ public class TriggerExploited extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Exploited, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Exploited, AbilityKey.Card);
} }
@Override @Override

View File

@@ -45,7 +45,7 @@ public class TriggerExplores extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerExplores(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerExplores(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -62,8 +62,8 @@ public class TriggerExplores extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObject(AbilityKey.Explorer, getFromRunParams(AbilityKey.Card)); sa.setTriggeringObject(AbilityKey.Explorer, runParams.get(AbilityKey.Card));
} }
@Override @Override

View File

@@ -47,7 +47,7 @@ public class TriggerFight extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerFight(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerFight(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -59,15 +59,15 @@ public class TriggerFight extends Trigger {
if (hasParam("ValidCard")) { if (hasParam("ValidCard")) {
return fighter.isValid(getParam("ValidCard").split(","), return fighter.isValid(getParam("ValidCard").split(","),
this.getHostCard().getController(), this.getHostCard(), null); getHostCard().getController(), getHostCard(), null);
} }
return true; return true;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Fighter); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Fighter);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerFlippedCoin extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerFlippedCoin(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerFlippedCoin(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -73,8 +73,8 @@ public class TriggerFlippedCoin extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -499,9 +499,6 @@ public class TriggerHandler {
// runs it if so. // runs it if so.
// Return true if the trigger went off, false otherwise. // Return true if the trigger went off, false otherwise.
private void runSingleTrigger(final Trigger regtrig, final Map<AbilityKey, Object> runParams) { private void runSingleTrigger(final Trigger regtrig, final Map<AbilityKey, Object> runParams) {
final Map<String, String> triggerParams = regtrig.getMapParams();
regtrig.setRunParams(runParams);
// All tests passed, execute ability. // All tests passed, execute ability.
if (regtrig instanceof TriggerTapsForMana) { if (regtrig instanceof TriggerTapsForMana) {
@@ -513,7 +510,7 @@ public class TriggerHandler {
SpellAbility sa = null; SpellAbility sa = null;
Card host = regtrig.getHostCard(); Card host = regtrig.getHostCard();
final Card trigCard = (Card) regtrig.getFromRunParams(AbilityKey.Card); final Card trigCard = (Card) runParams.get(AbilityKey.Card);
if (trigCard != null && (host.getId() == trigCard.getId())) { if (trigCard != null && (host.getId() == trigCard.getId())) {
host = trigCard; host = trigCard;
@@ -530,7 +527,7 @@ public class TriggerHandler {
sa = regtrig.getOverridingAbility(); sa = regtrig.getOverridingAbility();
if (sa == null) { if (sa == null) {
if (!triggerParams.containsKey("Execute")) { if (!regtrig.hasParam("Execute")) {
sa = new Ability(host, ManaCost.ZERO) { sa = new Ability(host, ManaCost.ZERO) {
@Override @Override
public void resolve() { public void resolve() {
@@ -538,12 +535,13 @@ public class TriggerHandler {
}; };
} }
else { else {
if (!host.getCurrentState().hasSVar(triggerParams.get("Execute"))) { String name = regtrig.getParam("Execute");
System.err.println("Warning: tried to run a trigger for card " + host + " referencing a SVar " + triggerParams.get("Execute") + " not present on the current state " + host.getCurrentState() + ". Aborting trigger execution to prevent a crash."); if (!host.getCurrentState().hasSVar(name)) {
System.err.println("Warning: tried to run a trigger for card " + host + " referencing a SVar " + name + " not present on the current state " + host.getCurrentState() + ". Aborting trigger execution to prevent a crash.");
return; return;
} }
sa = AbilityFactory.getAbility(host, triggerParams.get("Execute")); sa = AbilityFactory.getAbility(host, name);
} }
} else { } else {
// need to copy the SA because of TriggeringObjects // need to copy the SA because of TriggeringObjects
@@ -556,7 +554,7 @@ public class TriggerHandler {
sa.setTrigger(true); sa.setTrigger(true);
sa.setSourceTrigger(regtrig.getId()); sa.setSourceTrigger(regtrig.getId());
regtrig.setTriggeringObjects(sa); regtrig.setTriggeringObjects(sa, runParams);
sa.setTriggerRemembered(regtrig.getTriggerRemembered()); sa.setTriggerRemembered(regtrig.getTriggerRemembered());
if (regtrig.getStoredTriggeredObjects() != null) { if (regtrig.getStoredTriggeredObjects() != null) {
sa.setTriggeringObjects(regtrig.getStoredTriggeredObjects()); sa.setTriggeringObjects(regtrig.getStoredTriggeredObjects());
@@ -570,12 +568,12 @@ public class TriggerHandler {
sa.setActivatingPlayer(sa.getDeltrigActivatingPlayer()); sa.setActivatingPlayer(sa.getDeltrigActivatingPlayer());
} }
if (triggerParams.containsKey("TriggerController")) { if (regtrig.hasParam("TriggerController")) {
Player p = AbilityUtils.getDefinedPlayers(regtrig.getHostCard(), triggerParams.get("TriggerController"), sa).get(0); Player p = AbilityUtils.getDefinedPlayers(regtrig.getHostCard(), regtrig.getParam("TriggerController"), sa).get(0);
sa.setActivatingPlayer(p); sa.setActivatingPlayer(p);
} }
if (triggerParams.containsKey("RememberController")) { if (regtrig.hasParam("RememberController")) {
host.addRemembered(sa.getActivatingPlayer()); host.addRemembered(sa.getActivatingPlayer());
} }
@@ -594,9 +592,9 @@ public class TriggerHandler {
Player decider = null; Player decider = null;
boolean mand = false; boolean mand = false;
if (triggerParams.containsKey("OptionalDecider")) { if (regtrig.hasParam("OptionalDecider")) {
sa.setOptionalTrigger(true); sa.setOptionalTrigger(true);
decider = AbilityUtils.getDefinedPlayers(host, triggerParams.get("OptionalDecider"), sa).get(0); decider = AbilityUtils.getDefinedPlayers(host, regtrig.getParam("OptionalDecider"), sa).get(0);
} }
else if (sa instanceof AbilitySub || !sa.hasParam("Cost") || sa.getParam("Cost").equals("0")) { else if (sa instanceof AbilitySub || !sa.hasParam("Cost") || sa.getParam("Cost").equals("0")) {
mand = true; mand = true;
@@ -634,7 +632,7 @@ public class TriggerHandler {
regtrig.triggerRun(); regtrig.triggerRun();
if (triggerParams.containsKey("OneOff")) { if (regtrig.hasParam("OneOff")) {
if (regtrig.getHostCard().isImmutable()) { if (regtrig.getHostCard().isImmutable()) {
Player p = regtrig.getHostCard().getController(); Player p = regtrig.getHostCard().getController();
p.getZone(ZoneType.Command).remove(regtrig.getHostCard()); p.getZone(ZoneType.Command).remove(regtrig.getHostCard());

View File

@@ -26,7 +26,7 @@ import java.util.Map;
public class TriggerImmediate extends Trigger { public class TriggerImmediate extends Trigger {
public TriggerImmediate(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerImmediate(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -39,7 +39,7 @@ public class TriggerImmediate extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(final SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
} }
@Override @Override

View File

@@ -60,8 +60,8 @@ public class TriggerInvestigated extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
/** {@inheritDoc} /** {@inheritDoc}
@@ -70,7 +70,7 @@ public class TriggerInvestigated extends Trigger {
public final boolean performTest(final Map<AbilityKey, Object> runParams) { public final boolean performTest(final Map<AbilityKey, Object> runParams) {
Player p = (Player) runParams.get(AbilityKey.Player); Player p = (Player) runParams.get(AbilityKey.Player);
if (hasParam("ValidPlayer")) { if (hasParam("ValidPlayer")) {
if (!matchesValid(p, getParam("ValidPlayer").split(","), this.getHostCard())) { if (!matchesValid(p, getParam("ValidPlayer").split(","), getHostCard())) {
return false; return false;
} }
} }

View File

@@ -52,8 +52,8 @@ public class TriggerLandPlayed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -75,8 +75,8 @@ public class TriggerLifeGained extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.LifeAmount, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.LifeAmount, AbilityKey.Player);
} }
@Override @Override

View File

@@ -72,8 +72,8 @@ public class TriggerLifeLost extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.LifeAmount, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.LifeAmount, AbilityKey.Player);
} }
@Override @Override

View File

@@ -24,7 +24,7 @@ public class TriggerLosesGame extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerLosesGame(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerLosesGame(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -42,8 +42,8 @@ public class TriggerLosesGame extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -45,7 +45,7 @@ public class TriggerNewGame extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerNewGame(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerNewGame(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -58,7 +58,7 @@ public class TriggerNewGame extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerPayCumulativeUpkeep extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerPayCumulativeUpkeep(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerPayCumulativeUpkeep(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -73,8 +73,8 @@ public class TriggerPayCumulativeUpkeep extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.PayingMana); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.PayingMana);
} }
@Override @Override

View File

@@ -45,7 +45,7 @@ public class TriggerPayEcho extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerPayEcho(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerPayEcho(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -72,8 +72,8 @@ public class TriggerPayEcho extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -62,8 +62,8 @@ public class TriggerPayLife extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.LifeAmount, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.LifeAmount, AbilityKey.Player);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerPhase extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerPhase(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerPhase(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -63,8 +63,8 @@ public class TriggerPhase extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -29,8 +29,8 @@ public class TriggerPhaseIn extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -37,8 +37,8 @@ public class TriggerPhaseOut extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -26,7 +26,7 @@ public class TriggerPlanarDice extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerPlanarDice(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerPlanarDice(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -52,12 +52,9 @@ public class TriggerPlanarDice extends Trigger {
return true; return true;
} }
/* (non-Javadoc)
* @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility)
*/
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -49,12 +49,9 @@ public class TriggerPlaneswalkedFrom extends Trigger {
return true; return true;
} }
/* (non-Javadoc)
* @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility)
*/
@Override @Override
public void setTriggeringObjects(final SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Cards); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Cards);
} }
@Override @Override

View File

@@ -49,12 +49,9 @@ public class TriggerPlaneswalkedTo extends Trigger {
return true; return true;
} }
/* (non-Javadoc)
* @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility)
*/
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Cards); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Cards);
} }
@Override @Override

View File

@@ -69,8 +69,8 @@ public class TriggerRegenerated extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Cause); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Cause);
} }
@Override @Override

View File

@@ -31,8 +31,8 @@ public class TriggerRevealed extends Trigger {
} }
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -49,7 +49,7 @@ public class TriggerSacrificed extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerSacrificed(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerSacrificed(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -129,8 +129,8 @@ public class TriggerSacrificed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerScry extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerScry(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerScry(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -65,8 +65,8 @@ public class TriggerScry extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -48,7 +48,7 @@ public class TriggerSearchedLibrary extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerSearchedLibrary(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerSearchedLibrary(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -76,8 +76,8 @@ public class TriggerSearchedLibrary extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerSetInMotion extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerSetInMotion(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerSetInMotion(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -79,8 +79,8 @@ public class TriggerSetInMotion extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Scheme); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Scheme);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerShuffled extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerShuffled(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerShuffled(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -77,8 +77,8 @@ public class TriggerShuffled extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -265,15 +265,15 @@ public class TriggerSpellAbilityCast extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
final SpellAbility castSA = (SpellAbility) getFromRunParams(AbilityKey.CastSA); final SpellAbility castSA = (SpellAbility) runParams.get(AbilityKey.CastSA);
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(castSA); final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(castSA);
sa.setTriggeringObject(AbilityKey.Card, castSA.getHostCard()); sa.setTriggeringObject(AbilityKey.Card, castSA.getHostCard());
sa.setTriggeringObject(AbilityKey.SpellAbility, castSA); sa.setTriggeringObject(AbilityKey.SpellAbility, castSA);
sa.setTriggeringObject(AbilityKey.StackInstance, si); sa.setTriggeringObject(AbilityKey.StackInstance, si);
sa.setTriggeringObject(AbilityKey.SpellAbilityTargetingCards, (si != null ? si.getSpellAbility(true) : castSA).getTargets().getTargetCards()); sa.setTriggeringObject(AbilityKey.SpellAbilityTargetingCards, (si != null ? si.getSpellAbility(true) : castSA).getTargets().getTargetCards());
sa.setTriggeringObjectsFrom( sa.setTriggeringObjectsFrom(
this, runParams,
AbilityKey.Player, AbilityKey.Player,
AbilityKey.Activator, AbilityKey.Activator,
AbilityKey.CurrentStormCount, AbilityKey.CurrentStormCount,

View File

@@ -92,8 +92,8 @@ public class TriggerSpellAbilityCopy extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
final SpellAbility copySA = (SpellAbility) getFromRunParams(AbilityKey.CopySA); final SpellAbility copySA = (SpellAbility) runParams.get(AbilityKey.CopySA);
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(copySA); final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(copySA);
sa.setTriggeringObject(AbilityKey.Card, copySA.getHostCard()); sa.setTriggeringObject(AbilityKey.Card, copySA.getHostCard());
sa.setTriggeringObject(AbilityKey.SpellAbility, copySA); sa.setTriggeringObject(AbilityKey.SpellAbility, copySA);

View File

@@ -56,8 +56,8 @@ public class TriggerSurveil extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
/** {@inheritDoc} /** {@inheritDoc}

View File

@@ -79,8 +79,8 @@ public class TriggerTaps extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -48,7 +48,7 @@ public class TriggerTapsForMana extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerTapsForMana(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerTapsForMana(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -108,8 +108,8 @@ public class TriggerTapsForMana extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card, AbilityKey.Player, AbilityKey.Produced); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player, AbilityKey.Produced);
} }
@Override @Override

View File

@@ -54,13 +54,9 @@ public class TriggerTransformed extends Trigger {
return true; return true;
} }
/* (non-Javadoc)
* @see forge.card.trigger.Trigger#setTriggeringObjects(forge.card.spellability.SpellAbility)
*/
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Transformer); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Transformer);
} }
@Override @Override

View File

@@ -9,7 +9,7 @@ import java.util.Map;
// Turn Begin isn't a "real" trigger, but is useful for Advanced Scripting Techniques // Turn Begin isn't a "real" trigger, but is useful for Advanced Scripting Techniques
public class TriggerTurnBegin extends Trigger { public class TriggerTurnBegin extends Trigger {
public TriggerTurnBegin(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerTurnBegin(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -23,8 +23,8 @@ public class TriggerTurnBegin extends Trigger {
} }
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Player); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Player);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerTurnFaceUp extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerTurnFaceUp(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerTurnFaceUp(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -64,8 +64,8 @@ public class TriggerTurnFaceUp extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -46,7 +46,7 @@ public class TriggerUnattach extends Trigger {
* @param intrinsic * @param intrinsic
* the intrinsic * the intrinsic
*/ */
public TriggerUnattach(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) { public TriggerUnattach(final Map<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
@@ -76,8 +76,8 @@ public class TriggerUnattach extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Object, AbilityKey.Attach); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Object, AbilityKey.Attach);
} }
@Override @Override

View File

@@ -68,8 +68,8 @@ public class TriggerUntaps extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
sa.setTriggeringObjectsFrom(this, AbilityKey.Card); sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card);
} }
@Override @Override

View File

@@ -64,11 +64,11 @@ public class TriggerVote extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void setTriggeringObjects(final SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa, Map<AbilityKey, Object> runParams) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
FCollection<Player> voters = getVoters( FCollection<Player> voters = getVoters(
this.getHostCard().getController(), this.getHostCard().getController(),
(ListMultimap<Object, Player>) getFromRunParams(AbilityKey.AllVotes), (ListMultimap<Object, Player>) runParams.get(AbilityKey.AllVotes),
true, true,
true true
); );