checkstyle

This commit is contained in:
jendave
2011-10-26 20:30:47 +00:00
parent d37f3cc76a
commit 4fbbda8332
30 changed files with 1156 additions and 729 deletions

View File

@@ -1,8 +1,13 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import forge.AllZone; import forge.AllZone;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card;
import forge.CardList; import forge.CardList;
import forge.CardUtil; import forge.CardUtil;
import forge.Constant.Zone; import forge.Constant.Zone;
@@ -11,173 +16,225 @@ import forge.card.abilityFactory.AbilityFactory;
import forge.card.cardFactory.CardFactoryUtil; import forge.card.cardFactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* <p>Abstract Trigger class.</p> * <p>
* Abstract Trigger class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
*/ */
public abstract class Trigger { public abstract class Trigger {
/** Constant <code>nextID=0</code> */ /** Constant <code>nextID=0</code>. */
private static int nextID = 0; private static int nextID = 0;
/** /**
* <p>resetIDs.</p> * <p>
* resetIDs.
* </p>
*/ */
public static void resetIDs() { public static void resetIDs() {
nextID = 50000; nextID = 50000;
} }
/** The ID. */
protected int ID = nextID++; protected int ID = nextID++;
/** The name. */
protected String name; protected String name;
/** /**
* <p>Getter for the field <code>name</code>.</p> * <p>
* Getter for the field <code>name</code>.
* </p>
* *
* @return a {@link java.lang.String} object. * @return a {@link java.lang.String} object.
*/ */
public String getName() { public final String getName() {
return name; return name;
} }
/** /**
* <p>Setter for the field <code>name</code>.</p> * <p>
* Setter for the field <code>name</code>.
* </p>
* *
* @param n a {@link java.lang.String} object. * @param n
* a {@link java.lang.String} object.
*/ */
public void setName(String n) { public final void setName(final String n) {
name = n; name = n;
} }
/** /**
* <p>setID.</p> * <p>
* setID.
* </p>
* *
* @param id a int. * @param id
* a int.
*/ */
public void setID(int id) { public final void setID(final int id) {
ID = id; ID = id;
} }
/** The map params. */
protected HashMap<String, String> mapParams = new HashMap<String, String>(); protected HashMap<String, String> mapParams = new HashMap<String, String>();
/** /**
* <p>Getter for the field <code>mapParams</code>.</p> * <p>
* Getter for the field <code>mapParams</code>.
* </p>
* *
* @return a {@link java.util.HashMap} object. * @return a {@link java.util.HashMap} object.
*/ */
public HashMap<String, String> getMapParams() { public final HashMap<String, String> getMapParams() {
return mapParams; return mapParams;
} }
/** The run params. */
protected Map<String, Object> runParams; protected Map<String, Object> runParams;
/** /**
* <p>Setter for the field <code>runParams</code>.</p> * <p>
* Setter for the field <code>runParams</code>.
* </p>
* *
* @param runParams2 a {@link java.util.Map} object. * @param runParams2
* a {@link java.util.Map} object.
*/ */
public void setRunParams(Map<String, Object> runParams2) { public final void setRunParams(final Map<String, Object> runParams2) {
runParams = runParams2; runParams = runParams2;
} }
/** /**
* <p>Getter for the field <code>runParams</code>.</p> * <p>
* Getter for the field <code>runParams</code>.
* </p>
* *
* @return a {@link java.util.Map} object. * @return a {@link java.util.Map} object.
*/ */
public Map<String, Object> getRunParams() { public final Map<String, Object> getRunParams() {
return runParams; return runParams;
} }
/** The overriding ability. */
protected SpellAbility overridingAbility = null; protected SpellAbility overridingAbility = null;
/** /**
* <p>Getter for the field <code>overridingAbility</code>.</p> * <p>
* Getter for the field <code>overridingAbility</code>.
* </p>
* *
* @return a {@link forge.card.spellability.SpellAbility} object. * @return a {@link forge.card.spellability.SpellAbility} object.
*/ */
public SpellAbility getOverridingAbility() { public final SpellAbility getOverridingAbility() {
return overridingAbility; return overridingAbility;
} }
/** /**
* <p>Setter for the field <code>overridingAbility</code>.</p> * <p>
* Setter for the field <code>overridingAbility</code>.
* </p>
* *
* @param sa a {@link forge.card.spellability.SpellAbility} object. * @param sa
* a {@link forge.card.spellability.SpellAbility} object.
*/ */
public void setOverridingAbility(SpellAbility sa) { public final void setOverridingAbility(final SpellAbility sa) {
overridingAbility = sa; overridingAbility = sa;
} }
private HashMap<String, Object> storedTriggeredObjects = null; private HashMap<String, Object> storedTriggeredObjects = null;
/** /**
* <p>Setter for the field <code>storedTriggeredObjects</code>.</p> * <p>
* Setter for the field <code>storedTriggeredObjects</code>.
* </p>
* *
* @param storedTriggeredObjects a {@link java.util.HashMap} object. * @param storedTriggeredObjects
* a {@link java.util.HashMap} object.
* @since 1.0.15 * @since 1.0.15
*/ */
public void setStoredTriggeredObjects(HashMap<String, Object> storedTriggeredObjects) { public final void setStoredTriggeredObjects(final HashMap<String, Object> storedTriggeredObjects) {
this.storedTriggeredObjects = storedTriggeredObjects; this.storedTriggeredObjects = storedTriggeredObjects;
} }
/** /**
* <p>Getter for the field <code>storedTriggeredObjects</code>.</p> * <p>
* Getter for the field <code>storedTriggeredObjects</code>.
* </p>
* *
* @return a {@link java.util.HashMap} object. * @return a {@link java.util.HashMap} object.
* @since 1.0.15 * @since 1.0.15
*/ */
public HashMap<String, Object> getStoredTriggeredObjects() { public final HashMap<String, Object> getStoredTriggeredObjects() {
return storedTriggeredObjects; return storedTriggeredObjects;
} }
/** The host card. */
protected Card hostCard; protected Card hostCard;
/** /**
* <p>Getter for the field <code>hostCard</code>.</p> * <p>
* Getter for the field <code>hostCard</code>.
* </p>
* *
* @return a {@link forge.Card} object. * @return a {@link forge.Card} object.
*/ */
public Card getHostCard() { public final Card getHostCard() {
return hostCard; return hostCard;
} }
/** /**
* <p>Setter for the field <code>hostCard</code>.</p> * <p>
* Setter for the field <code>hostCard</code>.
* </p>
* *
* @param c a {@link forge.Card} object. * @param c
* a {@link forge.Card} object.
*/ */
public void setHostCard(Card c) { public final void setHostCard(final Card c) {
hostCard = c; hostCard = c;
} }
/** The is intrinsic. */
protected boolean isIntrinsic; protected boolean isIntrinsic;
public boolean getIsIntrinsic() /**
{ * Gets the checks if is intrinsic.
*
* @return the checks if is intrinsic
*/
public final boolean getIsIntrinsic() {
return isIntrinsic; return isIntrinsic;
} }
public void setIsIntrinsic(boolean b) /**
{ * Sets the checks if is intrinsic.
*
* @param b
* the new checks if is intrinsic
*/
public final void setIsIntrinsic(final boolean b) {
isIntrinsic = b; isIntrinsic = b;
} }
/** /**
* <p>Constructor for Trigger.</p> * <p>
* Constructor for Trigger.
* </p>
* *
* @param n a {@link java.lang.String} object. * @param n
* @param params a {@link java.util.HashMap} object. * a {@link java.lang.String} object.
* @param host a {@link forge.Card} object. * @param params
* a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger(String n, HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger(final String n, final HashMap<String, String> params, final Card host, final boolean intrinsic) {
name = n; name = n;
mapParams = new HashMap<String, String>(); mapParams = new HashMap<String, String>();
for (Map.Entry<String, String> entry : params.entrySet()) { for (Map.Entry<String, String> entry : params.entrySet()) {
@@ -189,12 +246,18 @@ public abstract class Trigger {
} }
/** /**
* <p>Constructor for Trigger.</p> * <p>
* Constructor for Trigger.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
mapParams = new HashMap<String, String>(); mapParams = new HashMap<String, String>();
for (Map.Entry<String, String> entry : params.entrySet()) { for (Map.Entry<String, String> entry : params.entrySet()) {
mapParams.put(entry.getKey(), entry.getValue()); mapParams.put(entry.getKey(), entry.getValue());
@@ -205,22 +268,28 @@ public abstract class Trigger {
} }
/** /**
* <p>toString.</p> * <p>
* toString.
* </p>
* *
* @return a {@link java.lang.String} object. * @return a {@link java.lang.String} object.
*/ */
public String toString() { public final String toString() {
if (mapParams.containsKey("TriggerDescription") && !isSuppressed()) { if (mapParams.containsKey("TriggerDescription") && !isSuppressed()) {
return mapParams.get("TriggerDescription").replace("CARDNAME", hostCard.getName()); return mapParams.get("TriggerDescription").replace("CARDNAME", hostCard.getName());
} else return ""; } else {
return "";
}
} }
/** /**
* <p>zonesCheck.</p> * <p>
* zonesCheck.
* </p>
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean zonesCheck() { public final boolean zonesCheck() {
if (mapParams.containsKey("TriggerZones")) { if (mapParams.containsKey("TriggerZones")) {
List<Zone> triggerZones = new ArrayList<Zone>(); List<Zone> triggerZones = new ArrayList<Zone>();
for (String s : mapParams.get("TriggerZones").split(",")) { for (String s : mapParams.get("TriggerZones").split(",")) {
@@ -238,11 +307,13 @@ public abstract class Trigger {
} }
/** /**
* <p>phasesCheck.</p> * <p>
* phasesCheck.
* </p>
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean phasesCheck() { public final boolean phasesCheck() {
if (mapParams.containsKey("TriggerPhases")) { if (mapParams.containsKey("TriggerPhases")) {
String phases = mapParams.get("TriggerPhases"); String phases = mapParams.get("TriggerPhases");
@@ -264,23 +335,29 @@ public abstract class Trigger {
} }
} }
if (mapParams.containsKey("PlayerTurn")) if (mapParams.containsKey("PlayerTurn")) {
if (!AllZone.getPhase().isPlayerTurn(hostCard.getController())) if (!AllZone.getPhase().isPlayerTurn(hostCard.getController())) {
return false; return false;
}
}
if (mapParams.containsKey("OpponentTurn")) if (mapParams.containsKey("OpponentTurn")) {
if (AllZone.getPhase().isPlayerTurn(hostCard.getController())) if (AllZone.getPhase().isPlayerTurn(hostCard.getController())) {
return false; return false;
}
}
return true; return true;
} }
/** /**
* <p>requirementsCheck.</p> * <p>
* requirementsCheck.
* </p>
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean requirementsCheck() { public final boolean requirementsCheck() {
if (mapParams.containsKey("Metalcraft")) { if (mapParams.containsKey("Metalcraft")) {
if (mapParams.get("Metalcraft").equals("True") && !hostCard.getController().hasMetalcraft()) { if (mapParams.get("Metalcraft").equals("True") && !hostCard.getController().hasMetalcraft()) {
return false; return false;
@@ -302,9 +379,12 @@ public abstract class Trigger {
if (mapParams.containsKey("PlayersPoisoned")) { if (mapParams.containsKey("PlayersPoisoned")) {
if (mapParams.get("PlayersPoisoned").equals("You") && hostCard.getController().getPoisonCounters() == 0) { if (mapParams.get("PlayersPoisoned").equals("You") && hostCard.getController().getPoisonCounters() == 0) {
return false; return false;
} else if (mapParams.get("PlayersPoisoned").equals("Opponent") && hostCard.getController().getOpponent().getPoisonCounters() == 0) { } else if (mapParams.get("PlayersPoisoned").equals("Opponent")
&& hostCard.getController().getOpponent().getPoisonCounters() == 0) {
return false; return false;
} else if (mapParams.get("PlayersPoisoned").equals("Each") && !(hostCard.getController().getPoisonCounters() != 0 && hostCard.getController().getPoisonCounters() != 0)) { } else if (mapParams.get("PlayersPoisoned").equals("Each")
&& !(hostCard.getController().getPoisonCounters() != 0 && hostCard.getController()
.getPoisonCounters() != 0)) {
return false; return false;
} }
} }
@@ -325,13 +405,11 @@ public abstract class Trigger {
lifeCompare = mapParams.get("LifeAmount"); lifeCompare = mapParams.get("LifeAmount");
} }
int right = 1; int right = 1;
String rightString = lifeCompare.substring(2); String rightString = lifeCompare.substring(2);
try { try {
right = Integer.parseInt(rightString); right = Integer.parseInt(rightString);
} } catch (NumberFormatException nfe) {
catch (NumberFormatException nfe) {
right = CardFactoryUtil.xCount(hostCard, hostCard.getSVar(rightString)); right = CardFactoryUtil.xCount(hostCard, hostCard.getSVar(rightString));
} }
@@ -420,7 +498,8 @@ public abstract class Trigger {
} }
if (mapParams.containsKey("CheckSVar")) { if (mapParams.containsKey("CheckSVar")) {
int sVar = AbilityFactory.calculateAmount(AllZoneUtil.getCardState(hostCard), mapParams.get("CheckSVar"), null); int sVar = AbilityFactory.calculateAmount(AllZoneUtil.getCardState(hostCard), mapParams.get("CheckSVar"),
null);
String comparator = "GE1"; String comparator = "GE1";
if (mapParams.containsKey("SVarCompare")) { if (mapParams.containsKey("SVarCompare")) {
comparator = mapParams.get("SVarCompare"); comparator = mapParams.get("SVarCompare");
@@ -433,28 +512,28 @@ public abstract class Trigger {
} }
} }
if(mapParams.containsKey("ManaSpent")) { if (mapParams.containsKey("ManaSpent")) {
if(!hostCard.getColorsPaid().contains(mapParams.get("ManaSpent"))) { if (!hostCard.getColorsPaid().contains(mapParams.get("ManaSpent"))) {
return false; return false;
} }
} }
if(mapParams.containsKey("ManaNotSpent")) { if (mapParams.containsKey("ManaNotSpent")) {
if(hostCard.getColorsPaid().contains(mapParams.get("ManaNotSpent"))) { if (hostCard.getColorsPaid().contains(mapParams.get("ManaNotSpent"))) {
return false; return false;
} }
} }
if(mapParams.containsKey("WerewolfTransformCondition")) { if (mapParams.containsKey("WerewolfTransformCondition")) {
if(CardUtil.getLastTurnCast("Card", hostCard).size() > 0) { if (CardUtil.getLastTurnCast("Card", hostCard).size() > 0) {
return false; return false;
} }
} }
if(mapParams.containsKey("WerewolfUntransformCondition")) { if (mapParams.containsKey("WerewolfUntransformCondition")) {
CardList you = CardUtil.getLastTurnCast("Card.YouCtrl", hostCard); CardList you = CardUtil.getLastTurnCast("Card.YouCtrl", hostCard);
CardList opp = CardUtil.getLastTurnCast("Card.YouDontCtrl", hostCard); CardList opp = CardUtil.getLastTurnCast("Card.YouDontCtrl", hostCard);
if(!(you.size() > 1 || opp.size() > 1)) { if (!(you.size() > 1 || opp.size() > 1)) {
return false; return false;
} }
} }
@@ -462,16 +541,20 @@ public abstract class Trigger {
return true; return true;
} }
/** /**
* <p>matchesValid.</p> * <p>
* matchesValid.
* </p>
* *
* @param o a {@link java.lang.Object} object. * @param o
* @param valids an array of {@link java.lang.String} objects. * a {@link java.lang.Object} object.
* @param srcCard a {@link forge.Card} object. * @param valids
* an array of {@link java.lang.String} objects.
* @param srcCard
* a {@link forge.Card} object.
* @return a boolean. * @return a boolean.
*/ */
public boolean matchesValid(Object o, String[] valids, Card srcCard) { public final boolean matchesValid(final Object o, final String[] valids, final Card srcCard) {
if (o instanceof Card) { if (o instanceof Card) {
Card c = (Card) o; Card c = (Card) o;
return c.isValid(valids, srcCard.getController(), srcCard); return c.isValid(valids, srcCard.getController(), srcCard);
@@ -503,71 +586,115 @@ public abstract class Trigger {
} }
/** /**
* <p>isSecondary.</p> * <p>
* isSecondary.
* </p>
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean isSecondary() { public final boolean isSecondary() {
if (mapParams.containsKey("Secondary")) { if (mapParams.containsKey("Secondary")) {
if (mapParams.get("Secondary").equals("True")) if (mapParams.get("Secondary").equals("True")) {
return true; return true;
}
} }
return false; return false;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean equals(Object o) { public final boolean equals(final Object o) {
if (!(o instanceof Trigger)) if (!(o instanceof Trigger)) {
return false; return false;
}
return this.ID == ((Trigger) o).ID; return this.ID == ((Trigger) o).ID;
} }
/** /**
* <p>performTest.</p> * <p>
* performTest.
* </p>
* *
* @param runParams2 a {@link java.util.HashMap} object. * @param runParams2
* a {@link java.util.HashMap} object.
* @return a boolean. * @return a boolean.
*/ */
public abstract boolean performTest(java.util.Map<String, Object> runParams2); public abstract boolean performTest(java.util.Map<String, Object> runParams2);
/** /**
* <p>getCopy.</p> * <p>
* getCopy.
* </p>
* *
* @return a {@link forge.card.trigger.Trigger} object. * @return a {@link forge.card.trigger.Trigger} object.
*/ */
public abstract Trigger getCopy(); public abstract Trigger getCopy();
/** /**
* <p>setTriggeringObjects.</p> * <p>
* setTriggeringObjects.
* </p>
* *
* @param sa a {@link forge.card.spellability.SpellAbility} object. * @param sa
* a {@link forge.card.spellability.SpellAbility} object.
*/ */
public abstract void setTriggeringObjects(SpellAbility sa); public abstract void setTriggeringObjects(SpellAbility sa);
/** The temporary. */
protected boolean temporary = false; protected boolean temporary = false;
public void setTemporary(boolean temp) { /**
temporary = temp; * Sets the temporary.
*
* @param temp
* the new temporary
*/
public final void setTemporary(final boolean temp) {
temporary = temp;
} }
public boolean isTemporary() { /**
return temporary; * Checks if is temporary.
*
* @return true, if is temporary
*/
public final boolean isTemporary() {
return temporary;
} }
/** The suppressed. */
protected boolean suppressed = false; protected boolean suppressed = false;
/** The temporarily suppressed. */
protected boolean temporarilySuppressed = false; protected boolean temporarilySuppressed = false;
public void setSuppressed(boolean supp) { /**
* Sets the suppressed.
*
* @param supp
* the new suppressed
*/
public final void setSuppressed(final boolean supp) {
suppressed = supp; suppressed = supp;
} }
public void setTemporarilySuppressed(boolean supp) { /**
* Sets the temporarily suppressed.
*
* @param supp
* the new temporarily suppressed
*/
public final void setTemporarilySuppressed(final boolean supp) {
temporarilySuppressed = supp; temporarilySuppressed = supp;
} }
public boolean isSuppressed() { /**
* Checks if is suppressed.
*
* @return true, if is suppressed
*/
public final boolean isSuppressed() {
return (suppressed || temporarilySuppressed); return (suppressed || temporarilySuppressed);
} }
} }

View File

@@ -1,33 +1,34 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Constant.Zone;
import forge.Constant;
import forge.Player;
import forge.CardList;
import forge.Command;
import forge.CommandArgs;
import forge.GameActionUtil;
import forge.ComputerUtil;
import forge.card.abilityFactory.AbilityFactory;
import forge.card.abilityFactory.AbilityFactory_Charm;
import forge.card.cost.Cost;
import forge.card.spellability.Ability;
import forge.card.spellability.Ability_Sub;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Ability_Mana;
import forge.card.spellability.SpellAbility_Restriction;
import forge.card.spellability.Target;
import forge.gui.input.Input;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.Command;
import forge.CommandArgs;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.Player;
import forge.card.abilityFactory.AbilityFactory;
import forge.card.abilityFactory.AbilityFactory_Charm;
import forge.card.cost.Cost;
import forge.card.spellability.Ability;
import forge.card.spellability.Ability_Mana;
import forge.card.spellability.Ability_Sub;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbility_Restriction;
import forge.card.spellability.Target;
import forge.gui.input.Input;
/** /**
* <p>TriggerHandler class.</p> * <p>
* TriggerHandler class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -38,21 +39,24 @@ public class TriggerHandler {
private ArrayList<Trigger> delayedTriggers = new ArrayList<Trigger>(); private ArrayList<Trigger> delayedTriggers = new ArrayList<Trigger>();
public void cleanUpTemporaryTriggers() { /**
* Clean up temporary triggers.
*/
public final void cleanUpTemporaryTriggers() {
CardList absolutelyAllCards = new CardList(); CardList absolutelyAllCards = new CardList();
absolutelyAllCards.addAll(AllZone.getHumanPlayer().getAllCards()); absolutelyAllCards.addAll(AllZone.getHumanPlayer().getAllCards());
absolutelyAllCards.addAll(AllZone.getComputerPlayer().getAllCards()); absolutelyAllCards.addAll(AllZone.getComputerPlayer().getAllCards());
for(Card c : absolutelyAllCards) { for (Card c : absolutelyAllCards) {
for(int i=0;i< c.getTriggers().size();i++) { for (int i = 0; i < c.getTriggers().size(); i++) {
if(c.getTriggers().get(i).isTemporary()) { if (c.getTriggers().get(i).isTemporary()) {
c.getTriggers().remove(i); c.getTriggers().remove(i);
i--; i--;
} }
} }
} }
for(Card c : absolutelyAllCards) { for (Card c : absolutelyAllCards) {
for(int i=0;i< c.getTriggers().size();i++) { for (int i = 0; i < c.getTriggers().size(); i++) {
c.getTriggers().get(i).setTemporarilySuppressed(false); c.getTriggers().get(i).setTemporarilySuppressed(false);
} }
} }
@@ -60,74 +64,96 @@ public class TriggerHandler {
} }
/** /**
* <p>registerDelayedTrigger.</p> * <p>
* registerDelayedTrigger.
* </p>
* *
* @param trig a {@link forge.card.trigger.Trigger} object. * @param trig
* a {@link forge.card.trigger.Trigger} object.
*/ */
public final void registerDelayedTrigger(final Trigger trig) { public final void registerDelayedTrigger(final Trigger trig) {
delayedTriggers.add(trig); delayedTriggers.add(trig);
} }
/** /**
* <p>suppressMode.</p> * <p>
* suppressMode.
* </p>
* *
* @param mode a {@link java.lang.String} object. * @param mode
* a {@link java.lang.String} object.
*/ */
public final void suppressMode(final String mode) { public final void suppressMode(final String mode) {
suppressedModes.add(mode); suppressedModes.add(mode);
} }
/** /**
* <p>clearSuppression.</p> * <p>
* clearSuppression.
* </p>
* *
* @param mode a {@link java.lang.String} object. * @param mode
* a {@link java.lang.String} object.
*/ */
public final void clearSuppression(final String mode) { public final void clearSuppression(final String mode) {
suppressedModes.remove(mode); suppressedModes.remove(mode);
} }
/** /**
* <p>parseTrigger.</p> * <p>
* parseTrigger.
* </p>
* *
* @param name a {@link java.lang.String} object. * @param name
* @param trigParse a {@link java.lang.String} object. * a {@link java.lang.String} object.
* @param host a {@link forge.Card} object. * @param trigParse
* @param intrinsic a boolean. * a {@link java.lang.String} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* a boolean.
* @return a {@link forge.card.trigger.Trigger} object. * @return a {@link forge.card.trigger.Trigger} object.
*/ */
public static Trigger parseTrigger(final String name, final String trigParse, public static Trigger parseTrigger(final String name, final String trigParse, final Card host,
final Card host, final boolean intrinsic) final boolean intrinsic) {
{
Trigger ret = TriggerHandler.parseTrigger(trigParse, host, intrinsic); Trigger ret = TriggerHandler.parseTrigger(trigParse, host, intrinsic);
ret.setName(name); ret.setName(name);
return ret; return ret;
} }
/** /**
* <p>parseTrigger.</p> * <p>
* parseTrigger.
* </p>
* *
* @param trigParse a {@link java.lang.String} object. * @param trigParse
* @param host a {@link forge.Card} object. * a {@link java.lang.String} object.
* @param intrinsic a boolean. * @param host
* a {@link forge.Card} object.
* @param intrinsic
* a boolean.
* @return a {@link forge.card.trigger.Trigger} object. * @return a {@link forge.card.trigger.Trigger} object.
*/ */
public static Trigger parseTrigger(final String trigParse, final Card host, final boolean intrinsic) public static Trigger parseTrigger(final String trigParse, final Card host, final boolean intrinsic) {
{
HashMap<String, String> mapParams = parseParams(trigParse); HashMap<String, String> mapParams = parseParams(trigParse);
return parseTrigger(mapParams, host, intrinsic); return parseTrigger(mapParams, host, intrinsic);
} }
/** /**
* <p>parseTrigger.</p> * <p>
* parseTrigger.
* </p>
* *
* @param mapParams a {@link java.util.HashMap} object. * @param mapParams
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param intrinsic a boolean. * @param host
* a {@link forge.Card} object.
* @param intrinsic
* a boolean.
* @return a {@link forge.card.trigger.Trigger} object. * @return a {@link forge.card.trigger.Trigger} object.
*/ */
public static Trigger parseTrigger(final HashMap<String, String> mapParams, public static Trigger parseTrigger(final HashMap<String, String> mapParams,
final Card host, final boolean intrinsic) final Card host, final boolean intrinsic) {
{
Trigger ret = null; Trigger ret = null;
String mode = mapParams.get("Mode"); String mode = mapParams.get("Mode");
@@ -195,9 +221,12 @@ public class TriggerHandler {
} }
/** /**
* <p>parseParams.</p> * <p>
* parseParams.
* </p>
* *
* @param trigParse a {@link java.lang.String} object. * @param trigParse
* a {@link java.lang.String} object.
* @return a {@link java.util.HashMap} object. * @return a {@link java.util.HashMap} object.
*/ */
private static HashMap<String, String> parseParams(final String trigParse) { private static HashMap<String, String> parseParams(final String trigParse) {
@@ -232,12 +261,15 @@ public class TriggerHandler {
return mapParams; return mapParams;
} }
/** /**
* <p>runTrigger.</p> * <p>
* runTrigger.
* </p>
* *
* @param mode a {@link java.lang.String} object. * @param mode
* @param runParams a {@link java.util.Map} object. * a {@link java.lang.String} object.
* @param runParams
* a {@link java.util.Map} object.
*/ */
public final void runTrigger(final String mode, final Map<String, Object> runParams) { public final void runTrigger(final String mode, final Map<String, Object> runParams) {
if (suppressedModes.contains(mode)) { if (suppressedModes.contains(mode)) {
@@ -246,14 +278,15 @@ public class TriggerHandler {
Player playerAP = AllZone.getPhase().getPlayerTurn(); Player playerAP = AllZone.getPhase().getPlayerTurn();
//This is done to allow the list of triggers to be modified while triggers are running. // This is done to allow the list of triggers to be modified while
// triggers are running.
ArrayList<Trigger> delayedTriggersWorkingCopy = new ArrayList<Trigger>(delayedTriggers); ArrayList<Trigger> delayedTriggersWorkingCopy = new ArrayList<Trigger>(delayedTriggers);
CardList allCards; CardList allCards;
//AP // AP
allCards = playerAP.getAllCards(); allCards = playerAP.getAllCards();
for(Card c : allCards) { for (Card c : allCards) {
for(Trigger t : c.getTriggers()) { for (Trigger t : c.getTriggers()) {
runSingleTrigger(t, mode, runParams); runSingleTrigger(t, mode, runParams);
} }
} }
@@ -268,10 +301,10 @@ public class TriggerHandler {
} }
} }
//NAP // NAP
allCards = playerAP.getOpponent().getAllCards(); allCards = playerAP.getOpponent().getAllCards();
for(Card c : allCards) { for (Card c : allCards) {
for(Trigger t : c.getTriggers()) { for (Trigger t : c.getTriggers()) {
runSingleTrigger(t, mode, runParams); runSingleTrigger(t, mode, runParams);
} }
} }
@@ -287,67 +320,76 @@ public class TriggerHandler {
} }
} }
//Checks if the conditions are right for a single trigger to go off, and runs it if so. // Checks if the conditions are right for a single trigger to go off, and
//Return true if the trigger went off, false otherwise. // runs it if so.
// Return true if the trigger went off, false otherwise.
/** /**
* <p>runSingleTrigger.</p> * <p>
* runSingleTrigger.
* </p>
* *
* @param regtrig a {@link forge.card.trigger.Trigger} object. * @param regtrig
* @param mode a {@link java.lang.String} object. * a {@link forge.card.trigger.Trigger} object.
* @param runParams a {@link java.util.HashMap} object. * @param mode
* a {@link java.lang.String} object.
* @param runParams
* a {@link java.util.HashMap} object.
* @return a boolean. * @return a boolean.
*/ */
private boolean runSingleTrigger(final Trigger regtrig, final String mode, final Map<String, Object> runParams) { private boolean runSingleTrigger(final Trigger regtrig,
final String mode, final Map<String, Object> runParams) {
final Map<String, String> params = regtrig.getMapParams(); final Map<String, String> params = regtrig.getMapParams();
if (!params.get("Mode").equals(mode)) { if (!params.get("Mode").equals(mode)) {
return false; //Not the right mode. return false; // Not the right mode.
} }
if (!regtrig.zonesCheck()) { if (!regtrig.zonesCheck()) {
return false; //Host card isn't where it needs to be. return false; // Host card isn't where it needs to be.
} }
if (!regtrig.phasesCheck()) { if (!regtrig.phasesCheck()) {
return false; //It's not the right phase to go off. return false; // It's not the right phase to go off.
} }
if (!regtrig.requirementsCheck()) { if (!regtrig.requirementsCheck()) {
return false; //Conditions aren't right. return false; // Conditions aren't right.
} }
if (regtrig.getHostCard().isFaceDown() && regtrig.getIsIntrinsic()) { if (regtrig.getHostCard().isFaceDown() && regtrig.getIsIntrinsic()) {
return false; //Morphed cards only have pumped triggers go off. return false; // Morphed cards only have pumped triggers go off.
} }
if (regtrig instanceof Trigger_Always) { if (regtrig instanceof Trigger_Always) {
if (AllZone.getStack().hasStateTrigger(regtrig.ID)) { if (AllZone.getStack().hasStateTrigger(regtrig.ID)) {
return false; //State triggers that are already on the stack don't trigger again. return false; // State triggers that are already on the stack
// don't trigger again.
} }
} }
if (!regtrig.performTest(runParams)) { if (!regtrig.performTest(runParams)) {
return false; //Test failed. return false; // Test failed.
} }
if (regtrig.isSuppressed()) { if (regtrig.isSuppressed()) {
return false; //Trigger removed by effect return false; // Trigger removed by effect
} }
//Torpor Orb check // Torpor Orb check
CardList torporOrbs = AllZoneUtil.getCardsIn(Zone.Battlefield, "Torpor Orb"); CardList torporOrbs = AllZoneUtil.getCardsIn(Zone.Battlefield, "Torpor Orb");
if(torporOrbs.size() != 0) if (torporOrbs.size() != 0) {
{ if (params.containsKey("Destination")) {
if(params.containsKey("Destination")) if ((params.get("Destination").equals("Battlefield") || params.get("Destination").equals("Any"))
{ && mode.equals("ChangesZone")
if ((params.get("Destination").equals("Battlefield") || params.get("Destination").equals("Any")) && mode.equals("ChangesZone") && ((params.get("ValidCard").contains("Creature")) || (params.get("ValidCard").contains("Self") && regtrig.getHostCard().isCreature() ))) && ((params.get("ValidCard").contains("Creature"))
{ || (params.get("ValidCard").contains("Self") && regtrig
.getHostCard().isCreature()))) {
return false; return false;
} }
} } else {
else if (mode.equals("ChangesZone")
{ && ((params.get("ValidCard").contains("Creature"))
if (mode.equals("ChangesZone") && ((params.get("ValidCard").contains("Creature")) || (params.get("ValidCard").contains("Self") && regtrig.getHostCard().isCreature() ))) || (params.get("ValidCard").contains("Self") && regtrig
{ .getHostCard().isCreature()))) {
return false; return false;
} }
} }
}//Torpor Orb check } // Torpor Orb check
final Player[] decider = new Player[1]; final Player[] decider = new Player[1];
@@ -356,7 +398,7 @@ public class TriggerHandler {
regtrig.setRunParams(runParams); regtrig.setRunParams(runParams);
//All tests passed, execute ability. // All tests passed, execute ability.
if (regtrig instanceof Trigger_TapsForMana) { if (regtrig instanceof Trigger_TapsForMana) {
Ability_Mana abMana = (Ability_Mana) runParams.get("Ability_Mana"); Ability_Mana abMana = (Ability_Mana) runParams.get("Ability_Mana");
if (null != abMana) { if (null != abMana) {
@@ -394,13 +436,13 @@ public class TriggerHandler {
sa[0].setActivatingPlayer(host.getController()); sa[0].setActivatingPlayer(host.getController());
sa[0].setStackDescription(sa[0].toString()); sa[0].setStackDescription(sa[0].toString());
//TODO - for Charms to supports AI, this needs to be removed // TODO - for Charms to supports AI, this needs to be removed
if (sa[0].getActivatingPlayer().isHuman()) { if (sa[0].getActivatingPlayer().isHuman()) {
AbilityFactory_Charm.setupCharmSAs(sa[0]); AbilityFactory_Charm.setupCharmSAs(sa[0]);
} }
boolean mand = false; boolean mand = false;
if (params.containsKey("OptionalDecider")) { if (params.containsKey("OptionalDecider")) {
sa[0].setOptionalTrigger(true); sa[0].setOptionalTrigger(true);
mand = false; mand = false;
decider[0] = AbilityFactory.getDefinedPlayers(host, params.get("OptionalDecider"), sa[0]).get(0); decider[0] = AbilityFactory.getDefinedPlayers(host, params.get("OptionalDecider"), sa[0]).get(0);
} else { } else {
@@ -418,9 +460,12 @@ public class TriggerHandler {
} }
final boolean isMandatory = mand; final boolean isMandatory = mand;
//Wrapper ability that checks the requirements again just before resolving, for intervening if clauses. // Wrapper ability that checks the requirements again just before
//Yes, it must wrap ALL SpellAbility methods in order to handle possible corner cases. // resolving, for intervening if clauses.
//(The trigger can have a hardcoded OverridingAbility which can make use of any of the methods) // Yes, it must wrap ALL SpellAbility methods in order to handle
// possible corner cases.
// (The trigger can have a hardcoded OverridingAbility which can make
// use of any of the methods)
final Ability wrapperAbility = new Ability(regtrig.getHostCard(), "0") { final Ability wrapperAbility = new Ability(regtrig.getHostCard(), "0") {
@Override @Override
@@ -429,7 +474,7 @@ public class TriggerHandler {
} }
@Override @Override
public void setPaidHash(HashMap<String, CardList> hash) { public void setPaidHash(final HashMap<String, CardList> hash) {
sa[0].setPaidHash(hash); sa[0].setPaidHash(hash);
} }
@@ -439,17 +484,17 @@ public class TriggerHandler {
} }
@Override @Override
public void setPaidList(CardList list, String str) { public void setPaidList(final CardList list, final String str) {
sa[0].setPaidList(list, str); sa[0].setPaidList(list, str);
} }
@Override @Override
public CardList getPaidList(String str) { public CardList getPaidList(final String str) {
return sa[0].getPaidList(str); return sa[0].getPaidList(str);
} }
@Override @Override
public void addCostToHashList(Card c, String str) { public void addCostToHashList(final Card c, final String str) {
sa[0].addCostToHashList(c, str); sa[0].addCostToHashList(c, str);
} }
@@ -464,22 +509,22 @@ public class TriggerHandler {
} }
@Override @Override
public void setAllTriggeringObjects(HashMap<String, Object> triggeredObjects) { public void setAllTriggeringObjects(final HashMap<String, Object> triggeredObjects) {
sa[0].setAllTriggeringObjects(triggeredObjects); sa[0].setAllTriggeringObjects(triggeredObjects);
} }
@Override @Override
public void setTriggeringObject(String type, Object o) { public void setTriggeringObject(final String type, final Object o) {
sa[0].setTriggeringObject(type, o); sa[0].setTriggeringObject(type, o);
} }
@Override @Override
public Object getTriggeringObject(String type) { public Object getTriggeringObject(final String type) {
return sa[0].getTriggeringObject(type); return sa[0].getTriggeringObject(type);
} }
@Override @Override
public boolean hasTriggeringObject(String type) { public boolean hasTriggeringObject(final String type) {
return sa[0].hasTriggeringObject(type); return sa[0].hasTriggeringObject(type);
} }
@@ -509,7 +554,7 @@ public class TriggerHandler {
} }
@Override @Override
public boolean doTrigger(boolean mandatory) { public boolean doTrigger(final boolean mandatory) {
return sa[0].doTrigger(mandatory); return sa[0].doTrigger(mandatory);
} }
@@ -701,166 +746,166 @@ public class TriggerHandler {
@Override @Override
public void resetOnceResolved() { public void resetOnceResolved() {
// Fixing an issue with Targeting + Paying Mana // Fixing an issue with Targeting + Paying Mana
//sa[0].resetOnceResolved(); // sa[0].resetOnceResolved();
} }
@Override @Override
public void setAbilityFactory(AbilityFactory af) { public void setAbilityFactory(final AbilityFactory af) {
sa[0].setAbilityFactory(af); sa[0].setAbilityFactory(af);
} }
@Override @Override
public void setActivatingPlayer(Player player) { public void setActivatingPlayer(final Player player) {
sa[0].setActivatingPlayer(player); sa[0].setActivatingPlayer(player);
} }
@Override @Override
public void setAdditionalManaCost(String cost) { public void setAdditionalManaCost(final String cost) {
sa[0].setAdditionalManaCost(cost); sa[0].setAdditionalManaCost(cost);
} }
@Override @Override
public void setAfterPayMana(Input in) { public void setAfterPayMana(final Input in) {
sa[0].setAfterPayMana(in); sa[0].setAfterPayMana(in);
} }
@Override @Override
public void setAfterResolve(Input in) { public void setAfterResolve(final Input in) {
sa[0].setAfterResolve(in); sa[0].setAfterResolve(in);
} }
@Override @Override
public void setBeforePayMana(Input in) { public void setBeforePayMana(final Input in) {
sa[0].setBeforePayMana(in); sa[0].setBeforePayMana(in);
} }
@Override @Override
public void setBeforePayManaAI(Command c) { public void setBeforePayManaAI(final Command c) {
sa[0].setBeforePayManaAI(c); sa[0].setBeforePayManaAI(c);
} }
@Override @Override
public void setCancelCommand(Command cancelCommand) { public void setCancelCommand(final Command cancelCommand) {
sa[0].setCancelCommand(cancelCommand); sa[0].setCancelCommand(cancelCommand);
} }
@Override @Override
public void setChooseTargetAI(CommandArgs c) { public void setChooseTargetAI(final CommandArgs c) {
sa[0].setChooseTargetAI(c); sa[0].setChooseTargetAI(c);
} }
@Override @Override
public void setDescription(String s) { public void setDescription(final String s) {
sa[0].setDescription(s); sa[0].setDescription(s);
} }
@Override @Override
public void setFlashBackAbility(boolean flashBackAbility) { public void setFlashBackAbility(final boolean flashBackAbility) {
sa[0].setFlashBackAbility(flashBackAbility); sa[0].setFlashBackAbility(flashBackAbility);
} }
@Override @Override
public void setIsBuyBackAbility(boolean b) { public void setIsBuyBackAbility(final boolean b) {
sa[0].setIsBuyBackAbility(b); sa[0].setIsBuyBackAbility(b);
} }
@Override @Override
public void setIsCycling(boolean b) { public void setIsCycling(final boolean b) {
sa[0].setIsCycling(b); sa[0].setIsCycling(b);
} }
@Override @Override
public void setIsMultiKicker(boolean b) { public void setIsMultiKicker(final boolean b) {
sa[0].setIsMultiKicker(b); sa[0].setIsMultiKicker(b);
} }
@Override @Override
public void setIsReplicate(boolean b) { public void setIsReplicate(final boolean b) {
sa[0].setIsReplicate(b); sa[0].setIsReplicate(b);
} }
@Override @Override
public void setIsXCost(boolean b) { public void setIsXCost(final boolean b) {
sa[0].setIsXCost(b); sa[0].setIsXCost(b);
} }
@Override @Override
public void setKickerAbility(boolean kab) { public void setKickerAbility(final boolean kab) {
sa[0].setKickerAbility(kab); sa[0].setKickerAbility(kab);
} }
@Override @Override
public void setKothThirdAbility(boolean kothThirdAbility) { public void setKothThirdAbility(final boolean kothThirdAbility) {
sa[0].setKothThirdAbility(kothThirdAbility); sa[0].setKothThirdAbility(kothThirdAbility);
} }
@Override @Override
public void setManaCost(String cost) { public void setManaCost(final String cost) {
sa[0].setManaCost(cost); sa[0].setManaCost(cost);
} }
@Override @Override
public void setMultiKickerManaCost(String cost) { public void setMultiKickerManaCost(final String cost) {
sa[0].setMultiKickerManaCost(cost); sa[0].setMultiKickerManaCost(cost);
} }
@Override @Override
public void setReplicateManaCost(String cost) { public void setReplicateManaCost(final String cost) {
sa[0].setReplicateManaCost(cost); sa[0].setReplicateManaCost(cost);
} }
@Override @Override
public void setPayCosts(Cost abCost) { public void setPayCosts(final Cost abCost) {
sa[0].setPayCosts(abCost); sa[0].setPayCosts(abCost);
} }
@Override @Override
public void setRestrictions(SpellAbility_Restriction restrict) { public void setRestrictions(final SpellAbility_Restriction restrict) {
sa[0].setRestrictions(restrict); sa[0].setRestrictions(restrict);
} }
@Override @Override
public void setSourceCard(Card c) { public void setSourceCard(final Card c) {
sa[0].setSourceCard(c); sa[0].setSourceCard(c);
} }
@Override @Override
public void setStackDescription(String s) { public void setStackDescription(final String s) {
sa[0].setStackDescription(s); sa[0].setStackDescription(s);
} }
@Override @Override
public void setSubAbility(Ability_Sub subAbility) { public void setSubAbility(final Ability_Sub subAbility) {
sa[0].setSubAbility(subAbility); sa[0].setSubAbility(subAbility);
} }
@Override @Override
public void setTarget(Target tgt) { public void setTarget(final Target tgt) {
sa[0].setTarget(tgt); sa[0].setTarget(tgt);
} }
@Override @Override
public void setTargetCard(Card card) { public void setTargetCard(final Card card) {
sa[0].setTargetCard(card); sa[0].setTargetCard(card);
} }
@Override @Override
public void setTargetList(CardList list) { public void setTargetList(final CardList list) {
sa[0].setTargetList(list); sa[0].setTargetList(list);
} }
@Override @Override
public void setTargetPlayer(Player p) { public void setTargetPlayer(final Player p) {
sa[0].setTargetPlayer(p); sa[0].setTargetPlayer(p);
} }
@Override @Override
public void setType(String s) { public void setType(final String s) {
sa[0].setType(s); sa[0].setType(s);
} }
@Override @Override
public void setXManaCost(String cost) { public void setXManaCost(final String cost) {
sa[0].setXManaCost(cost); sa[0].setXManaCost(cost);
} }
@@ -870,7 +915,7 @@ public class TriggerHandler {
} }
@Override @Override
public void setSourceTrigger(int ID) { public void setSourceTrigger(final int ID) {
sa[0].setSourceTrigger(ID); sa[0].setSourceTrigger(ID);
} }
@@ -880,21 +925,24 @@ public class TriggerHandler {
} }
@Override @Override
public void setOptionalTrigger(boolean b) { public void setOptionalTrigger(final boolean b) {
sa[0].setOptionalTrigger(b); sa[0].setOptionalTrigger(b);
} }
@Override @Override
public boolean isOptionalTrigger() { public boolean isOptionalTrigger() {
return sa[0].isOptionalTrigger(); return sa[0].isOptionalTrigger();
} }
//////////////////////////////////////// // //////////////////////////////////////
//THIS ONE IS ALL THAT MATTERS // THIS ONE IS ALL THAT MATTERS
//////////////////////////////////////// // //////////////////////////////////////
@Override @Override
public void resolve() { public void resolve() {
if (!(regtrig instanceof Trigger_Always)) //State triggers don't do the whole "Intervening If" thing. if (!(regtrig instanceof Trigger_Always)) // State triggers
// don't do the whole
// "Intervening If"
// thing.
{ {
if (!regtrig.requirementsCheck()) { if (!regtrig.requirementsCheck()) {
return; return;
@@ -903,20 +951,17 @@ public class TriggerHandler {
if (decider[0] != null) { if (decider[0] != null) {
if (decider[0].isHuman()) { if (decider[0].isHuman()) {
if(triggersAlwaysAccept.contains(getSourceTrigger())) if (triggersAlwaysAccept.contains(getSourceTrigger())) {
{ // No need to do anything.
//No need to do anything. } else if (triggersAlwaysDecline.contains(getSourceTrigger())) {
}
else if(triggersAlwaysDecline.contains(getSourceTrigger()))
{
return; return;
} } else {
else
{
StringBuilder buildQuestion = new StringBuilder("Use triggered ability of "); StringBuilder buildQuestion = new StringBuilder("Use triggered ability of ");
buildQuestion.append(regtrig.getHostCard().getName()).append("(").append(regtrig.getHostCard().getUniqueNumber()).append(")?"); buildQuestion.append(regtrig.getHostCard().getName()).append("(")
.append(regtrig.getHostCard().getUniqueNumber()).append(")?");
buildQuestion.append("\r\n("); buildQuestion.append("\r\n(");
buildQuestion.append(params.get("TriggerDescription").replace("CARDNAME", regtrig.getHostCard().getName())); buildQuestion.append(params.get("TriggerDescription").replace("CARDNAME",
regtrig.getHostCard().getName()));
buildQuestion.append(")"); buildQuestion.append(")");
if (!GameActionUtil.showYesNoDialog(regtrig.getHostCard(), buildQuestion.toString())) { if (!GameActionUtil.showYesNoDialog(regtrig.getHostCard(), buildQuestion.toString())) {
return; return;
@@ -931,19 +976,22 @@ public class TriggerHandler {
} }
if (sa[0].getSourceCard().getController().isHuman()) { if (sa[0].getSourceCard().getController().isHuman()) {
//Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card")); // Card src =
//System.out.println("Trigger resolving for "+mode+". Card = "+src); // (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
// System.out.println("Trigger resolving for "+mode+". Card = "+src);
AllZone.getGameAction().playSpellAbility_NoStack(sa[0], true); AllZone.getGameAction().playSpellAbility_NoStack(sa[0], true);
} else { } else {
// commented out because i don't think this should be called again here // commented out because i don't think this should be called
//sa[0].doTrigger(isMandatory); // again here
// sa[0].doTrigger(isMandatory);
ComputerUtil.playNoStack(sa[0]); ComputerUtil.playNoStack(sa[0]);
} }
//Add eventual delayed trigger. // Add eventual delayed trigger.
if (params.containsKey("DelayedTrigger")) { if (params.containsKey("DelayedTrigger")) {
String sVarName = params.get("DelayedTrigger"); String sVarName = params.get("DelayedTrigger");
Trigger deltrig = parseTrigger(regtrig.getHostCard().getSVar(sVarName), regtrig.getHostCard(), true); Trigger deltrig = parseTrigger(regtrig.getHostCard().getSVar(sVarName),
regtrig.getHostCard(), true);
deltrig.setStoredTriggeredObjects(this.getTriggeringObjects()); deltrig.setStoredTriggeredObjects(this.getTriggeringObjects());
registerDelayedTrigger(deltrig); registerDelayedTrigger(deltrig);
} }
@@ -953,24 +1001,18 @@ public class TriggerHandler {
wrapperAbility.setMandatory(isMandatory); wrapperAbility.setMandatory(isMandatory);
wrapperAbility.setDescription(wrapperAbility.getStackDescription()); wrapperAbility.setDescription(wrapperAbility.getStackDescription());
/* /*
if(host.getController().isHuman()) * if(host.getController().isHuman()) {
{ * AllZone.getGameAction().playSpellAbility(wrapperAbility); } else {
AllZone.getGameAction().playSpellAbility(wrapperAbility); * wrapperAbility.doTrigger(isMandatory);
} * ComputerUtil.playStack(wrapperAbility); }
else */
{
wrapperAbility.doTrigger(isMandatory);
ComputerUtil.playStack(wrapperAbility);
}
*/
//Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card")); // Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
//System.out.println("Trigger going on stack for "+mode+". Card = "+src); // System.out.println("Trigger going on stack for "+mode+". Card = "+src);
if (params.containsKey("Static") && params.get("Static").equals("True")) { if (params.containsKey("Static") && params.get("Static").equals("True")) {
AllZone.getGameAction().playSpellAbility_NoStack(wrapperAbility, false); AllZone.getGameAction().playSpellAbility_NoStack(wrapperAbility, false);
} } else {
else {
AllZone.getStack().addSimultaneousStackEntry(wrapperAbility); AllZone.getStack().addSimultaneousStackEntry(wrapperAbility);
} }
return true; return true;
@@ -979,44 +1021,75 @@ public class TriggerHandler {
private final ArrayList<Integer> triggersAlwaysAccept = new ArrayList<Integer>(); private final ArrayList<Integer> triggersAlwaysAccept = new ArrayList<Integer>();
private final ArrayList<Integer> triggersAlwaysDecline = new ArrayList<Integer>(); private final ArrayList<Integer> triggersAlwaysDecline = new ArrayList<Integer>();
public void setAlwaysAcceptTrigger(final int trigID) { /**
if(triggersAlwaysDecline.contains(trigID)) * Sets the always accept trigger.
{ *
triggersAlwaysDecline.remove((Object)trigID); * @param trigID
* the new always accept trigger
*/
public final void setAlwaysAcceptTrigger(final int trigID) {
if (triggersAlwaysDecline.contains(trigID)) {
triggersAlwaysDecline.remove((Object) trigID);
} }
if(!triggersAlwaysAccept.contains(trigID)) if (!triggersAlwaysAccept.contains(trigID)) {
{
triggersAlwaysAccept.add(trigID); triggersAlwaysAccept.add(trigID);
} }
} }
public void setAlwaysDeclineTrigger(final int trigID) { /**
if(triggersAlwaysAccept.contains(trigID)) * Sets the always decline trigger.
{ *
triggersAlwaysAccept.remove((Object)trigID); * @param trigID
* the new always decline trigger
*/
public final void setAlwaysDeclineTrigger(final int trigID) {
if (triggersAlwaysAccept.contains(trigID)) {
triggersAlwaysAccept.remove((Object) trigID);
} }
if(!triggersAlwaysDecline.contains(trigID)) if (!triggersAlwaysDecline.contains(trigID)) {
{
triggersAlwaysDecline.add(trigID); triggersAlwaysDecline.add(trigID);
} }
} }
public void setAlwaysAskTrigger(final int trigID) { /**
triggersAlwaysAccept.remove((Object)trigID); * Sets the always ask trigger.
triggersAlwaysDecline.remove((Object)trigID); *
* @param trigID
* the new always ask trigger
*/
public final void setAlwaysAskTrigger(final int trigID) {
triggersAlwaysAccept.remove((Object) trigID);
triggersAlwaysDecline.remove((Object) trigID);
} }
public boolean isAlwaysAccepted(final int trigID) { /**
* Checks if is always accepted.
*
* @param trigID
* the trig id
* @return true, if is always accepted
*/
public final boolean isAlwaysAccepted(final int trigID) {
return triggersAlwaysAccept.contains(trigID); return triggersAlwaysAccept.contains(trigID);
} }
public boolean isAlwaysDeclined(final int trigID) { /**
* Checks if is always declined.
*
* @param trigID
* the trig id
* @return true, if is always declined
*/
public final boolean isAlwaysDeclined(final int trigID) {
return triggersAlwaysDecline.contains(trigID); return triggersAlwaysDecline.contains(trigID);
} }
public void clearTriggerSettings() { /**
* Clear trigger settings.
*/
public final void clearTriggerSettings() {
triggersAlwaysAccept.clear(); triggersAlwaysAccept.clear();
triggersAlwaysDecline.clear(); triggersAlwaysDecline.clear();
} }

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
/** /**
* <p>Trigger_Always class.</p> * <p>
* Trigger_Always class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,24 +17,30 @@ import java.util.Map;
public class Trigger_Always extends Trigger { public class Trigger_Always extends Trigger {
/** /**
* <p>Constructor for Trigger_Always.</p> * <p>
* Constructor for Trigger_Always.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Always(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Always(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
return true; return true;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Always(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Always(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -45,6 +53,6 @@ public class Trigger_Always extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa) {
} }
} }

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
/** /**
* <p>Trigger_AttackerBlocked class.</p> * <p>
* Trigger_AttackerBlocked class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,18 +17,24 @@ import java.util.Map;
public class Trigger_AttackerBlocked extends Trigger { public class Trigger_AttackerBlocked extends Trigger {
/** /**
* <p>Constructor for Trigger_AttackerBlocked.</p> * <p>
* Constructor for Trigger_AttackerBlocked.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_AttackerBlocked(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_AttackerBlocked(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -43,7 +51,7 @@ public class Trigger_AttackerBlocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_AttackerBlocked(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_AttackerBlocked(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -56,7 +64,7 @@ public class Trigger_AttackerBlocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Attacker", runParams.get("Attacker")); sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
sa.setTriggeringObject("Blocker", runParams.get("Blocker")); sa.setTriggeringObject("Blocker", runParams.get("Blocker"));
sa.setTriggeringObject("NumBlockers", runParams.get("NumBlockers")); sa.setTriggeringObject("NumBlockers", runParams.get("NumBlockers"));

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
/** /**
* <p>Trigger_AttackerUnblocked class.</p> * <p>
* Trigger_AttackerUnblocked class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,18 +17,24 @@ import java.util.Map;
public class Trigger_AttackerUnblocked extends Trigger { public class Trigger_AttackerUnblocked extends Trigger {
/** /**
* <p>Constructor for Trigger_AttackerUnblocked.</p> * <p>
* Constructor for Trigger_AttackerUnblocked.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_AttackerUnblocked(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_AttackerUnblocked(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -38,7 +46,7 @@ public class Trigger_AttackerUnblocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_AttackerUnblocked(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_AttackerUnblocked(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -51,7 +59,7 @@ public class Trigger_AttackerUnblocked extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Attacker", runParams.get("Attacker")); sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
} }
} }

View File

@@ -8,29 +8,37 @@ import forge.CardList;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
/** /**
* TODO: Write javadoc for this type. * TODO Write javadoc for this type.
* *
*/ */
public class Trigger_AttackersDeclared extends Trigger{ public class Trigger_AttackersDeclared extends Trigger {
public Trigger_AttackersDeclared(HashMap<String, String> params, Card host, boolean intrinsic) {
super(params,host,intrinsic); /**
* Instantiates a new trigger_ attackers declared.
*
* @param params
* the params
* @param host
* the host
* @param intrinsic
* the intrinsic
*/
public Trigger_AttackersDeclared(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String,Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if(mapParams.containsKey("SingleAttacker")) if (mapParams.containsKey("SingleAttacker")) {
{ CardList attackers = (CardList) runParams2.get("Attackers");
CardList attackers = (CardList)runParams2.get("Attackers"); if (attackers.size() != 1) {
if(attackers.size() != 1)
{
return false; return false;
} }
} }
if(mapParams.containsKey("AttackingPlayer")) if (mapParams.containsKey("AttackingPlayer")) {
{ if (!matchesValid(runParams2.get("AttackingPlayer"),
if(!matchesValid(runParams2.get("AttackingPlayer"), mapParams.get("AttackingPlayer").split(","), hostCard)) mapParams.get("AttackingPlayer").split(","), hostCard)) {
{
return false; return false;
} }
} }
@@ -39,11 +47,10 @@ public class Trigger_AttackersDeclared extends Trigger{
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_AttackersDeclared(this.mapParams,this.hostCard,this.isIntrinsic); Trigger copy = new Trigger_AttackersDeclared(this.mapParams, this.hostCard, this.isIntrinsic);
if(overridingAbility != null) if (overridingAbility != null) {
{
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
} }
copy.setName(name); copy.setName(name);
@@ -54,7 +61,7 @@ public class Trigger_AttackersDeclared extends Trigger{
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Attackers", runParams.get("Attackers")); sa.setTriggeringObject("Attackers", runParams.get("Attackers"));
} }
} }

View File

@@ -1,14 +1,16 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import java.util.Map;
import forge.Card; import forge.Card;
import forge.CardList; import forge.CardList;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
import java.util.Map;
/** /**
* <p>Trigger_Attacks class.</p> * <p>
* Trigger_Attacks class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -16,18 +18,24 @@ import java.util.Map;
public class Trigger_Attacks extends Trigger { public class Trigger_Attacks extends Trigger {
/** /**
* <p>Constructor for Trigger_Attacks.</p> * <p>
* Constructor for Trigger_Attacks.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Attacks(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Attacks(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -55,7 +63,7 @@ public class Trigger_Attacks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Attacks(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Attacks(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -68,7 +76,7 @@ public class Trigger_Attacks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Attacker", runParams.get("Attacker")); sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
} }
} }

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
/** /**
* <p>Trigger_BecomesTarget class.</p> * <p>
* Trigger_BecomesTarget class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -16,19 +18,24 @@ import java.util.Map;
public class Trigger_BecomesTarget extends Trigger { public class Trigger_BecomesTarget extends Trigger {
/** /**
* <p>Constructor for Trigger_BecomesTarget.</p> * <p>
* Constructor for Trigger_BecomesTarget.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_BecomesTarget(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_BecomesTarget(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (mapParams.containsKey("SourceType")) { if (mapParams.containsKey("SourceType")) {
SpellAbility sa = (SpellAbility) runParams2.get("SourceSA"); SpellAbility sa = (SpellAbility) runParams2.get("SourceSA");
if (mapParams.get("SourceType").equalsIgnoreCase("spell")) { if (mapParams.get("SourceType").equalsIgnoreCase("spell")) {
@@ -42,7 +49,8 @@ public class Trigger_BecomesTarget extends Trigger {
} }
} }
if (mapParams.containsKey("ValidSource")) { if (mapParams.containsKey("ValidSource")) {
if (!matchesValid(((SpellAbility) runParams2.get("SourceSA")).getSourceCard(), mapParams.get("ValidSource").split(","), hostCard)) { if (!matchesValid(((SpellAbility) runParams2.get("SourceSA")).getSourceCard(), mapParams.get("ValidSource")
.split(","), hostCard)) {
return false; return false;
} }
} }
@@ -57,7 +65,7 @@ public class Trigger_BecomesTarget extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_BecomesTarget(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_BecomesTarget(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -70,7 +78,7 @@ public class Trigger_BecomesTarget extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("SourceSA", runParams.get("SourceSA")); sa.setTriggeringObject("SourceSA", runParams.get("SourceSA"));
sa.setTriggeringObject("Source", ((SpellAbility) runParams.get("SourceSA")).getSourceCard()); sa.setTriggeringObject("Source", ((SpellAbility) runParams.get("SourceSA")).getSourceCard());
sa.setTriggeringObject("Target", runParams.get("Target")); sa.setTriggeringObject("Target", runParams.get("Target"));

View File

@@ -1,14 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import forge.Card;
import forge.card.spellability.SpellAbility;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import forge.Card;
import forge.card.spellability.SpellAbility;
/** /**
* <p>Trigger_Blocks class.</p> * <p>
* Trigger_Blocks class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -16,18 +17,24 @@ import java.util.Map;
public class Trigger_Blocks extends Trigger { public class Trigger_Blocks extends Trigger {
/** /**
* <p>Constructor for Trigger_Blocks.</p> * <p>
* Constructor for Trigger_Blocks.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Blocks(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Blocks(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Blocker"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Blocker"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -44,7 +51,7 @@ public class Trigger_Blocks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Blocks(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Blocks(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -57,7 +64,7 @@ public class Trigger_Blocks extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Blocker", runParams.get("Blocker")); sa.setTriggeringObject("Blocker", runParams.get("Blocker"));
sa.setTriggeringObject("Attacker", runParams.get("Attacker")); sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Championed class.</p> * <p>
* Trigger_Championed class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,18 +17,24 @@ import java.util.HashMap;
public class Trigger_Championed extends Trigger { public class Trigger_Championed extends Trigger {
/** /**
* <p>Constructor for Trigger_Championed.</p> * <p>
* Constructor for Trigger_Championed.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Championed(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Championed(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card championed = (Card) runParams2.get("Championed"); Card championed = (Card) runParams2.get("Championed");
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
@@ -40,7 +48,7 @@ public class Trigger_Championed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Championed(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Championed(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -53,7 +61,7 @@ public class Trigger_Championed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Championed", runParams.get("Championed")); sa.setTriggeringObject("Championed", runParams.get("Championed"));
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_ChangesZone class.</p> * <p>
* Trigger_ChangesZone class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_ChangesZone extends Trigger { public class Trigger_ChangesZone extends Trigger {
/** /**
* <p>Constructor for Trigger_ChangesZone.</p> * <p>
* Constructor for Trigger_ChangesZone.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_ChangesZone(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_ChangesZone(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("Origin")) { if (mapParams.containsKey("Origin")) {
if (!mapParams.get("Origin").equals("Any")) { if (!mapParams.get("Origin").equals("Any")) {
if (mapParams.get("Origin") == null) { if (mapParams.get("Origin") == null) {
@@ -57,7 +65,7 @@ public class Trigger_ChangesZone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_ChangesZone(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_ChangesZone(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -70,7 +78,7 @@ public class Trigger_ChangesZone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Clashed class.</p> * <p>
* Trigger_Clashed class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Clashed extends Trigger { public class Trigger_Clashed extends Trigger {
/** /**
* <p>Constructor for Trigger_Clashed.</p> * <p>
* Constructor for Trigger_Clashed.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Clashed(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Clashed(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidPlayer")) { if (mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) { if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
return false; return false;
@@ -33,8 +41,9 @@ public class Trigger_Clashed extends Trigger {
} }
if (mapParams.containsKey("Won")) { if (mapParams.containsKey("Won")) {
if (!mapParams.get("Won").equals(runParams2.get("Won"))) if (!mapParams.get("Won").equals(runParams2.get("Won"))) {
return false; return false;
}
} }
return true; return true;
@@ -42,7 +51,7 @@ public class Trigger_Clashed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Clashed(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Clashed(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -55,7 +64,7 @@ public class Trigger_Clashed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public void setTriggeringObjects(final SpellAbility sa) {
//No triggered-variables for you :( // No triggered-variables for you :(
} }
} }

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.Counters; import forge.Counters;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_CounterAdded class.</p> * <p>
* Trigger_CounterAdded class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,18 +17,24 @@ import java.util.HashMap;
public class Trigger_CounterAdded extends Trigger { public class Trigger_CounterAdded extends Trigger {
/** /**
* <p>Constructor for Trigger_CounterAdded.</p> * <p>
* Constructor for Trigger_CounterAdded.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_CounterAdded(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_CounterAdded(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card addedTo = (Card) runParams2.get("Card"); Card addedTo = (Card) runParams2.get("Card");
Counters addedType = (Counters) runParams2.get("CounterType"); Counters addedType = (Counters) runParams2.get("CounterType");
@@ -48,7 +56,7 @@ public class Trigger_CounterAdded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_CounterAdded(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_CounterAdded(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -61,7 +69,7 @@ public class Trigger_CounterAdded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Cycled class.</p> * <p>
* Trigger_Cycled class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,11 +16,16 @@ import java.util.HashMap;
public class Trigger_Cycled extends Trigger { public class Trigger_Cycled extends Trigger {
/** /**
* <p>Constructor for Trigger_Cycled.</p> * <p>
* Constructor for Trigger_Cycled.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param intrinsic a boolean * @param host
* a {@link forge.Card} object.
* @param intrinsic
* a boolean
*/ */
public Trigger_Cycled(final HashMap<String, String> params, final Card host, final boolean intrinsic) { public Trigger_Cycled(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);

View File

@@ -1,13 +1,15 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.AllZoneUtil; import forge.AllZoneUtil;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_DamageDone class.</p> * <p>
* Trigger_DamageDone class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -15,18 +17,24 @@ import java.util.HashMap;
public class Trigger_DamageDone extends Trigger { public class Trigger_DamageDone extends Trigger {
/** /**
* <p>Constructor for Trigger_DamageDone.</p> * <p>
* Constructor for Trigger_DamageDone.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_DamageDone(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_DamageDone(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card src = (Card) runParams2.get("DamageSource"); Card src = (Card) runParams2.get("DamageSource");
Object tgt = runParams2.get("DamageTarget"); Object tgt = runParams2.get("DamageTarget");
@@ -44,11 +52,13 @@ public class Trigger_DamageDone extends Trigger {
if (mapParams.containsKey("CombatDamage")) { if (mapParams.containsKey("CombatDamage")) {
if (mapParams.get("CombatDamage").equals("True")) { if (mapParams.get("CombatDamage").equals("True")) {
if (!((Boolean) runParams2.get("IsCombatDamage"))) if (!((Boolean) runParams2.get("IsCombatDamage"))) {
return false; return false;
}
} else if (mapParams.get("CombatDamage").equals("False")) { } else if (mapParams.get("CombatDamage").equals("False")) {
if (((Boolean) runParams2.get("IsCombatDamage"))) if (((Boolean) runParams2.get("IsCombatDamage"))) {
return false; return false;
}
} }
} }
@@ -59,8 +69,9 @@ public class Trigger_DamageDone extends Trigger {
int operand = Integer.parseInt(fullParam.substring(2)); int operand = Integer.parseInt(fullParam.substring(2));
int actualAmount = (Integer) runParams2.get("DamageAmount"); int actualAmount = (Integer) runParams2.get("DamageAmount");
if (!AllZoneUtil.compare(actualAmount, operator, operand)) if (!AllZoneUtil.compare(actualAmount, operator, operand)) {
return false; return false;
}
System.out.print("DamageDone Amount Operator: "); System.out.print("DamageDone Amount Operator: ");
System.out.println(operator); System.out.println(operator);
@@ -73,7 +84,7 @@ public class Trigger_DamageDone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_DamageDone(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_DamageDone(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -86,7 +97,7 @@ public class Trigger_DamageDone extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Source", runParams.get("DamageSource")); sa.setTriggeringObject("Source", runParams.get("DamageSource"));
sa.setTriggeringObject("Target", runParams.get("DamageTarget")); sa.setTriggeringObject("Target", runParams.get("DamageTarget"));
sa.setTriggeringObject("DamageAmount", runParams.get("DamageAmount")); sa.setTriggeringObject("DamageAmount", runParams.get("DamageAmount"));

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Discarded class.</p> * <p>
* Trigger_Discarded class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Discarded extends Trigger { public class Trigger_Discarded extends Trigger {
/** /**
* <p>Constructor for Trigger_Discarded.</p> * <p>
* Constructor for Trigger_Discarded.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Discarded(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Discarded(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -51,7 +59,7 @@ public class Trigger_Discarded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Discarded(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Discarded(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -64,7 +72,7 @@ public class Trigger_Discarded extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Drawn class.</p> * <p>
* Trigger_Drawn class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Drawn extends Trigger { public class Trigger_Drawn extends Trigger {
/** /**
* <p>Constructor for Trigger_Drawn.</p> * <p>
* Constructor for Trigger_Drawn.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Drawn(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Drawn(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card draw = ((Card) runParams2.get("Card")); Card draw = ((Card) runParams2.get("Card"));
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
@@ -38,7 +46,7 @@ public class Trigger_Drawn extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Drawn(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Drawn(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -51,7 +59,7 @@ public class Trigger_Drawn extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_LandPlayed class.</p> * <p>
* Trigger_LandPlayed class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,29 +16,43 @@ import java.util.HashMap;
public class Trigger_LandPlayed extends Trigger { public class Trigger_LandPlayed extends Trigger {
/** /**
* <p>Constructor for Trigger_LandPlayed.</p> * <p>
* Constructor for Trigger_LandPlayed.
* </p>
* *
* @param n a {@link java.lang.String} object. * @param n
* @param params a {@link java.util.HashMap} object. * a {@link java.lang.String} object.
* @param host a {@link forge.Card} object. * @param params
* a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_LandPlayed(String n, HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_LandPlayed(final String n,
final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(n, params, host, intrinsic); super(n, params, host, intrinsic);
} }
/** /**
* <p>Constructor for Trigger_LandPlayed.</p> * <p>
* Constructor for Trigger_LandPlayed.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_LandPlayed(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_LandPlayed(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_LandPlayed(name, mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_LandPlayed(name, mapParams, hostCard, isIntrinsic);
copy.setID(ID); copy.setID(ID);
@@ -49,13 +65,13 @@ public class Trigger_LandPlayed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_LifeGained class.</p> * <p>
* Trigger_LifeGained class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_LifeGained extends Trigger { public class Trigger_LifeGained extends Trigger {
/** /**
* <p>Constructor for Trigger_LifeGained.</p> * <p>
* Constructor for Trigger_LifeGained.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_LifeGained(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_LifeGained(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidPlayer")) { if (mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) { if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
return false; return false;
@@ -37,7 +45,7 @@ public class Trigger_LifeGained extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_LifeGained(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_LifeGained(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -50,7 +58,7 @@ public class Trigger_LifeGained extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount")); sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount"));
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_LifeLost class.</p> * <p>
* Trigger_LifeLost class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_LifeLost extends Trigger { public class Trigger_LifeLost extends Trigger {
/** /**
* <p>Constructor for Trigger_LifeLost.</p> * <p>
* Constructor for Trigger_LifeLost.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_LifeLost(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_LifeLost(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidPlayer")) { if (mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) { if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
return false; return false;
@@ -37,7 +45,7 @@ public class Trigger_LifeLost extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_LifeLost(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_LifeLost(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -50,7 +58,7 @@ public class Trigger_LifeLost extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount")); sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount"));
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Phase class.</p> * <p>
* Trigger_Phase class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Phase extends Trigger { public class Trigger_Phase extends Trigger {
/** /**
* <p>Constructor for Trigger_Phase.</p> * <p>
* Constructor for Trigger_Phase.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Phase(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Phase(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("Phase")) { if (mapParams.containsKey("Phase")) {
if (mapParams.get("Phase").contains(",")) { if (mapParams.get("Phase").contains(",")) {
boolean found = false; boolean found = false;
@@ -36,8 +44,9 @@ public class Trigger_Phase extends Trigger {
} }
} }
if (!found) if (!found) {
return false; return false;
}
} else { } else {
if (!mapParams.get("Phase").equals(runParams2.get("Phase"))) { if (!mapParams.get("Phase").equals(runParams2.get("Phase"))) {
return false; return false;
@@ -54,7 +63,7 @@ public class Trigger_Phase extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Phase(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Phase(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -67,7 +76,7 @@ public class Trigger_Phase extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Sacrificed class.</p> * <p>
* Trigger_Sacrificed class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Sacrificed extends Trigger { public class Trigger_Sacrificed extends Trigger {
/** /**
* <p>Constructor for Trigger_Sacrificed.</p> * <p>
* Constructor for Trigger_Sacrificed.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Sacrificed(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Sacrificed(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card sac = (Card) runParams2.get("Card"); Card sac = (Card) runParams2.get("Card");
if (mapParams.containsKey("ValidPlayer")) { if (mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(sac.getController(), mapParams.get("ValidPlayer").split(","), hostCard)) { if (!matchesValid(sac.getController(), mapParams.get("ValidPlayer").split(","), hostCard)) {
@@ -42,7 +50,7 @@ public class Trigger_Sacrificed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Sacrificed(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Sacrificed(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -55,7 +63,7 @@ public class Trigger_Sacrificed extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Shuffled class.</p> * <p>
* Trigger_Shuffled class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Shuffled extends Trigger { public class Trigger_Shuffled extends Trigger {
/** /**
* <p>Constructor for Trigger_Shuffled.</p> * <p>
* Constructor for Trigger_Shuffled.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Shuffled(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Shuffled(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidPlayer")) { if (mapParams.containsKey("ValidPlayer")) {
if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) { if (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
return false; return false;
@@ -37,7 +45,7 @@ public class Trigger_Shuffled extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Shuffled(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Shuffled(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -50,7 +58,7 @@ public class Trigger_Shuffled extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));
} }
} }

View File

@@ -1,5 +1,7 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.AllZone; import forge.AllZone;
import forge.Card; import forge.Card;
import forge.Player; import forge.Player;
@@ -7,10 +9,10 @@ import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbility_StackInstance; import forge.card.spellability.SpellAbility_StackInstance;
import java.util.HashMap;
/** /**
* <p>Trigger_SpellAbilityCast class.</p> * <p>
* Trigger_SpellAbilityCast class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -18,18 +20,24 @@ import java.util.HashMap;
public class Trigger_SpellAbilityCast extends Trigger { public class Trigger_SpellAbilityCast extends Trigger {
/** /**
* <p>Constructor for Trigger_SpellAbilityCast.</p> * <p>
* Constructor for Trigger_SpellAbilityCast.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_SpellAbilityCast(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_SpellAbilityCast(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
SpellAbility SA = (SpellAbility) runParams2.get("CastSA"); SpellAbility SA = (SpellAbility) runParams2.get("CastSA");
Card cast = SA.getSourceCard(); Card cast = SA.getSourceCard();
SpellAbility_StackInstance si = AllZone.getStack().getInstanceFromSpellAbility(SA); SpellAbility_StackInstance si = AllZone.getStack().getInstanceFromSpellAbility(SA);
@@ -43,7 +51,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
return false; return false;
} }
} else if (mapParams.get("Mode").equals("SpellAbilityCast")) { } else if (mapParams.get("Mode").equals("SpellAbilityCast")) {
//Empty block for readability. // Empty block for readability.
} }
if (mapParams.containsKey("ActivatedOnly")) { if (mapParams.containsKey("ActivatedOnly")) {
@@ -127,7 +135,9 @@ public class Trigger_SpellAbilityCast extends Trigger {
if (mapParams.containsKey("NonTapCost")) { if (mapParams.containsKey("NonTapCost")) {
Cost cost = (Cost) (runParams2.get("Cost")); Cost cost = (Cost) (runParams2.get("Cost"));
if (cost.getTap()) return false; if (cost.getTap()) {
return false;
}
} }
return true; return true;
@@ -135,7 +145,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_SpellAbilityCast(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_SpellAbilityCast(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -148,7 +158,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", ((SpellAbility) runParams.get("CastSA")).getSourceCard()); sa.setTriggeringObject("Card", ((SpellAbility) runParams.get("CastSA")).getSourceCard());
sa.setTriggeringObject("SpellAbility", runParams.get("CastSA")); sa.setTriggeringObject("SpellAbility", runParams.get("CastSA"));
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Taps class.</p> * <p>
* Trigger_Taps class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,11 +16,16 @@ import java.util.HashMap;
public class Trigger_Taps extends Trigger { public class Trigger_Taps extends Trigger {
/** /**
* <p>Constructor for Trigger_Taps.</p> * <p>
* Constructor for Trigger_Taps.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param intrinsic a boolean * @param host
* a {@link forge.Card} object.
* @param intrinsic
* a boolean
*/ */
public Trigger_Taps(final HashMap<String, String> params, final Card host, final boolean intrinsic) { public Trigger_Taps(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_TapsForMana class.</p> * <p>
* Trigger_TapsForMana class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_TapsForMana extends Trigger { public class Trigger_TapsForMana extends Trigger {
/** /**
* <p>Constructor for Trigger_TapsForMana.</p> * <p>
* Constructor for Trigger_TapsForMana.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_TapsForMana(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_TapsForMana(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card tapper = (Card) runParams2.get("Card"); Card tapper = (Card) runParams2.get("Card");
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
@@ -39,7 +47,7 @@ public class Trigger_TapsForMana extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_TapsForMana(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_TapsForMana(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -52,7 +60,7 @@ public class Trigger_TapsForMana extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
sa.setTriggeringObject("Player", runParams.get("Player")); sa.setTriggeringObject("Player", runParams.get("Player"));
sa.setTriggeringObject("Produced", runParams.get("Produced")); sa.setTriggeringObject("Produced", runParams.get("Produced"));

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_TurnFaceUp class.</p> * <p>
* Trigger_TurnFaceUp class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_TurnFaceUp extends Trigger { public class Trigger_TurnFaceUp extends Trigger {
/** /**
* <p>Constructor for Trigger_TurnFaceUp.</p> * <p>
* Constructor for Trigger_TurnFaceUp.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_TurnFaceUp(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_TurnFaceUp(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) { if (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
return false; return false;
@@ -37,7 +45,7 @@ public class Trigger_TurnFaceUp extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_TurnFaceUp(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_TurnFaceUp(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -50,7 +58,7 @@ public class Trigger_TurnFaceUp extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Unequip class.</p> * <p>
* Trigger_Unequip class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Unequip extends Trigger { public class Trigger_Unequip extends Trigger {
/** /**
* <p>Constructor for Trigger_Unequip.</p> * <p>
* Constructor for Trigger_Unequip.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Unequip(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Unequip(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card equipped = (Card) runParams2.get("Card"); Card equipped = (Card) runParams2.get("Card");
Card equipment = (Card) runParams2.get("Equipment"); Card equipment = (Card) runParams2.get("Equipment");
@@ -46,7 +54,7 @@ public class Trigger_Unequip extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Unequip(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Unequip(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -59,7 +67,7 @@ public class Trigger_Unequip extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
sa.setTriggeringObject("Equipment", runParams.get("Equipment")); sa.setTriggeringObject("Equipment", runParams.get("Equipment"));
} }

View File

@@ -1,12 +1,14 @@
package forge.card.trigger; package forge.card.trigger;
import java.util.HashMap;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import java.util.HashMap;
/** /**
* <p>Trigger_Untaps class.</p> * <p>
* Trigger_Untaps class.
* </p>
* *
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
@@ -14,18 +16,24 @@ import java.util.HashMap;
public class Trigger_Untaps extends Trigger { public class Trigger_Untaps extends Trigger {
/** /**
* <p>Constructor for Trigger_Untaps.</p> * <p>
* Constructor for Trigger_Untaps.
* </p>
* *
* @param params a {@link java.util.HashMap} object. * @param params
* @param host a {@link forge.Card} object. * a {@link java.util.HashMap} object.
* @param host
* a {@link forge.Card} object.
* @param intrinsic
* the intrinsic
*/ */
public Trigger_Untaps(HashMap<String, String> params, Card host, boolean intrinsic) { public Trigger_Untaps(final HashMap<String, String> params, final Card host, final boolean intrinsic) {
super(params, host, intrinsic); super(params, host, intrinsic);
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public boolean performTest(java.util.Map<String, Object> runParams2) { public final boolean performTest(final java.util.Map<String, Object> runParams2) {
Card untapper = (Card) runParams2.get("Card"); Card untapper = (Card) runParams2.get("Card");
if (mapParams.containsKey("ValidCard")) { if (mapParams.containsKey("ValidCard")) {
@@ -39,7 +47,7 @@ public class Trigger_Untaps extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Trigger getCopy() { public final Trigger getCopy() {
Trigger copy = new Trigger_Untaps(mapParams, hostCard, isIntrinsic); Trigger copy = new Trigger_Untaps(mapParams, hostCard, isIntrinsic);
if (overridingAbility != null) { if (overridingAbility != null) {
copy.setOverridingAbility(overridingAbility); copy.setOverridingAbility(overridingAbility);
@@ -52,7 +60,7 @@ public class Trigger_Untaps extends Trigger {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void setTriggeringObjects(SpellAbility sa) { public final void setTriggeringObjects(final SpellAbility sa) {
sa.setTriggeringObject("Card", runParams.get("Card")); sa.setTriggeringObject("Card", runParams.get("Card"));
} }

View File

@@ -1,2 +1,2 @@
/** Forge Card Game */ /** Forge Card Game. */
package forge.card.trigger; package forge.card.trigger;