mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
push down toStringMap further, which required using AbilityKey inside TriggerWaiting and several other places.
This commit is contained in:
@@ -54,6 +54,8 @@ import org.apache.commons.lang3.tuple.ImmutablePair;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static forge.util.EnumMapUtil.toStringMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Methods for common actions performed during a game.
|
* Methods for common actions performed during a game.
|
||||||
*
|
*
|
||||||
@@ -297,7 +299,7 @@ public class GameAction {
|
|||||||
repParams.putAll(params);
|
repParams.putAll(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
ReplacementResult repres = game.getReplacementHandler().run(EnumMapUtil.toStringMap(repParams));
|
ReplacementResult repres = game.getReplacementHandler().run(toStringMap(repParams));
|
||||||
if (repres != ReplacementResult.NotReplaced) {
|
if (repres != ReplacementResult.NotReplaced) {
|
||||||
// reset failed manifested Cards back to original
|
// reset failed manifested Cards back to original
|
||||||
if (c.isManifested()) {
|
if (c.isManifested()) {
|
||||||
|
|||||||
@@ -10,8 +10,9 @@ public enum AbilityKey {
|
|||||||
AbilityMana("AbilityMana"),
|
AbilityMana("AbilityMana"),
|
||||||
Activator("Activator"),
|
Activator("Activator"),
|
||||||
Affected("Affected"),
|
Affected("Affected"),
|
||||||
Attach("Attach"),
|
|
||||||
AllVotes("AllVotes"),
|
AllVotes("AllVotes"),
|
||||||
|
Amount("Amount"),
|
||||||
|
Attach("Attach"),
|
||||||
AttachSource("AttachSource"),
|
AttachSource("AttachSource"),
|
||||||
AttachTarget("AttachTarget"),
|
AttachTarget("AttachTarget"),
|
||||||
Attacked("Attacked"),
|
Attacked("Attacked"),
|
||||||
@@ -51,14 +52,12 @@ public enum AbilityKey {
|
|||||||
Devoured("Devoured"),
|
Devoured("Devoured"),
|
||||||
EchoPaid("EchoPaid"),
|
EchoPaid("EchoPaid"),
|
||||||
Exploited("Exploited"),
|
Exploited("Exploited"),
|
||||||
|
Explorer("Explorer"),
|
||||||
Event("Event"),
|
Event("Event"),
|
||||||
Fighter("Fighter"),
|
Fighter("Fighter"),
|
||||||
FirstTime("FirstTime"),
|
FirstTime("FirstTime"),
|
||||||
Fizzle("Fizzle"),
|
Fizzle("Fizzle"),
|
||||||
IsCombatDamage("IsCombatDamage"),
|
IsCombatDamage("IsCombatDamage"),
|
||||||
PayingMana("PayingMana"),
|
|
||||||
Phase("Phase"),
|
|
||||||
Player("Player"),
|
|
||||||
IndividualCostPaymentInstance("IndividualCostPaymentInstance"),
|
IndividualCostPaymentInstance("IndividualCostPaymentInstance"),
|
||||||
IsMadness("IsMadness"),
|
IsMadness("IsMadness"),
|
||||||
LifeAmount("LifeAmount"),
|
LifeAmount("LifeAmount"),
|
||||||
@@ -71,14 +70,23 @@ public enum AbilityKey {
|
|||||||
Object("Object"),
|
Object("Object"),
|
||||||
Objects("Objects"),
|
Objects("Objects"),
|
||||||
OtherAttackers("OtherAttackers"),
|
OtherAttackers("OtherAttackers"),
|
||||||
|
OtherVoters("OtherVoters"),
|
||||||
Origin("Origin"),
|
Origin("Origin"),
|
||||||
OriginalController("OriginalController"),
|
OriginalController("OriginalController"),
|
||||||
|
OriginalDefender("OriginalDefender"),
|
||||||
|
PayingMana("PayingMana"),
|
||||||
|
Phase("Phase"),
|
||||||
|
Player("Player"),
|
||||||
Produced("Produced"),
|
Produced("Produced"),
|
||||||
Result("Result"),
|
Result("Result"),
|
||||||
Scheme("Scheme"),
|
Scheme("Scheme"),
|
||||||
Source("Source"),
|
Source("Source"),
|
||||||
|
Sources("Sources"),
|
||||||
SourceSA("SourceSA"),
|
SourceSA("SourceSA"),
|
||||||
|
SpellAbility("SpellAbility"),
|
||||||
SpellAbilityStackInstance("SpellAbilityStackInstance"),
|
SpellAbilityStackInstance("SpellAbilityStackInstance"),
|
||||||
|
SpellAbilityTargetingCards("SpellAbilityTargetingCards"),
|
||||||
|
StackInstance("StackInstance"),
|
||||||
StackSa("StackSa"),
|
StackSa("StackSa"),
|
||||||
StackSi("StackSi"),
|
StackSi("StackSi"),
|
||||||
Target("Target"),
|
Target("Target"),
|
||||||
@@ -99,10 +107,22 @@ public enum AbilityKey {
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param s A string that would be output from toString
|
||||||
|
* @return the corresponding key if there is one or null otherwise
|
||||||
|
*/
|
||||||
|
public static AbilityKey fromString(String s) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static <V> EnumMap<AbilityKey, V> newMap() {
|
public static <V> EnumMap<AbilityKey, V> newMap() {
|
||||||
return new EnumMap<>(AbilityKey.class);
|
return new EnumMap<>(AbilityKey.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <V> EnumMap<AbilityKey, V> newMap(Map<AbilityKey, V> map) {
|
||||||
|
return new EnumMap<>(map);
|
||||||
|
}
|
||||||
|
|
||||||
public static Map<AbilityKey, Object> mapFromCard(forge.game.card.Card card) {
|
public static Map<AbilityKey, Object> mapFromCard(forge.game.card.Card card) {
|
||||||
final Map<AbilityKey, Object> runParams = newMap();
|
final Map<AbilityKey, Object> runParams = newMap();
|
||||||
|
|
||||||
|
|||||||
@@ -139,13 +139,15 @@ public class AbilityUtils {
|
|||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
if (defined.contains("LKICopy")) { //Triggered*LKICopy
|
if (defined.contains("LKICopy")) { //Triggered*LKICopy
|
||||||
int lkiPosition = defined.indexOf("LKICopy");
|
int lkiPosition = defined.indexOf("LKICopy");
|
||||||
final Object crd = root.getTriggeringObject(defined.substring(9, lkiPosition));
|
AbilityKey type = AbilityKey.fromString(defined.substring(9, lkiPosition));
|
||||||
|
final Object crd = root.getTriggeringObject(type);
|
||||||
if (crd instanceof Card) {
|
if (crd instanceof Card) {
|
||||||
c = (Card) crd;
|
c = (Card) crd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
final Object crd = root.getTriggeringObject(defined.substring(9));
|
AbilityKey type = AbilityKey.fromString(defined.substring(9));
|
||||||
|
final Object crd = root.getTriggeringObject(type);
|
||||||
if (crd instanceof Card) {
|
if (crd instanceof Card) {
|
||||||
c = game.getCardState((Card) crd);
|
c = game.getCardState((Card) crd);
|
||||||
} else if (crd instanceof Iterable) {
|
} else if (crd instanceof Iterable) {
|
||||||
@@ -641,12 +643,12 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
if (calcX[0].startsWith("TriggeredPlayer") || calcX[0].startsWith("TriggeredTarget")) {
|
if (calcX[0].startsWith("TriggeredPlayer") || calcX[0].startsWith("TriggeredTarget")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
Object o = root.getTriggeringObject(calcX[0].substring(9));
|
Object o = root.getTriggeringObject(AbilityKey.fromString(calcX[0].substring(9)));
|
||||||
return o instanceof Player ? CardFactoryUtil.playerXProperty((Player) o, calcX[1], card) * multiplier : 0;
|
return o instanceof Player ? CardFactoryUtil.playerXProperty((Player) o, calcX[1], card) * multiplier : 0;
|
||||||
}
|
}
|
||||||
if (calcX[0].equals("TriggeredSpellAbility")) {
|
if (calcX[0].equals("TriggeredSpellAbility")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
SpellAbility sat = (SpellAbility) root.getTriggeringObject("SpellAbility");
|
SpellAbility sat = (SpellAbility) root.getTriggeringObject(AbilityKey.SpellAbility);
|
||||||
return calculateAmount(sat.getHostCard(), calcX[1], sat);
|
return calculateAmount(sat.getHostCard(), calcX[1], sat);
|
||||||
}
|
}
|
||||||
// Added on 9/30/12 (ArsenalNut) - Ended up not using but might be useful in future
|
// Added on 9/30/12 (ArsenalNut) - Ended up not using but might be useful in future
|
||||||
@@ -695,11 +697,11 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
else if (calcX[0].startsWith("TriggerObjects")) {
|
else if (calcX[0].startsWith("TriggerObjects")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
list = (CardCollection) root.getTriggeringObject(calcX[0].substring(14));
|
list = (CardCollection) root.getTriggeringObject(AbilityKey.fromString(calcX[0].substring(14)));
|
||||||
}
|
}
|
||||||
else if (calcX[0].startsWith("Triggered")) {
|
else if (calcX[0].startsWith("Triggered")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
list = new CardCollection((Card) root.getTriggeringObject(calcX[0].substring(9)));
|
list = new CardCollection((Card) root.getTriggeringObject(AbilityKey.fromString(calcX[0].substring(9))));
|
||||||
}
|
}
|
||||||
else if (calcX[0].startsWith("TriggerCount")) {
|
else if (calcX[0].startsWith("TriggerCount")) {
|
||||||
// TriggerCount is similar to a regular Count, but just
|
// TriggerCount is similar to a regular Count, but just
|
||||||
@@ -707,7 +709,7 @@ public class AbilityUtils {
|
|||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
final String[] l = calcX[1].split("/");
|
final String[] l = calcX[1].split("/");
|
||||||
final String m = CardFactoryUtil.extractOperators(calcX[1]);
|
final String m = CardFactoryUtil.extractOperators(calcX[1]);
|
||||||
final int count = (Integer) root.getTriggeringObject(l[0]);
|
final int count = (Integer) root.getTriggeringObject(AbilityKey.fromString(l[0]));
|
||||||
|
|
||||||
return CardFactoryUtil.doXMath(count, m, card) * multiplier;
|
return CardFactoryUtil.doXMath(count, m, card) * multiplier;
|
||||||
}
|
}
|
||||||
@@ -777,19 +779,19 @@ public class AbilityUtils {
|
|||||||
final Object o;
|
final Object o;
|
||||||
if (type.startsWith("Triggered")) {
|
if (type.startsWith("Triggered")) {
|
||||||
if (type.contains("Card")) {
|
if (type.contains("Card")) {
|
||||||
o = sa.getTriggeringObject("Card");
|
o = sa.getTriggeringObject(AbilityKey.Card);
|
||||||
}
|
}
|
||||||
else if (type.contains("Object")) {
|
else if (type.contains("Object")) {
|
||||||
o = sa.getTriggeringObject("Object");
|
o = sa.getTriggeringObject(AbilityKey.Object);
|
||||||
}
|
}
|
||||||
else if (type.contains("Attacker")) {
|
else if (type.contains("Attacker")) {
|
||||||
o = sa.getTriggeringObject("Attacker");
|
o = sa.getTriggeringObject(AbilityKey.Attacker);
|
||||||
}
|
}
|
||||||
else if (type.contains("Blocker")) {
|
else if (type.contains("Blocker")) {
|
||||||
o = sa.getTriggeringObject("Blocker");
|
o = sa.getTriggeringObject(AbilityKey.Blocker);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
o = sa.getTriggeringObject("Card");
|
o = sa.getTriggeringObject(AbilityKey.Card);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(o instanceof Card)) {
|
if (!(o instanceof Card)) {
|
||||||
@@ -1004,7 +1006,7 @@ public class AbilityUtils {
|
|||||||
if (defParsed.endsWith("Controller")) {
|
if (defParsed.endsWith("Controller")) {
|
||||||
String triggeringType = defParsed.substring(9);
|
String triggeringType = defParsed.substring(9);
|
||||||
triggeringType = triggeringType.substring(0, triggeringType.length() - 10);
|
triggeringType = triggeringType.substring(0, triggeringType.length() - 10);
|
||||||
final Object c = root.getTriggeringObject(triggeringType);
|
final Object c = root.getTriggeringObject(AbilityKey.fromString(triggeringType));
|
||||||
if (c instanceof Card) {
|
if (c instanceof Card) {
|
||||||
o = ((Card) c).getController();
|
o = ((Card) c).getController();
|
||||||
}
|
}
|
||||||
@@ -1015,7 +1017,7 @@ public class AbilityUtils {
|
|||||||
else if (defParsed.endsWith("Opponent")) {
|
else if (defParsed.endsWith("Opponent")) {
|
||||||
String triggeringType = defParsed.substring(9);
|
String triggeringType = defParsed.substring(9);
|
||||||
triggeringType = triggeringType.substring(0, triggeringType.length() - 8);
|
triggeringType = triggeringType.substring(0, triggeringType.length() - 8);
|
||||||
final Object c = root.getTriggeringObject(triggeringType);
|
final Object c = root.getTriggeringObject(AbilityKey.fromString(triggeringType));
|
||||||
if (c instanceof Card) {
|
if (c instanceof Card) {
|
||||||
o = ((Card) c).getController().getOpponents();
|
o = ((Card) c).getController().getOpponents();
|
||||||
}
|
}
|
||||||
@@ -1026,14 +1028,14 @@ public class AbilityUtils {
|
|||||||
else if (defParsed.endsWith("Owner")) {
|
else if (defParsed.endsWith("Owner")) {
|
||||||
String triggeringType = defParsed.substring(9);
|
String triggeringType = defParsed.substring(9);
|
||||||
triggeringType = triggeringType.substring(0, triggeringType.length() - 5);
|
triggeringType = triggeringType.substring(0, triggeringType.length() - 5);
|
||||||
final Object c = root.getTriggeringObject(triggeringType);
|
final Object c = root.getTriggeringObject(AbilityKey.fromString(triggeringType));
|
||||||
if (c instanceof Card) {
|
if (c instanceof Card) {
|
||||||
o = ((Card) c).getOwner();
|
o = ((Card) c).getOwner();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
final String triggeringType = defParsed.substring(9);
|
final String triggeringType = defParsed.substring(9);
|
||||||
o = root.getTriggeringObject(triggeringType);
|
o = root.getTriggeringObject(AbilityKey.fromString(triggeringType));
|
||||||
}
|
}
|
||||||
if (o != null) {
|
if (o != null) {
|
||||||
if (o instanceof Player) {
|
if (o instanceof Player) {
|
||||||
@@ -1252,13 +1254,13 @@ public class AbilityUtils {
|
|||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
|
|
||||||
final String triggeringType = defined.substring(9);
|
final String triggeringType = defined.substring(9);
|
||||||
final Object o = root.getTriggeringObject(triggeringType);
|
final Object o = root.getTriggeringObject(AbilityKey.fromString(triggeringType));
|
||||||
if (o instanceof SpellAbility) {
|
if (o instanceof SpellAbility) {
|
||||||
s = (SpellAbility) o;
|
s = (SpellAbility) o;
|
||||||
// if there is no target information in SA but targets are listed in SpellAbilityTargeting cards, copy that
|
// if there is no target information in SA but targets are listed in SpellAbilityTargeting cards, copy that
|
||||||
// information so it's not lost if the calling code is interested in targets of the triggered SA.
|
// information so it's not lost if the calling code is interested in targets of the triggered SA.
|
||||||
if (triggeringType.equals("SpellAbility")) {
|
if (triggeringType.equals("SpellAbility")) {
|
||||||
final CardCollectionView tgtList = (CardCollectionView)root.getTriggeringObject("SpellAbilityTargetingCards");
|
final CardCollectionView tgtList = (CardCollectionView)root.getTriggeringObject(AbilityKey.SpellAbilityTargetingCards);
|
||||||
if (s.getTargets() != null && s.getTargets().getNumTargeted() == 0) {
|
if (s.getTargets() != null && s.getTargets().getNumTargeted() == 0) {
|
||||||
if (tgtList != null && tgtList.size() > 0) {
|
if (tgtList != null && tgtList.size() > 0) {
|
||||||
TargetChoices tc = new TargetChoices();
|
TargetChoices tc = new TargetChoices();
|
||||||
@@ -1390,7 +1392,7 @@ public class AbilityUtils {
|
|||||||
cost = new Cost(source.getManaCost(), true);
|
cost = new Cost(source.getManaCost(), true);
|
||||||
}
|
}
|
||||||
else if (unlessCost.equals("TriggeredSpellManaCost")) {
|
else if (unlessCost.equals("TriggeredSpellManaCost")) {
|
||||||
SpellAbility triggered = (SpellAbility) sa.getRootAbility().getTriggeringObject("SpellAbility");
|
SpellAbility triggered = (SpellAbility) sa.getRootAbility().getTriggeringObject(AbilityKey.SpellAbility);
|
||||||
Card triggeredCard = triggered.getHostCard();
|
Card triggeredCard = triggered.getHostCard();
|
||||||
if (triggeredCard.getManaCost() == null) {
|
if (triggeredCard.getManaCost() == null) {
|
||||||
cost = new Cost(ManaCost.ZERO, true);
|
cost = new Cost(ManaCost.ZERO, true);
|
||||||
@@ -1608,7 +1610,7 @@ public class AbilityUtils {
|
|||||||
// Count$TriggeredPayingMana.<Color1>.<Color2>
|
// Count$TriggeredPayingMana.<Color1>.<Color2>
|
||||||
if (sq[0].startsWith("TriggeredPayingMana")) {
|
if (sq[0].startsWith("TriggeredPayingMana")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
String mana = (String) root.getTriggeringObject("PayingMana");
|
String mana = (String) root.getTriggeringObject(AbilityKey.PayingMana);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
Matcher mat = Pattern.compile(StringUtils.join(sq, "|", 1, sq.length)).matcher(mana);
|
Matcher mat = Pattern.compile(StringUtils.join(sq, "|", 1, sq.length)).matcher(mana);
|
||||||
while (mat.find()) {
|
while (mat.find()) {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.game.ability.effects;
|
|||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.combat.AttackingBand;
|
import forge.game.combat.AttackingBand;
|
||||||
@@ -54,12 +55,12 @@ public class ChangeCombatantsEffect extends SpellAbilityEffect {
|
|||||||
// retarget triggers to the new defender (e.g. Ulamog, Ceaseless Hunger + Portal Mage)
|
// retarget triggers to the new defender (e.g. Ulamog, Ceaseless Hunger + Portal Mage)
|
||||||
for (SpellAbilityStackInstance si : game.getStack()) {
|
for (SpellAbilityStackInstance si : game.getStack()) {
|
||||||
if (si.isTrigger() && c.equals(si.getSourceCard())
|
if (si.isTrigger() && c.equals(si.getSourceCard())
|
||||||
&& si.getTriggeringObject("Attacker") != null) {
|
&& si.getTriggeringObject(AbilityKey.Attacker) != null) {
|
||||||
si.addTriggeringObject("OriginalDefender", originalDefender);
|
si.addTriggeringObject(AbilityKey.OriginalDefender, originalDefender);
|
||||||
if (defender instanceof Player) {
|
if (defender instanceof Player) {
|
||||||
si.updateTriggeringObject("DefendingPlayer", defender);
|
si.updateTriggeringObject(AbilityKey.DefendingPlayer, defender);
|
||||||
} else if (defender instanceof Card) {
|
} else if (defender instanceof Card) {
|
||||||
si.updateTriggeringObject("DefendingPlayer", ((Card)defender).getController());
|
si.updateTriggeringObject(AbilityKey.DefendingPlayer, ((Card)defender).getController());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1048,7 +1048,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Object getTriggeringObject(final String typeIn) {
|
public final Object getTriggeringObject(final AbilityKey typeIn) {
|
||||||
Object triggered = null;
|
Object triggered = null;
|
||||||
if (!currentState.getTriggers().isEmpty()) {
|
if (!currentState.getTriggers().isEmpty()) {
|
||||||
for (final Trigger t : currentState.getTriggers()) {
|
for (final Trigger t : currentState.getTriggers()) {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import forge.game.GameEntity;
|
|||||||
import forge.game.GameEntityCounterTable;
|
import forge.game.GameEntityCounterTable;
|
||||||
import forge.game.GameLogEntryType;
|
import forge.game.GameLogEntryType;
|
||||||
import forge.game.ability.AbilityFactory;
|
import forge.game.ability.AbilityFactory;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.card.CardPredicates.Presets;
|
import forge.game.card.CardPredicates.Presets;
|
||||||
@@ -948,7 +949,7 @@ public class CardFactoryUtil {
|
|||||||
|
|
||||||
// TriggeringObjects
|
// TriggeringObjects
|
||||||
if (sq[0].startsWith("Triggered")) {
|
if (sq[0].startsWith("Triggered")) {
|
||||||
return doXMath(xCount((Card) c.getTriggeringObject("Card"), sq[0].substring(9)), m, c);
|
return doXMath(xCount((Card) c.getTriggeringObject(AbilityKey.Card), sq[0].substring(9)), m, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sq[0].contains("YourStartingLife")) {
|
if (sq[0].contains("YourStartingLife")) {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import forge.card.MagicColor;
|
|||||||
import forge.game.Direction;
|
import forge.game.Direction;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.card.CardPredicates.Presets;
|
import forge.game.card.CardPredicates.Presets;
|
||||||
import forge.game.combat.AttackingBand;
|
import forge.game.combat.AttackingBand;
|
||||||
@@ -874,7 +875,7 @@ public class CardProperty {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case "TriggeredCard":
|
case "TriggeredCard":
|
||||||
final Object triggeringObject = source.getTriggeringObject(restriction.substring("Triggered".length()));
|
final Object triggeringObject = source.getTriggeringObject(AbilityKey.fromString(restriction.substring("Triggered".length())));
|
||||||
if (!(triggeringObject instanceof Card)) {
|
if (!(triggeringObject instanceof Card)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -957,7 +958,7 @@ public class CardProperty {
|
|||||||
if (spellAbility == null) {
|
if (spellAbility == null) {
|
||||||
System.out.println("Looking at TriggeredCard but no SA?");
|
System.out.println("Looking at TriggeredCard but no SA?");
|
||||||
} else {
|
} else {
|
||||||
Card triggeredCard = ((Card)spellAbility.getTriggeringObject("Card"));
|
Card triggeredCard = ((Card) spellAbility.getTriggeringObject(AbilityKey.Card));
|
||||||
if (triggeredCard != null && card.sharesNameWith(triggeredCard)) {
|
if (triggeredCard != null && card.sharesNameWith(triggeredCard)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import forge.card.ColorSet;
|
|||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameObject;
|
import forge.game.GameObject;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -411,7 +412,7 @@ public final class CardUtil {
|
|||||||
}
|
}
|
||||||
} else if (reflectProperty.equals("Produced")) {
|
} else if (reflectProperty.equals("Produced")) {
|
||||||
// Why is this name so similar to the one below?
|
// Why is this name so similar to the one below?
|
||||||
final String producedColors = abMana instanceof AbilitySub ? (String) abMana.getRootAbility().getTriggeringObject("Produced") : (String) abMana.getTriggeringObject("Produced");
|
final String producedColors = abMana instanceof AbilitySub ? (String) abMana.getRootAbility().getTriggeringObject(AbilityKey.Produced) : (String) abMana.getTriggeringObject(AbilityKey.Produced);
|
||||||
for (final String col : MagicColor.Constant.ONLY_COLORS) {
|
for (final String col : MagicColor.Constant.ONLY_COLORS) {
|
||||||
final String s = MagicColor.toShortString(col);
|
final String s = MagicColor.toShortString(col);
|
||||||
if (producedColors.contains(s)) {
|
if (producedColors.contains(s)) {
|
||||||
|
|||||||
@@ -546,13 +546,13 @@ public class Combat {
|
|||||||
Game game = c.getGame();
|
Game game = c.getGame();
|
||||||
for (SpellAbilityStackInstance si : game.getStack()) {
|
for (SpellAbilityStackInstance si : game.getStack()) {
|
||||||
if (si.isTrigger() && c.equals(si.getSourceCard())) {
|
if (si.isTrigger() && c.equals(si.getSourceCard())) {
|
||||||
GameEntity origDefender = (GameEntity)si.getTriggeringObject("OriginalDefender");
|
GameEntity origDefender = (GameEntity)si.getTriggeringObject(AbilityKey.OriginalDefender);
|
||||||
if (origDefender != null) {
|
if (origDefender != null) {
|
||||||
si.updateTriggeringObject("Defender", origDefender);
|
si.updateTriggeringObject(AbilityKey.Defender, origDefender);
|
||||||
if (origDefender instanceof Player) {
|
if (origDefender instanceof Player) {
|
||||||
si.updateTriggeringObject("DefendingPlayer", origDefender);
|
si.updateTriggeringObject(AbilityKey.DefendingPlayer, origDefender);
|
||||||
} else if (origDefender instanceof Card) {
|
} else if (origDefender instanceof Card) {
|
||||||
si.updateTriggeringObject("DefendingPlayer", ((Card)origDefender).getController());
|
si.updateTriggeringObject(AbilityKey.DefendingPlayer, ((Card)origDefender).getController());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.google.common.collect.Maps;
|
|||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.*;
|
import forge.game.*;
|
||||||
import forge.game.ability.AbilityFactory;
|
import forge.game.ability.AbilityFactory;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
@@ -138,7 +139,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
|
|
||||||
private HashMap<String, CardCollection> paidLists = Maps.newHashMap();
|
private HashMap<String, CardCollection> paidLists = Maps.newHashMap();
|
||||||
|
|
||||||
private Map<String, Object> triggeringObjects = Maps.newHashMap();
|
private Map<AbilityKey, Object> triggeringObjects = AbilityKey.newMap();
|
||||||
|
|
||||||
private HashMap<String, Object> replacingObjects = Maps.newHashMap();
|
private HashMap<String, Object> replacingObjects = Maps.newHashMap();
|
||||||
|
|
||||||
@@ -552,19 +553,19 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
return sa;
|
return sa;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, Object> getTriggeringObjects() {
|
public Map<AbilityKey, Object> getTriggeringObjects() {
|
||||||
return triggeringObjects;
|
return triggeringObjects;
|
||||||
}
|
}
|
||||||
public void setTriggeringObjects(final Map<String, Object> triggeredObjects) {
|
public void setTriggeringObjects(final Map<AbilityKey, Object> triggeredObjects) {
|
||||||
triggeringObjects = Maps.newHashMap(triggeredObjects);
|
triggeringObjects = AbilityKey.newMap(triggeredObjects);
|
||||||
}
|
}
|
||||||
public Object getTriggeringObject(final String type) {
|
public Object getTriggeringObject(final AbilityKey type) {
|
||||||
return triggeringObjects.get(type);
|
return triggeringObjects.get(type);
|
||||||
}
|
}
|
||||||
public void setTriggeringObject(final String type, final Object o) {
|
public void setTriggeringObject(final AbilityKey type, final Object o) {
|
||||||
triggeringObjects.put(type, o);
|
triggeringObjects.put(type, o);
|
||||||
}
|
}
|
||||||
public boolean hasTriggeringObject(final String type) {
|
public boolean hasTriggeringObject(final AbilityKey type) {
|
||||||
return triggeringObjects.containsKey(type);
|
return triggeringObjects.containsKey(type);
|
||||||
}
|
}
|
||||||
public void resetTriggeringObjects() {
|
public void resetTriggeringObjects() {
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ public class SpellAbilityStackInstance implements IIdentifiable, IHasCardView {
|
|||||||
// is Kicked, is Buyback
|
// is Kicked, is Buyback
|
||||||
|
|
||||||
// Triggers
|
// Triggers
|
||||||
private final Map<String, Object> triggeringObjects;
|
private final Map<AbilityKey, Object> triggeringObjects;
|
||||||
private final List<Object> triggerRemembered;
|
private final List<Object> triggerRemembered;
|
||||||
|
|
||||||
private final Map<String, String> storedSVars = Maps.newHashMap();
|
private final Map<String, String> storedSVars = Maps.newHashMap();
|
||||||
@@ -364,7 +364,7 @@ public class SpellAbilityStackInstance implements IIdentifiable, IHasCardView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addTriggeringObject(String trigObj, Object value) {
|
public boolean addTriggeringObject(AbilityKey trigObj, Object value) {
|
||||||
if (!triggeringObjects.containsKey(trigObj)) {
|
if (!triggeringObjects.containsKey(trigObj)) {
|
||||||
triggeringObjects.put(trigObj, value);
|
triggeringObjects.put(trigObj, value);
|
||||||
return true;
|
return true;
|
||||||
@@ -372,7 +372,7 @@ public class SpellAbilityStackInstance implements IIdentifiable, IHasCardView {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateTriggeringObject(String trigObj, Object value) {
|
public boolean updateTriggeringObject(AbilityKey trigObj, Object value) {
|
||||||
if (triggeringObjects.containsKey(trigObj)) {
|
if (triggeringObjects.containsKey(trigObj)) {
|
||||||
triggeringObjects.replace(trigObj, value);
|
triggeringObjects.replace(trigObj, value);
|
||||||
return true;
|
return true;
|
||||||
@@ -380,7 +380,7 @@ public class SpellAbilityStackInstance implements IIdentifiable, IHasCardView {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getTriggeringObject(String trigObj) {
|
public Object getTriggeringObject(AbilityKey trigObj) {
|
||||||
if (triggeringObjects.containsKey(trigObj)) {
|
if (triggeringObjects.containsKey(trigObj)) {
|
||||||
return triggeringObjects.get(trigObj);
|
return triggeringObjects.get(trigObj);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import forge.game.Game;
|
|||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
import forge.game.TriggerReplacementBase;
|
import forge.game.TriggerReplacementBase;
|
||||||
import forge.game.ability.AbilityFactory;
|
import forge.game.ability.AbilityFactory;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.ability.effects.CharmEffect;
|
import forge.game.ability.effects.CharmEffect;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
@@ -36,7 +37,6 @@ import forge.game.zone.ZoneType;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
|
||||||
|
|
||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
|
|
||||||
private TriggerType mode;
|
private TriggerType mode;
|
||||||
|
|
||||||
private Map<String, Object> storedTriggeredObjects = null;
|
private Map<AbilityKey, Object> storedTriggeredObjects = null;
|
||||||
|
|
||||||
private List<Object> triggerRemembered = Lists.newArrayList();
|
private List<Object> triggerRemembered = Lists.newArrayList();
|
||||||
|
|
||||||
@@ -87,8 +87,8 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
* a {@link java.util.HashMap} object.
|
* a {@link java.util.HashMap} object.
|
||||||
* @since 1.0.15
|
* @since 1.0.15
|
||||||
*/
|
*/
|
||||||
public final void setStoredTriggeredObjects(final Map<String, Object> storedTriggeredObjects) {
|
public final void setStoredTriggeredObjects(final Map<AbilityKey, Object> storedTriggeredObjects) {
|
||||||
this.storedTriggeredObjects = Maps.newHashMap(storedTriggeredObjects);
|
this.storedTriggeredObjects = AbilityKey.newMap(storedTriggeredObjects);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +99,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
* @return a {@link java.util.HashMap} object.
|
* @return a {@link java.util.HashMap} object.
|
||||||
* @since 1.0.15
|
* @since 1.0.15
|
||||||
*/
|
*/
|
||||||
public final Map<String, Object> getStoredTriggeredObjects() {
|
public final Map<AbilityKey, Object> getStoredTriggeredObjects() {
|
||||||
return this.storedTriggeredObjects;
|
return this.storedTriggeredObjects;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -363,9 +363,9 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean meetsRequirementsOnTriggeredObjects(Game game, Map<String, Object> runParams) {
|
public boolean meetsRequirementsOnTriggeredObjects(Game game, final Map<AbilityKey, Object> runParams) {
|
||||||
if ("True".equals(this.mapParams.get("EvolveCondition"))) {
|
if ("True".equals(this.mapParams.get("EvolveCondition"))) {
|
||||||
final Card moved = (Card) runParams.get("Card");
|
final Card moved = (Card) runParams.get(AbilityKey.Card);
|
||||||
if (moved == null) {
|
if (moved == null) {
|
||||||
return false;
|
return false;
|
||||||
// final StringBuilder sb = new StringBuilder();
|
// final StringBuilder sb = new StringBuilder();
|
||||||
@@ -381,26 +381,26 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
|
|
||||||
String condition = this.mapParams.get("Condition");
|
String condition = this.mapParams.get("Condition");
|
||||||
if ("AltCost".equals(condition)) {
|
if ("AltCost".equals(condition)) {
|
||||||
final Card moved = (Card) runParams.get("Card");
|
final Card moved = (Card) runParams.get(AbilityKey.Card);
|
||||||
if( null != moved && !moved.isOptionalCostPaid(OptionalCost.AltCost))
|
if( null != moved && !moved.isOptionalCostPaid(OptionalCost.AltCost))
|
||||||
return false;
|
return false;
|
||||||
} else if ("AttackedPlayerWithMostLife".equals(condition)) {
|
} else if ("AttackedPlayerWithMostLife".equals(condition)) {
|
||||||
GameEntity attacked = (GameEntity) runParams.get("Attacked");
|
GameEntity attacked = (GameEntity) runParams.get(AbilityKey.Attacked);
|
||||||
if (attacked == null) {
|
if (attacked == null) {
|
||||||
// Check "Defender" too because once triggering objects are set on TriggerAttacks, the value of Attacked
|
// Check "Defender" too because once triggering objects are set on TriggerAttacks, the value of Attacked
|
||||||
// ends up being in Defender at that point.
|
// ends up being in Defender at that point.
|
||||||
attacked = (GameEntity) runParams.get("Defender");
|
attacked = (GameEntity) runParams.get(AbilityKey.Defender);
|
||||||
}
|
}
|
||||||
if (attacked == null || !attacked.isValid("Player.withMostLife",
|
if (attacked == null || !attacked.isValid("Player.withMostLife",
|
||||||
this.getHostCard().getController(), this.getHostCard(), null)) {
|
this.getHostCard().getController(), this.getHostCard(), null)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if ("AttackedPlayerWhoAttackedYouLastTurn".equals(condition)) {
|
} else if ("AttackedPlayerWhoAttackedYouLastTurn".equals(condition)) {
|
||||||
GameEntity attacked = (GameEntity) runParams.get("Attacked");
|
GameEntity attacked = (GameEntity) runParams.get(AbilityKey.Attacked);
|
||||||
if (attacked == null) {
|
if (attacked == null) {
|
||||||
// Check "Defender" too because once triggering objects are set on TriggerAttacks, the value of Attacked
|
// Check "Defender" too because once triggering objects are set on TriggerAttacks, the value of Attacked
|
||||||
// ends up being in Defender at that point.
|
// ends up being in Defender at that point.
|
||||||
attacked = (GameEntity) runParams.get("DefendingPlayer");
|
attacked = (GameEntity) runParams.get(AbilityKey.DefendingPlayer);
|
||||||
}
|
}
|
||||||
Player attacker = this.getHostCard().getController();
|
Player attacker = this.getHostCard().getController();
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -62,7 +63,7 @@ public class TriggerAbandoned extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Scheme", this.getRunParams().get("Scheme"));
|
sa.setTriggeringObject(AbilityKey.Scheme, this.getRunParams().get("Scheme"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -63,13 +64,13 @@ public class TriggerAdapt extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Adapt: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Adapt: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -72,14 +73,14 @@ public class TriggerAttached extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Source", this.getRunParams().get("AttachSource"));
|
sa.setTriggeringObject(AbilityKey.Source, this.getRunParams().get("AttachSource"));
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("AttachTarget"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("AttachTarget"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Attachee: ").append(sa.getTriggeringObject("Target"));
|
sb.append("Attachee: ").append(sa.getTriggeringObject(AbilityKey.Target));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardLists;
|
import forge.game.card.CardLists;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -84,18 +85,18 @@ public class TriggerAttackerBlocked extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Attacker", getRunParams().get("Attacker"));
|
sa.setTriggeringObject(AbilityKey.Attacker, getRunParams().get("Attacker"));
|
||||||
sa.setTriggeringObject("Blockers", getRunParams().get("Blockers"));
|
sa.setTriggeringObject(AbilityKey.Blockers, getRunParams().get("Blockers"));
|
||||||
sa.setTriggeringObject("Defender", getRunParams().get("Defender"));
|
sa.setTriggeringObject(AbilityKey.Defender, getRunParams().get("Defender"));
|
||||||
sa.setTriggeringObject("DefendingPlayer", getRunParams().get("DefendingPlayer"));
|
sa.setTriggeringObject(AbilityKey.DefendingPlayer, getRunParams().get("DefendingPlayer"));
|
||||||
sa.setTriggeringObject("NumBlockers", getRunParams().get("NumBlockers"));
|
sa.setTriggeringObject(AbilityKey.NumBlockers, getRunParams().get("NumBlockers"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Attacker: ").append(sa.getTriggeringObject("Attacker")).append(", ");
|
sb.append("Attacker: ").append(sa.getTriggeringObject(AbilityKey.Attacker)).append(", ");
|
||||||
sb.append("Number Blockers: ").append(sa.getTriggeringObject("NumBlockers"));
|
sb.append("Number Blockers: ").append(sa.getTriggeringObject(AbilityKey.NumBlockers));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -87,15 +88,15 @@ public class TriggerAttackerBlockedByCreature extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Attacker", this.getRunParams().get("Attacker"));
|
sa.setTriggeringObject(AbilityKey.Attacker, this.getRunParams().get("Attacker"));
|
||||||
sa.setTriggeringObject("Blocker", this.getRunParams().get("Blocker"));
|
sa.setTriggeringObject(AbilityKey.Blocker, this.getRunParams().get("Blocker"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Attacker: ").append(sa.getTriggeringObject("Attacker")).append(", ");
|
sb.append("Attacker: ").append(sa.getTriggeringObject(AbilityKey.Attacker)).append(", ");
|
||||||
sb.append("Blocker: ").append(sa.getTriggeringObject("Blocker"));
|
sb.append("Blocker: ").append(sa.getTriggeringObject(AbilityKey.Blocker));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -69,15 +70,15 @@ public class TriggerAttackerUnblocked extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Attacker", this.getRunParams().get("Attacker"));
|
sa.setTriggeringObject(AbilityKey.Attacker, this.getRunParams().get("Attacker"));
|
||||||
sa.setTriggeringObject("Defender", this.getRunParams().get("Defender"));
|
sa.setTriggeringObject(AbilityKey.Defender, this.getRunParams().get("Defender"));
|
||||||
sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer"));
|
sa.setTriggeringObject(AbilityKey.DefendingPlayer, this.getRunParams().get("DefendingPlayer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Attacker: ").append(sa.getTriggeringObject("Attacker"));
|
sb.append("Attacker: ").append(sa.getTriggeringObject(AbilityKey.Attacker));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -84,15 +85,15 @@ public class TriggerAttackerUnblockedOnce extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("AttackingPlayer", this.getRunParams().get("AttackingPlayer"));
|
sa.setTriggeringObject(AbilityKey.AttackingPlayer, this.getRunParams().get("AttackingPlayer"));
|
||||||
sa.setTriggeringObject("Defenders", this.getRunParams().get("Defenders"));
|
sa.setTriggeringObject(AbilityKey.Defenders, this.getRunParams().get("Defenders"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("AttackingPlayer: ").append(sa.getTriggeringObject("AttackingPlayer"));
|
sb.append("AttackingPlayer: ").append(sa.getTriggeringObject(AbilityKey.AttackingPlayer));
|
||||||
sb.append("Defenders: ").append(sa.getTriggeringObject("Defenders"));
|
sb.append("Defenders: ").append(sa.getTriggeringObject(AbilityKey.Defenders));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -86,14 +87,14 @@ public class TriggerAttackersDeclared extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers"));
|
sa.setTriggeringObject(AbilityKey.Attackers, this.getRunParams().get("Attackers"));
|
||||||
sa.setTriggeringObject("AttackingPlayer", this.getRunParams().get("AttackingPlayer"));
|
sa.setTriggeringObject(AbilityKey.AttackingPlayer, this.getRunParams().get("AttackingPlayer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Number Attackers: ").append(sa.getTriggeringObject("Attackers"));
|
sb.append("Number Attackers: ").append(sa.getTriggeringObject(AbilityKey.Attackers));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -124,17 +125,17 @@ public class TriggerAttacks extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Attacker", this.getRunParams().get("Attacker"));
|
sa.setTriggeringObject(AbilityKey.Attacker, this.getRunParams().get("Attacker"));
|
||||||
sa.setTriggeringObject("Defender", this.getRunParams().get("Attacked"));
|
sa.setTriggeringObject(AbilityKey.Defender, this.getRunParams().get("Attacked"));
|
||||||
sa.setTriggeringObject("Defenders", this.getRunParams().get("Defenders"));
|
sa.setTriggeringObject(AbilityKey.Defenders, this.getRunParams().get("Defenders"));
|
||||||
sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer"));
|
sa.setTriggeringObject(AbilityKey.DefendingPlayer, this.getRunParams().get("DefendingPlayer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
sb.append("Attacker: ").append(sa.getTriggeringObject("Attacker"));
|
sb.append("Attacker: ").append(sa.getTriggeringObject(AbilityKey.Attacker));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package forge.game.trigger;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -35,13 +36,13 @@ public class TriggerBecomeMonarch extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player")).append(", ");
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player)).append(", ");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -64,14 +65,14 @@ public class TriggerBecomeMonstrous extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("MonstrosityAmount", getRunParams().get("MonstrosityAmount"));
|
sa.setTriggeringObject(AbilityKey.MonstrosityAmount, getRunParams().get("MonstrosityAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Monstrous: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Monstrous: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -62,13 +63,13 @@ public class TriggerBecomeRenowned extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Renowned: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Renowned: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -88,16 +89,16 @@ public class TriggerBecomesTarget extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("SourceSA", this.getRunParams().get("SourceSA"));
|
sa.setTriggeringObject(AbilityKey.SourceSA, this.getRunParams().get("SourceSA"));
|
||||||
sa.setTriggeringObject("Source", ((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard());
|
sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard());
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("Target"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("Target"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Source: ").append(((SpellAbility) sa.getTriggeringObject("SourceSA")).getHostCard()).append(", ");
|
sb.append("Source: ").append(((SpellAbility) sa.getTriggeringObject(AbilityKey.SourceSA)).getHostCard()).append(", ");
|
||||||
sb.append("Target: ").append(sa.getTriggeringObject("Target"));
|
sb.append("Target: ").append(sa.getTriggeringObject(AbilityKey.Target));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameObject;
|
import forge.game.GameObject;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -80,16 +81,16 @@ public class TriggerBecomesTargetOnce extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("SourceSA", this.getRunParams().get("SourceSA"));
|
sa.setTriggeringObject(AbilityKey.SourceSA, this.getRunParams().get("SourceSA"));
|
||||||
sa.setTriggeringObject("Source", ((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard());
|
sa.setTriggeringObject(AbilityKey.Source, ((SpellAbility) this.getRunParams().get("SourceSA")).getHostCard());
|
||||||
sa.setTriggeringObject("Targets", this.getRunParams().get("Targets"));
|
sa.setTriggeringObject(AbilityKey.Targets, this.getRunParams().get("Targets"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Source: ").append(((SpellAbility) sa.getTriggeringObject("SourceSA")).getHostCard()).append(", ");
|
sb.append("Source: ").append(((SpellAbility) sa.getTriggeringObject(AbilityKey.SourceSA)).getHostCard()).append(", ");
|
||||||
sb.append("Targets: ").append(sa.getTriggeringObject("Targets"));
|
sb.append("Targets: ").append(sa.getTriggeringObject(AbilityKey.Targets));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -51,14 +52,14 @@ public class TriggerBlockersDeclared extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Blockers", this.getRunParams().get("Blockers"));
|
sa.setTriggeringObject(AbilityKey.Blockers, this.getRunParams().get("Blockers"));
|
||||||
sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers"));
|
sa.setTriggeringObject(AbilityKey.Attackers, this.getRunParams().get("Attackers"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Blockers: ").append(sa.getTriggeringObject("Blockers"));
|
sb.append("Blockers: ").append(sa.getTriggeringObject(AbilityKey.Blockers));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -88,14 +89,14 @@ public class TriggerBlocks extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Blocker", this.getRunParams().get("Blocker"));
|
sa.setTriggeringObject(AbilityKey.Blocker, this.getRunParams().get("Blocker"));
|
||||||
sa.setTriggeringObject("Attackers", this.getRunParams().get("Attackers"));
|
sa.setTriggeringObject(AbilityKey.Attackers, this.getRunParams().get("Attackers"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Blocker: ").append(sa.getTriggeringObject("Blocker"));
|
sb.append("Blocker: ").append(sa.getTriggeringObject(AbilityKey.Blocker));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -71,14 +72,14 @@ public class TriggerChampioned extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Championed", this.getRunParams().get("Championed"));
|
sa.setTriggeringObject(AbilityKey.Championed, this.getRunParams().get("Championed"));
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Championed: ").append(sa.getTriggeringObject("Championed"));
|
sb.append("Championed: ").append(sa.getTriggeringObject(AbilityKey.Championed));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -70,13 +71,13 @@ public class TriggerChangesController extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Changed Controller: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Changed Controller: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardFactoryUtil;
|
import forge.game.card.CardFactoryUtil;
|
||||||
@@ -217,13 +218,13 @@ public class TriggerChangesZone extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Zone Changer: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Zone Changer: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package forge.game.trigger;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.*;
|
import forge.game.card.*;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -26,14 +27,14 @@ public class TriggerChangesZoneAll extends Trigger {
|
|||||||
|
|
||||||
CardCollection allCards = this.filterCards(table);
|
CardCollection allCards = this.filterCards(table);
|
||||||
|
|
||||||
sa.setTriggeringObject("Cards", allCards);
|
sa.setTriggeringObject(AbilityKey.Cards, allCards);
|
||||||
sa.setTriggeringObject("Amount", allCards.size());
|
sa.setTriggeringObject(AbilityKey.Amount, allCards.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("Amount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.Amount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -121,19 +122,19 @@ public class TriggerCounterAdded extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
if (this.getRunParams().containsKey("Card"))
|
if (this.getRunParams().containsKey("Card"))
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
if (this.getRunParams().containsKey("Player"))
|
if (this.getRunParams().containsKey("Player"))
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Added once: ");
|
sb.append("Added once: ");
|
||||||
if (sa.hasTriggeringObject("Card"))
|
if (sa.hasTriggeringObject(AbilityKey.Card))
|
||||||
sb.append(sa.getTriggeringObject("Card"));
|
sb.append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
if (sa.hasTriggeringObject("Player"))
|
if (sa.hasTriggeringObject(AbilityKey.Player))
|
||||||
sb.append(sa.getTriggeringObject("Player"));
|
sb.append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.google.common.collect.Lists;
|
|||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
import forge.game.GameEntityCounterTable;
|
import forge.game.GameEntityCounterTable;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.*;
|
import forge.game.card.*;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -33,14 +34,14 @@ public class TriggerCounterAddedAll extends Trigger {
|
|||||||
amount += v;
|
amount += v;
|
||||||
}
|
}
|
||||||
|
|
||||||
sa.setTriggeringObject("Objects", Lists.newArrayList(all.keySet()));
|
sa.setTriggeringObject(AbilityKey.Objects, Lists.newArrayList(all.keySet()));
|
||||||
sa.setTriggeringObject("Amount", amount);
|
sa.setTriggeringObject(AbilityKey.Amount, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("Amount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.Amount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -106,22 +107,22 @@ public class TriggerCounterAddedOnce extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
if (this.getRunParams().containsKey("Card"))
|
if (this.getRunParams().containsKey("Card"))
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
if (this.getRunParams().containsKey("Player"))
|
if (this.getRunParams().containsKey("Player"))
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
sa.setTriggeringObject("Amount", this.getRunParams().get("CounterAmount"));
|
sa.setTriggeringObject(AbilityKey.Amount, this.getRunParams().get("CounterAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Added once: ");
|
sb.append("Added once: ");
|
||||||
if (sa.hasTriggeringObject("Card"))
|
if (sa.hasTriggeringObject(AbilityKey.Card))
|
||||||
sb.append(sa.getTriggeringObject("Card"));
|
sb.append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
if (sa.hasTriggeringObject("Player"))
|
if (sa.hasTriggeringObject(AbilityKey.Player))
|
||||||
sb.append(sa.getTriggeringObject("Player"));
|
sb.append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
|
|
||||||
sb.append(" Amount: ").append(sa.getTriggeringObject("Amount"));
|
sb.append(" Amount: ").append(sa.getTriggeringObject(AbilityKey.Amount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -82,13 +83,13 @@ public class TriggerCounterRemoved extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Removed from: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Removed from: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -73,15 +74,15 @@ public class TriggerCounterRemovedOnce extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Amount", this.getRunParams().get("CounterAmount"));
|
sa.setTriggeringObject(AbilityKey.Amount, this.getRunParams().get("CounterAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Removed from: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Removed from: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
sb.append(" Amount: ").append(sa.getTriggeringObject("Amount"));
|
sb.append(" Amount: ").append(sa.getTriggeringObject(AbilityKey.Amount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -92,17 +93,17 @@ public class TriggerCountered extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Cause", this.getRunParams().get("Cause"));
|
sa.setTriggeringObject(AbilityKey.Cause, this.getRunParams().get("Cause"));
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
sa.setTriggeringObject("CounteredSA", this.getRunParams().get("CounteredSA"));
|
sa.setTriggeringObject(AbilityKey.CounteredSA, this.getRunParams().get("CounteredSA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Countered: ").append(sa.getTriggeringObject("Card")).append(", ");
|
sb.append("Countered: ").append(sa.getTriggeringObject(AbilityKey.Card)).append(", ");
|
||||||
sb.append("Cause: ").append(sa.getTriggeringObject("Cause"));
|
sb.append("Cause: ").append(sa.getTriggeringObject(AbilityKey.Cause));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollection;
|
import forge.game.card.CardCollection;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -38,16 +39,16 @@ public class TriggerCrewed extends Trigger {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Vehicle", this.getRunParams().get("Vehicle"));
|
sa.setTriggeringObject(AbilityKey.Vehicle, this.getRunParams().get("Vehicle"));
|
||||||
sa.setTriggeringObject("Crew", this.getRunParams().get("Crew"));
|
sa.setTriggeringObject(AbilityKey.Crew, this.getRunParams().get("Crew"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Vehicle: ").append(sa.getTriggeringObject("Vehicle"));
|
sb.append("Vehicle: ").append(sa.getTriggeringObject(AbilityKey.Vehicle));
|
||||||
sb.append(" ");
|
sb.append(" ");
|
||||||
sb.append("Crew: ").append(sa.getTriggeringObject("Crew"));
|
sb.append("Crew: ").append(sa.getTriggeringObject(AbilityKey.Crew));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -49,13 +50,13 @@ public class TriggerCycled extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Cycled: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Cycled: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.util.Expressions;
|
import forge.util.Expressions;
|
||||||
@@ -105,17 +106,17 @@ public class TriggerDamageDealtOnce extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Source", this.getRunParams().get("DamageSource"));
|
sa.setTriggeringObject(AbilityKey.Source, this.getRunParams().get("DamageSource"));
|
||||||
sa.setTriggeringObject("Targets", this.getRunParams().get("DamageTargets"));
|
sa.setTriggeringObject(AbilityKey.Targets, this.getRunParams().get("DamageTargets"));
|
||||||
sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount"));
|
sa.setTriggeringObject(AbilityKey.DamageAmount, this.getRunParams().get("DamageAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Damage Source: ").append(sa.getTriggeringObject("Source")).append(", ");
|
sb.append("Damage Source: ").append(sa.getTriggeringObject(AbilityKey.Source)).append(", ");
|
||||||
sb.append("Damaged: ").append(sa.getTriggeringObject("Targets")).append(", ");
|
sb.append("Damaged: ").append(sa.getTriggeringObject(AbilityKey.Targets)).append(", ");
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("DamageAmount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.DamageAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardUtil;
|
import forge.game.card.CardUtil;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -118,19 +119,19 @@ public class TriggerDamageDone extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Source", CardUtil.getLKICopy((Card)this.getRunParams().get("DamageSource")));
|
sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)this.getRunParams().get("DamageSource")));
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("DamageTarget"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("DamageTarget"));
|
||||||
sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount"));
|
sa.setTriggeringObject(AbilityKey.DamageAmount, this.getRunParams().get("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
|
||||||
sa.setTriggeringObject("DefendingPlayer", this.getRunParams().get("DefendingPlayer"));
|
sa.setTriggeringObject(AbilityKey.DefendingPlayer, this.getRunParams().get("DefendingPlayer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Damage Source: ").append(sa.getTriggeringObject("Source")).append(", ");
|
sb.append("Damage Source: ").append(sa.getTriggeringObject(AbilityKey.Source)).append(", ");
|
||||||
sb.append("Damaged: ").append(sa.getTriggeringObject("Target")).append(", ");
|
sb.append("Damaged: ").append(sa.getTriggeringObject(AbilityKey.Target)).append(", ");
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("DamageAmount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.DamageAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -58,12 +59,12 @@ public class TriggerDamageDoneOnce extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
if (this.getRunParams().containsKey("DamageTarget")) {
|
if (this.getRunParams().containsKey("DamageTarget")) {
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("DamageTarget"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("DamageTarget"));
|
||||||
}
|
}
|
||||||
if (this.getRunParams().containsKey("DamageSources")) {
|
if (this.getRunParams().containsKey("DamageSources")) {
|
||||||
sa.setTriggeringObject("Sources", this.getRunParams().get("DamageSources"));
|
sa.setTriggeringObject(AbilityKey.Sources, this.getRunParams().get("DamageSources"));
|
||||||
}
|
}
|
||||||
sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount"));
|
sa.setTriggeringObject(AbilityKey.DamageAmount, this.getRunParams().get("DamageAmount"));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -71,10 +72,10 @@ public class TriggerDamageDoneOnce extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (sa.getTriggeringObject("Target") != null) {
|
if (sa.getTriggeringObject(AbilityKey.Target) != null) {
|
||||||
sb.append("Damaged: ").append(sa.getTriggeringObject("Target")).append(", ");
|
sb.append("Damaged: ").append(sa.getTriggeringObject(AbilityKey.Target)).append(", ");
|
||||||
}
|
}
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("DamageAmount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.DamageAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardUtil;
|
import forge.game.card.CardUtil;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -102,17 +103,17 @@ public class TriggerDamagePrevented extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Source", CardUtil.getLKICopy((Card)this.getRunParams().get("DamageSource")));
|
sa.setTriggeringObject(AbilityKey.Source, CardUtil.getLKICopy((Card)this.getRunParams().get("DamageSource")));
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("DamageTarget"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("DamageTarget"));
|
||||||
sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount"));
|
sa.setTriggeringObject(AbilityKey.DamageAmount, this.getRunParams().get("DamageAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Damage Source: ").append(sa.getTriggeringObject("Source")).append(", ");
|
sb.append("Damage Source: ").append(sa.getTriggeringObject(AbilityKey.Source)).append(", ");
|
||||||
sb.append("Damage Target: ").append(sa.getTriggeringObject("Target")).append(", ");
|
sb.append("Damage Target: ").append(sa.getTriggeringObject(AbilityKey.Target)).append(", ");
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("DamageAmount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.DamageAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.util.Expressions;
|
import forge.util.Expressions;
|
||||||
@@ -93,15 +94,15 @@ public class TriggerDamagePreventedOnce extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Target", this.getRunParams().get("DamageTarget"));
|
sa.setTriggeringObject(AbilityKey.Target, this.getRunParams().get("DamageTarget"));
|
||||||
sa.setTriggeringObject("DamageAmount", this.getRunParams().get("DamageAmount"));
|
sa.setTriggeringObject(AbilityKey.DamageAmount, this.getRunParams().get("DamageAmount"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Damage Target: ").append(sa.getTriggeringObject("Target")).append(", ");
|
sb.append("Damage Target: ").append(sa.getTriggeringObject(AbilityKey.Target)).append(", ");
|
||||||
sb.append("Amount: ").append(sa.getTriggeringObject("DamageAmount"));
|
sb.append("Amount: ").append(sa.getTriggeringObject(AbilityKey.DamageAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -67,15 +68,15 @@ public class TriggerDestroyed extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Causer", this.getRunParams().get("Causer"));
|
sa.setTriggeringObject(AbilityKey.Causer, this.getRunParams().get("Causer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Destroyed: ").append(sa.getTriggeringObject("Card")).append(", ");
|
sb.append("Destroyed: ").append(sa.getTriggeringObject(AbilityKey.Card)).append(", ");
|
||||||
sb.append("Destroyer: ").append(sa.getTriggeringObject("Causer"));
|
sb.append("Destroyer: ").append(sa.getTriggeringObject(AbilityKey.Causer));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -60,13 +61,13 @@ public class TriggerDevoured extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Devoured", this.getRunParams().get("Devoured"));
|
sa.setTriggeringObject(AbilityKey.Devoured, this.getRunParams().get("Devoured"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Devoured: ").append(sa.getTriggeringObject("Devoured"));
|
sb.append("Devoured: ").append(sa.getTriggeringObject(AbilityKey.Devoured));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -85,15 +86,15 @@ public class TriggerDiscarded extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Cause", this.getRunParams().get("Cause"));
|
sa.setTriggeringObject(AbilityKey.Cause, this.getRunParams().get("Cause"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Discarded: ").append(sa.getTriggeringObject("Card")).append(", ");
|
sb.append("Discarded: ").append(sa.getTriggeringObject(AbilityKey.Card)).append(", ");
|
||||||
sb.append("Cause: ").append(sa.getTriggeringObject("Cause"));
|
sb.append("Cause: ").append(sa.getTriggeringObject(AbilityKey.Cause));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameStage;
|
import forge.game.GameStage;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -80,14 +81,14 @@ public class TriggerDrawn extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Player", getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -61,13 +62,13 @@ public class TriggerEvolved extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Evolved: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Evolved: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -32,14 +33,14 @@ public class TriggerExerted extends Trigger {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Exerted: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Exerted: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
|
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -96,13 +97,13 @@ public class TriggerExiled extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Exiled: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Exiled: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -71,15 +72,15 @@ public class TriggerExploited extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Exploited", this.getRunParams().get("Exploited"));
|
sa.setTriggeringObject(AbilityKey.Exploited, this.getRunParams().get("Exploited"));
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Exploited: ").append(sa.getTriggeringObject("Exploited")).append(", ");
|
sb.append("Exploited: ").append(sa.getTriggeringObject(AbilityKey.Exploited)).append(", ");
|
||||||
sb.append("Exploiter: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Exploiter: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -61,14 +62,14 @@ public class TriggerExplores extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Explorer", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Explorer, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
sb.append("Explorer: ").append(sa.getTriggeringObject("Explorer"));
|
sb.append("Explorer: ").append(sa.getTriggeringObject(AbilityKey.Explorer));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -62,13 +63,13 @@ public class TriggerFight extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Fighter", this.getRunParams().get("Fighter"));
|
sa.setTriggeringObject(AbilityKey.Fighter, this.getRunParams().get("Fighter"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Fighter: ").append(sa.getTriggeringObject("Fighter"));
|
sb.append("Fighter: ").append(sa.getTriggeringObject(AbilityKey.Fighter));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -69,13 +70,13 @@ public class TriggerFlippedCoin extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ public class TriggerHandler {
|
|||||||
|
|
||||||
List<Trigger> trigger = Lists.newArrayList();
|
List<Trigger> trigger = Lists.newArrayList();
|
||||||
for (final Trigger t : activeTriggers) {
|
for (final Trigger t : activeTriggers) {
|
||||||
if (canRunTrigger(t,wt.getMode(),toStringMap(wt.getParams()))) {
|
if (canRunTrigger(t,wt.getMode(),wt.getParams())) {
|
||||||
trigger.add(t);
|
trigger.add(t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -337,7 +337,7 @@ public class TriggerHandler {
|
|||||||
|
|
||||||
private void runStateTrigger(final Map<AbilityKey, Object> runParams) {
|
private void runStateTrigger(final Map<AbilityKey, Object> runParams) {
|
||||||
for (final Trigger t: activeTriggers) {
|
for (final Trigger t: activeTriggers) {
|
||||||
if (canRunTrigger(t, TriggerType.Always, toStringMap(runParams))) {
|
if (canRunTrigger(t, TriggerType.Always, runParams)) {
|
||||||
runSingleTrigger(t, toStringMap(runParams));
|
runSingleTrigger(t, toStringMap(runParams));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -375,7 +375,7 @@ public class TriggerHandler {
|
|||||||
|
|
||||||
// Static triggers
|
// Static triggers
|
||||||
for (final Trigger t : Lists.newArrayList(activeTriggers)) {
|
for (final Trigger t : Lists.newArrayList(activeTriggers)) {
|
||||||
if (t.isStatic() && canRunTrigger(t, mode, toStringMap(runParams))) {
|
if (t.isStatic() && canRunTrigger(t, mode, runParams)) {
|
||||||
runSingleTrigger(t, toStringMap(runParams));
|
runSingleTrigger(t, toStringMap(runParams));
|
||||||
|
|
||||||
checkStatics = true;
|
checkStatics = true;
|
||||||
@@ -427,7 +427,7 @@ public class TriggerHandler {
|
|||||||
boolean checkStatics = false;
|
boolean checkStatics = false;
|
||||||
|
|
||||||
for (final Trigger t : triggers) {
|
for (final Trigger t : triggers) {
|
||||||
if (!t.isStatic() && t.getHostCard().getController().equals(player) && canRunTrigger(t, mode, stringRunParams)) {
|
if (!t.isStatic() && t.getHostCard().getController().equals(player) && canRunTrigger(t, mode, runParams)) {
|
||||||
if (runParams.containsKey(AbilityKey.Card) && runParams.get(AbilityKey.Card) instanceof Card) {
|
if (runParams.containsKey(AbilityKey.Card) && runParams.get(AbilityKey.Card) instanceof Card) {
|
||||||
card = (Card) runParams.get(AbilityKey.Card);
|
card = (Card) runParams.get(AbilityKey.Card);
|
||||||
if (runParams.containsKey(AbilityKey.Destination)
|
if (runParams.containsKey(AbilityKey.Destination)
|
||||||
@@ -458,7 +458,7 @@ public class TriggerHandler {
|
|||||||
|
|
||||||
for (final Trigger deltrig : delayedTriggersWorkingCopy) {
|
for (final Trigger deltrig : delayedTriggersWorkingCopy) {
|
||||||
if (deltrig.getHostCard().getController().equals(player)) {
|
if (deltrig.getHostCard().getController().equals(player)) {
|
||||||
if (isTriggerActive(deltrig) && canRunTrigger(deltrig, mode, stringRunParams)) {
|
if (isTriggerActive(deltrig) && canRunTrigger(deltrig, mode, runParams)) {
|
||||||
runSingleTrigger(deltrig, stringRunParams);
|
runSingleTrigger(deltrig, stringRunParams);
|
||||||
delayedTriggers.remove(deltrig);
|
delayedTriggers.remove(deltrig);
|
||||||
}
|
}
|
||||||
@@ -501,7 +501,7 @@ public class TriggerHandler {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canRunTrigger(final Trigger regtrig, final TriggerType mode, final Map<String, Object> runParams) {
|
private boolean canRunTrigger(final Trigger regtrig, final TriggerType mode, final Map<AbilityKey, Object> runParams) {
|
||||||
if (regtrig.getMode() != mode) {
|
if (regtrig.getMode() != mode) {
|
||||||
return false; // Not the right mode.
|
return false; // Not the right mode.
|
||||||
}
|
}
|
||||||
@@ -514,7 +514,7 @@ public class TriggerHandler {
|
|||||||
return false; // Conditions aren't right.
|
return false; // Conditions aren't right.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!regtrig.performTest(runParams)) {
|
if (!regtrig.performTest(toStringMap(runParams))) {
|
||||||
return false; // Test failed.
|
return false; // Test failed.
|
||||||
}
|
}
|
||||||
if (regtrig.isSuppressed()) {
|
if (regtrig.isSuppressed()) {
|
||||||
@@ -531,10 +531,10 @@ public class TriggerHandler {
|
|||||||
// Torpor Orb check
|
// Torpor Orb check
|
||||||
if (game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noCreatureETBTriggers)
|
if (game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noCreatureETBTriggers)
|
||||||
&& !regtrig.isStatic() && mode.equals(TriggerType.ChangesZone)) {
|
&& !regtrig.isStatic() && mode.equals(TriggerType.ChangesZone)) {
|
||||||
if (runParams.get("Destination") instanceof String) {
|
if (runParams.get(AbilityKey.Destination) instanceof String) {
|
||||||
final String dest = (String) runParams.get("Destination");
|
final String dest = (String) runParams.get(AbilityKey.Destination);
|
||||||
if (dest.equals("Battlefield") && runParams.get("Card") instanceof Card) {
|
if (dest.equals("Battlefield") && runParams.get(AbilityKey.Card) instanceof Card) {
|
||||||
final Card card = (Card) runParams.get("Card");
|
final Card card = (Card) runParams.get(AbilityKey.Card);
|
||||||
if (card.isCreature()) {
|
if (card.isCreature()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -52,14 +53,14 @@ public class TriggerInvestigated extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -51,13 +52,13 @@ public class TriggerLandPlayed extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Land played: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Land played: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -73,15 +74,15 @@ public class TriggerLifeGained extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("LifeAmount", getRunParams().get("LifeAmount"));
|
sa.setTriggeringObject(AbilityKey.LifeAmount, getRunParams().get("LifeAmount"));
|
||||||
sa.setTriggeringObject("Player", getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player")).append(", ");
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player)).append(", ");
|
||||||
sb.append("Gained Amount: ").append(sa.getTriggeringObject("LifeAmount"));
|
sb.append("Gained Amount: ").append(sa.getTriggeringObject(AbilityKey.LifeAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -70,15 +71,15 @@ public class TriggerLifeLost extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("LifeAmount", this.getRunParams().get("LifeAmount"));
|
sa.setTriggeringObject(AbilityKey.LifeAmount, this.getRunParams().get("LifeAmount"));
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player")).append(", ");
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player)).append(", ");
|
||||||
sb.append("Lost Amount: ").append(sa.getTriggeringObject("LifeAmount"));
|
sb.append("Lost Amount: ").append(sa.getTriggeringObject(AbilityKey.LifeAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -38,13 +39,13 @@ public class TriggerLosesGame extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -69,14 +70,14 @@ public class TriggerPayCumulativeUpkeep extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("PayingMana", this.getRunParams().get("PayingMana"));
|
sa.setTriggeringObject(AbilityKey.PayingMana, this.getRunParams().get("PayingMana"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Mana: ").append(sa.getTriggeringObject("PayingMana"));
|
sb.append("Mana: ").append(sa.getTriggeringObject(AbilityKey.PayingMana));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ public class TriggerPayEcho extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -60,15 +61,15 @@ public class TriggerPayLife extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("LifeAmount", getRunParams().get("LifeAmount"));
|
sa.setTriggeringObject(AbilityKey.LifeAmount, getRunParams().get("LifeAmount"));
|
||||||
sa.setTriggeringObject("Player", getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player")).append(", ");
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player)).append(", ");
|
||||||
sb.append("paid Amount: ").append(sa.getTriggeringObject("LifeAmount"));
|
sb.append("paid Amount: ").append(sa.getTriggeringObject(AbilityKey.LifeAmount));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -59,13 +60,13 @@ public class TriggerPhase extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Phase: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Phase: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -27,13 +28,13 @@ public class TriggerPhaseIn extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Phased In: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Phased In: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -35,13 +36,13 @@ public class TriggerPhaseOut extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Phased Out: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Phased Out: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.PlanarDice;
|
import forge.game.PlanarDice;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -55,13 +56,13 @@ public class TriggerPlanarDice extends Trigger {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Roller: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Roller: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollection;
|
import forge.game.card.CardCollection;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -52,13 +53,13 @@ public class TriggerPlaneswalkedFrom extends Trigger {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(final SpellAbility sa) {
|
public void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Cards", this.getRunParams().get("Cards"));
|
sa.setTriggeringObject(AbilityKey.Cards, this.getRunParams().get("Cards"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Planeswalked From: ").append(sa.getTriggeringObject("Cards"));
|
sb.append("Planeswalked From: ").append(sa.getTriggeringObject(AbilityKey.Cards));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -52,13 +53,13 @@ public class TriggerPlaneswalkedTo extends Trigger {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Cards", this.getRunParams().get("Cards"));
|
sa.setTriggeringObject(AbilityKey.Cards, this.getRunParams().get("Cards"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Planeswalked To: ").append(sa.getTriggeringObject("Cards"));
|
sb.append("Planeswalked To: ").append(sa.getTriggeringObject(AbilityKey.Cards));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -67,14 +68,14 @@ public class TriggerRegenerated extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Cause", this.getRunParams().get("Cause"));
|
sa.setTriggeringObject(AbilityKey.Cause, this.getRunParams().get("Cause"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Regenerated: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Regenerated: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
//sb.append("Destroyer: ").append(sa.getTriggeringObject("Causer"));
|
//sb.append("Destroyer: ").append(sa.getTriggeringObject("Causer"));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -31,13 +32,13 @@ public class TriggerRevealed extends Trigger {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Revealed: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Revealed: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.cost.IndividualCostPaymentInstance;
|
import forge.game.cost.IndividualCostPaymentInstance;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -125,13 +126,13 @@ public class TriggerSacrificed extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Sacrificed: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Sacrificed: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -61,13 +62,13 @@ public class TriggerScry extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Scryer: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Scryer: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -73,13 +74,13 @@ public class TriggerSearchedLibrary extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Searcher: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Searcher: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.card.CardType;
|
import forge.card.CardType;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -76,7 +77,7 @@ public class TriggerSetInMotion extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Scheme", this.getRunParams().get("Scheme"));
|
sa.setTriggeringObject(AbilityKey.Scheme, this.getRunParams().get("Scheme"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -73,13 +74,13 @@ public class TriggerShuffled extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Shuffler: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Shuffler: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.google.common.collect.Sets;
|
|||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
import forge.game.GameObject;
|
import forge.game.GameObject;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollection;
|
import forge.game.card.CardCollection;
|
||||||
import forge.game.card.CardLists;
|
import forge.game.card.CardLists;
|
||||||
@@ -265,23 +266,23 @@ public class TriggerSpellAbilityCast extends Trigger {
|
|||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
final SpellAbility castSA = (SpellAbility) getRunParams().get("CastSA");
|
final SpellAbility castSA = (SpellAbility) getRunParams().get("CastSA");
|
||||||
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(castSA);
|
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(castSA);
|
||||||
sa.setTriggeringObject("Card", castSA.getHostCard());
|
sa.setTriggeringObject(AbilityKey.Card, castSA.getHostCard());
|
||||||
sa.setTriggeringObject("SpellAbility", castSA);
|
sa.setTriggeringObject(AbilityKey.SpellAbility, castSA);
|
||||||
sa.setTriggeringObject("StackInstance", si);
|
sa.setTriggeringObject(AbilityKey.StackInstance, si);
|
||||||
sa.setTriggeringObject("SpellAbilityTargetingCards", (si != null ? si.getSpellAbility(true) : castSA).getTargets().getTargetCards());
|
sa.setTriggeringObject(AbilityKey.SpellAbilityTargetingCards, (si != null ? si.getSpellAbility(true) : castSA).getTargets().getTargetCards());
|
||||||
sa.setTriggeringObject("Player", getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, getRunParams().get("Player"));
|
||||||
sa.setTriggeringObject("Activator", getRunParams().get("Activator"));
|
sa.setTriggeringObject(AbilityKey.Activator, getRunParams().get("Activator"));
|
||||||
sa.setTriggeringObject("CurrentStormCount", getRunParams().get("CurrentStormCount"));
|
sa.setTriggeringObject(AbilityKey.CurrentStormCount, getRunParams().get("CurrentStormCount"));
|
||||||
sa.setTriggeringObject("CurrentCastSpells", getRunParams().get("CurrentCastSpells"));
|
sa.setTriggeringObject(AbilityKey.CurrentCastSpells, getRunParams().get("CurrentCastSpells"));
|
||||||
sa.setTriggeringObject("CastSACMC", getRunParams().get("CastSACMC"));
|
sa.setTriggeringObject(AbilityKey.CastSACMC, getRunParams().get("CastSACMC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Card: ").append(sa.getTriggeringObject("Card")).append(", ");
|
sb.append("Card: ").append(sa.getTriggeringObject(AbilityKey.Card)).append(", ");
|
||||||
sb.append("Activator: ").append(sa.getTriggeringObject("Activator")).append(", ");
|
sb.append("Activator: ").append(sa.getTriggeringObject(AbilityKey.Activator)).append(", ");
|
||||||
sb.append("SpellAbility: ").append(sa.getTriggeringObject("SpellAbility"));
|
sb.append("SpellAbility: ").append(sa.getTriggeringObject(AbilityKey.SpellAbility));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.trigger;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.game.spellability.SpellAbilityStackInstance;
|
import forge.game.spellability.SpellAbilityStackInstance;
|
||||||
@@ -92,17 +93,17 @@ public class TriggerSpellAbilityCopy extends Trigger {
|
|||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
final SpellAbility copySA = (SpellAbility) getRunParams().get("CopySA");
|
final SpellAbility copySA = (SpellAbility) getRunParams().get("CopySA");
|
||||||
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(copySA);
|
final SpellAbilityStackInstance si = sa.getHostCard().getGame().getStack().getInstanceFromSpellAbility(copySA);
|
||||||
sa.setTriggeringObject("Card", copySA.getHostCard());
|
sa.setTriggeringObject(AbilityKey.Card, copySA.getHostCard());
|
||||||
sa.setTriggeringObject("SpellAbility", copySA);
|
sa.setTriggeringObject(AbilityKey.SpellAbility, copySA);
|
||||||
sa.setTriggeringObject("StackInstance", si);
|
sa.setTriggeringObject(AbilityKey.StackInstance, si);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Card: ").append(sa.getTriggeringObject("Card")).append(", ");
|
sb.append("Card: ").append(sa.getTriggeringObject(AbilityKey.Card)).append(", ");
|
||||||
sb.append("Activator: ").append(sa.getTriggeringObject("Activator")).append(", ");
|
sb.append("Activator: ").append(sa.getTriggeringObject(AbilityKey.Activator)).append(", ");
|
||||||
sb.append("SpellAbility: ").append(sa.getTriggeringObject("SpellAbility"));
|
sb.append("SpellAbility: ").append(sa.getTriggeringObject(AbilityKey.SpellAbility));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -48,14 +49,14 @@ public class TriggerSurveil extends Trigger {
|
|||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -77,13 +78,13 @@ public class TriggerTaps extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Tapped: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Tapped: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -104,16 +105,16 @@ public class TriggerTapsForMana extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
sa.setTriggeringObject("Produced", this.getRunParams().get("Produced"));
|
sa.setTriggeringObject(AbilityKey.Produced, this.getRunParams().get("Produced"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Tapped for Mana: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Tapped for Mana: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
sb.append("Produced: ").append(sa.getTriggeringObject("Produced"));
|
sb.append("Produced: ").append(sa.getTriggeringObject(AbilityKey.Produced));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -58,13 +59,13 @@ public class TriggerTransformed extends Trigger {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(SpellAbility sa) {
|
public void setTriggeringObjects(SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Transformer", this.getRunParams().get("Transformer"));
|
sa.setTriggeringObject(AbilityKey.Transformer, this.getRunParams().get("Transformer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Transformed: ").append(sa.getTriggeringObject("Transformer"));
|
sb.append("Transformed: ").append(sa.getTriggeringObject(AbilityKey.Transformer));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -20,13 +21,13 @@ public class TriggerTurnBegin extends Trigger {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
sa.setTriggeringObject(AbilityKey.Player, this.getRunParams().get("Player"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Player: ").append(sa.getTriggeringObject("Player"));
|
sb.append("Player: ").append(sa.getTriggeringObject(AbilityKey.Player));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -60,13 +61,13 @@ public class TriggerTurnFaceUp extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Turn Face up: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Turn Face up: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -72,15 +73,15 @@ public class TriggerUnattach extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Object", getRunParams().get("Object"));
|
sa.setTriggeringObject(AbilityKey.Object, getRunParams().get("Object"));
|
||||||
sa.setTriggeringObject("Attach", getRunParams().get("Attach"));
|
sa.setTriggeringObject(AbilityKey.Attach, getRunParams().get("Attach"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Object: ").append(sa.getTriggeringObject("Object")).append(", ");
|
sb.append("Object: ").append(sa.getTriggeringObject(AbilityKey.Object)).append(", ");
|
||||||
sb.append("Attachment: ").append(sa.getTriggeringObject("Attach"));
|
sb.append("Attachment: ").append(sa.getTriggeringObject(AbilityKey.Attach));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package forge.game.trigger;
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
@@ -66,13 +67,13 @@ public class TriggerUntaps extends Trigger {
|
|||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Override
|
@Override
|
||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
sa.setTriggeringObject(AbilityKey.Card, this.getRunParams().get("Card"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Untapped: ").append(sa.getTriggeringObject("Card"));
|
sb.append("Untapped: ").append(sa.getTriggeringObject(AbilityKey.Card));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import java.util.Map;
|
|||||||
import com.google.common.collect.ArrayListMultimap;
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
import com.google.common.collect.ListMultimap;
|
import com.google.common.collect.ListMultimap;
|
||||||
|
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
@@ -65,13 +66,13 @@ public class TriggerVote extends Trigger {
|
|||||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
final ListMultimap<Object, Player> votes = (ArrayListMultimap<Object, Player>) this.getRunParams().get("AllVotes");
|
final ListMultimap<Object, Player> votes = (ArrayListMultimap<Object, Player>) this.getRunParams().get("AllVotes");
|
||||||
sa.setTriggeringObject("OtherVoters", getVoters(this.getHostCard().getController(), votes, true, true));
|
sa.setTriggeringObject(AbilityKey.OtherVoters, getVoters(this.getHostCard().getController(), votes, true, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getImportantStackObjects(SpellAbility sa) {
|
public String getImportantStackObjects(SpellAbility sa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("Voters: ").append(sa.getTriggeringObject("OtherVoters"));
|
sb.append("Voters: ").append(sa.getTriggeringObject(AbilityKey.OtherVoters));
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package forge.game.trigger;
|
|||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameObject;
|
import forge.game.GameObject;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollection;
|
import forge.game.card.CardCollection;
|
||||||
@@ -101,27 +102,27 @@ public class WrappedAbility extends Ability {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> getTriggeringObjects() {
|
public Map<AbilityKey, Object> getTriggeringObjects() {
|
||||||
return sa.getTriggeringObjects();
|
return sa.getTriggeringObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObjects(final Map<String, Object> triggeredObjects) {
|
public void setTriggeringObjects(final Map<AbilityKey, Object> triggeredObjects) {
|
||||||
sa.setTriggeringObjects(triggeredObjects);
|
sa.setTriggeringObjects(triggeredObjects);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setTriggeringObject(final String type, final Object o) {
|
public void setTriggeringObject(final AbilityKey type, final Object o) {
|
||||||
sa.setTriggeringObject(type, o);
|
sa.setTriggeringObject(type, o);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getTriggeringObject(final String type) {
|
public Object getTriggeringObject(final AbilityKey type) {
|
||||||
return sa.getTriggeringObject(type);
|
return sa.getTriggeringObject(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasTriggeringObject(final String type) {
|
public boolean hasTriggeringObject(final AbilityKey type) {
|
||||||
return sa.hasTriggeringObject(type);
|
return sa.hasTriggeringObject(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -532,8 +533,8 @@ public class WrappedAbility extends Ability {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
final Map<String, Object> triggerMap = new HashMap<>(sa.getTriggeringObjects());
|
final Map<AbilityKey, Object> triggerMap = AbilityKey.newMap(sa.getTriggeringObjects());
|
||||||
for (Entry<String, Object> ev : triggerMap.entrySet()) {
|
for (Entry<AbilityKey, Object> ev : triggerMap.entrySet()) {
|
||||||
if (ev.getValue() instanceof Card) {
|
if (ev.getValue() instanceof Card) {
|
||||||
Card card = (Card) ev.getValue();
|
Card card = (Card) ev.getValue();
|
||||||
Card current = game.getCardState(card);
|
Card current = game.getCardState(card);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import forge.deck.DeckSection;
|
|||||||
import forge.events.UiEventNextGameDecision;
|
import forge.events.UiEventNextGameDecision;
|
||||||
import forge.game.*;
|
import forge.game.*;
|
||||||
import forge.game.ability.AbilityFactory;
|
import forge.game.ability.AbilityFactory;
|
||||||
|
import forge.game.ability.AbilityKey;
|
||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.ability.effects.CharmEffect;
|
import forge.game.ability.effects.CharmEffect;
|
||||||
import forge.game.card.*;
|
import forge.game.card.*;
|
||||||
@@ -631,15 +632,15 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
"CARDNAME", regtrig.getHostCard().getName()));
|
"CARDNAME", regtrig.getHostCard().getName()));
|
||||||
buildQuestion.append(")");
|
buildQuestion.append(")");
|
||||||
}
|
}
|
||||||
final Map<String, Object> tos = sa.getTriggeringObjects();
|
final Map<AbilityKey, Object> tos = sa.getTriggeringObjects();
|
||||||
if (tos.containsKey("Attacker")) {
|
if (tos.containsKey(AbilityKey.Attacker)) {
|
||||||
buildQuestion.append("\nAttacker: ").append(tos.get("Attacker"));
|
buildQuestion.append("\nAttacker: ").append(tos.get(AbilityKey.Attacker));
|
||||||
}
|
}
|
||||||
if (tos.containsKey("Card")) {
|
if (tos.containsKey(AbilityKey.Card)) {
|
||||||
final Card card = (Card) tos.get("Card");
|
final Card card = (Card) tos.get(AbilityKey.Card);
|
||||||
if (card != null && (card.getController() == player || game.getZoneOf(card) == null
|
if (card != null && (card.getController() == player || game.getZoneOf(card) == null
|
||||||
|| game.getZoneOf(card).getZoneType().isKnown())) {
|
|| game.getZoneOf(card).getZoneType().isKnown())) {
|
||||||
buildQuestion.append("\nTriggered by: ").append(tos.get("Card"));
|
buildQuestion.append("\nTriggered by: ").append(tos.get(AbilityKey.Card));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user