mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
checkstyle
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
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.AllZoneUtil;
|
||||
import forge.Card;
|
||||
import forge.CardList;
|
||||
import forge.CardUtil;
|
||||
import forge.Constant.Zone;
|
||||
@@ -11,173 +16,225 @@ import forge.card.abilityFactory.AbilityFactory;
|
||||
import forge.card.cardFactory.CardFactoryUtil;
|
||||
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
|
||||
* @version $Id$
|
||||
*/
|
||||
public abstract class Trigger {
|
||||
|
||||
/** Constant <code>nextID=0</code> */
|
||||
/** Constant <code>nextID=0</code>. */
|
||||
private static int nextID = 0;
|
||||
|
||||
/**
|
||||
* <p>resetIDs.</p>
|
||||
* <p>
|
||||
* resetIDs.
|
||||
* </p>
|
||||
*/
|
||||
public static void resetIDs() {
|
||||
nextID = 50000;
|
||||
}
|
||||
|
||||
/** The ID. */
|
||||
protected int ID = nextID++;
|
||||
|
||||
/** The 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.
|
||||
*/
|
||||
public String getName() {
|
||||
public final String getName() {
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* <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;
|
||||
}
|
||||
|
||||
/** The map params. */
|
||||
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.
|
||||
*/
|
||||
public HashMap<String, String> getMapParams() {
|
||||
public final HashMap<String, String> getMapParams() {
|
||||
return mapParams;
|
||||
}
|
||||
|
||||
/** The run params. */
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* <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.
|
||||
*/
|
||||
public Map<String, Object> getRunParams() {
|
||||
public final Map<String, Object> getRunParams() {
|
||||
return runParams;
|
||||
}
|
||||
|
||||
/** The overriding ability. */
|
||||
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.
|
||||
*/
|
||||
public SpellAbility getOverridingAbility() {
|
||||
public final SpellAbility getOverridingAbility() {
|
||||
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;
|
||||
}
|
||||
|
||||
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
|
||||
*/
|
||||
public void setStoredTriggeredObjects(HashMap<String, Object> storedTriggeredObjects) {
|
||||
public final void setStoredTriggeredObjects(final HashMap<String, Object> 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.
|
||||
* @since 1.0.15
|
||||
*/
|
||||
public HashMap<String, Object> getStoredTriggeredObjects() {
|
||||
public final HashMap<String, Object> getStoredTriggeredObjects() {
|
||||
return storedTriggeredObjects;
|
||||
}
|
||||
|
||||
/** The host card. */
|
||||
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.
|
||||
*/
|
||||
public Card getHostCard() {
|
||||
public final Card getHostCard() {
|
||||
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;
|
||||
}
|
||||
|
||||
/** The is intrinsic. */
|
||||
protected boolean isIntrinsic;
|
||||
|
||||
public boolean getIsIntrinsic()
|
||||
{
|
||||
/**
|
||||
* Gets the checks if is intrinsic.
|
||||
*
|
||||
* @return the checks if is intrinsic
|
||||
*/
|
||||
public final boolean getIsIntrinsic() {
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Constructor for Trigger.</p>
|
||||
* <p>
|
||||
* Constructor for Trigger.
|
||||
* </p>
|
||||
*
|
||||
* @param n a {@link java.lang.String} object.
|
||||
* @param params a {@link java.util.HashMap} object.
|
||||
* @param host a {@link forge.Card} object.
|
||||
* @param n
|
||||
* a {@link java.lang.String} 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;
|
||||
mapParams = new HashMap<String, String>();
|
||||
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 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(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>();
|
||||
for (Map.Entry<String, String> entry : params.entrySet()) {
|
||||
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.
|
||||
*/
|
||||
public String toString() {
|
||||
public final String toString() {
|
||||
if (mapParams.containsKey("TriggerDescription") && !isSuppressed()) {
|
||||
return mapParams.get("TriggerDescription").replace("CARDNAME", hostCard.getName());
|
||||
} else return "";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>zonesCheck.</p>
|
||||
* <p>
|
||||
* zonesCheck.
|
||||
* </p>
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
public boolean zonesCheck() {
|
||||
public final boolean zonesCheck() {
|
||||
if (mapParams.containsKey("TriggerZones")) {
|
||||
List<Zone> triggerZones = new ArrayList<Zone>();
|
||||
for (String s : mapParams.get("TriggerZones").split(",")) {
|
||||
@@ -238,11 +307,13 @@ public abstract class Trigger {
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>phasesCheck.</p>
|
||||
* <p>
|
||||
* phasesCheck.
|
||||
* </p>
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
public boolean phasesCheck() {
|
||||
public final boolean phasesCheck() {
|
||||
if (mapParams.containsKey("TriggerPhases")) {
|
||||
String phases = mapParams.get("TriggerPhases");
|
||||
|
||||
@@ -264,23 +335,29 @@ public abstract class Trigger {
|
||||
}
|
||||
}
|
||||
|
||||
if (mapParams.containsKey("PlayerTurn"))
|
||||
if (!AllZone.getPhase().isPlayerTurn(hostCard.getController()))
|
||||
if (mapParams.containsKey("PlayerTurn")) {
|
||||
if (!AllZone.getPhase().isPlayerTurn(hostCard.getController())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mapParams.containsKey("OpponentTurn"))
|
||||
if (AllZone.getPhase().isPlayerTurn(hostCard.getController()))
|
||||
if (mapParams.containsKey("OpponentTurn")) {
|
||||
if (AllZone.getPhase().isPlayerTurn(hostCard.getController())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>requirementsCheck.</p>
|
||||
* <p>
|
||||
* requirementsCheck.
|
||||
* </p>
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
public boolean requirementsCheck() {
|
||||
public final boolean requirementsCheck() {
|
||||
if (mapParams.containsKey("Metalcraft")) {
|
||||
if (mapParams.get("Metalcraft").equals("True") && !hostCard.getController().hasMetalcraft()) {
|
||||
return false;
|
||||
@@ -302,9 +379,12 @@ public abstract class Trigger {
|
||||
if (mapParams.containsKey("PlayersPoisoned")) {
|
||||
if (mapParams.get("PlayersPoisoned").equals("You") && hostCard.getController().getPoisonCounters() == 0) {
|
||||
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;
|
||||
} 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;
|
||||
}
|
||||
}
|
||||
@@ -325,13 +405,11 @@ public abstract class Trigger {
|
||||
lifeCompare = mapParams.get("LifeAmount");
|
||||
}
|
||||
|
||||
|
||||
int right = 1;
|
||||
String rightString = lifeCompare.substring(2);
|
||||
try {
|
||||
right = Integer.parseInt(rightString);
|
||||
}
|
||||
catch (NumberFormatException nfe) {
|
||||
} catch (NumberFormatException nfe) {
|
||||
right = CardFactoryUtil.xCount(hostCard, hostCard.getSVar(rightString));
|
||||
}
|
||||
|
||||
@@ -420,7 +498,8 @@ public abstract class Trigger {
|
||||
}
|
||||
|
||||
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";
|
||||
if (mapParams.containsKey("SVarCompare")) {
|
||||
comparator = mapParams.get("SVarCompare");
|
||||
@@ -433,28 +512,28 @@ public abstract class Trigger {
|
||||
}
|
||||
}
|
||||
|
||||
if(mapParams.containsKey("ManaSpent")) {
|
||||
if(!hostCard.getColorsPaid().contains(mapParams.get("ManaSpent"))) {
|
||||
if (mapParams.containsKey("ManaSpent")) {
|
||||
if (!hostCard.getColorsPaid().contains(mapParams.get("ManaSpent"))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(mapParams.containsKey("ManaNotSpent")) {
|
||||
if(hostCard.getColorsPaid().contains(mapParams.get("ManaNotSpent"))) {
|
||||
if (mapParams.containsKey("ManaNotSpent")) {
|
||||
if (hostCard.getColorsPaid().contains(mapParams.get("ManaNotSpent"))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(mapParams.containsKey("WerewolfTransformCondition")) {
|
||||
if(CardUtil.getLastTurnCast("Card", hostCard).size() > 0) {
|
||||
if (mapParams.containsKey("WerewolfTransformCondition")) {
|
||||
if (CardUtil.getLastTurnCast("Card", hostCard).size() > 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(mapParams.containsKey("WerewolfUntransformCondition")) {
|
||||
if (mapParams.containsKey("WerewolfUntransformCondition")) {
|
||||
CardList you = CardUtil.getLastTurnCast("Card.YouCtrl", hostCard);
|
||||
CardList opp = CardUtil.getLastTurnCast("Card.YouDontCtrl", hostCard);
|
||||
if(!(you.size() > 1 || opp.size() > 1)) {
|
||||
if (!(you.size() > 1 || opp.size() > 1)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -462,16 +541,20 @@ public abstract class Trigger {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <p>matchesValid.</p>
|
||||
* <p>
|
||||
* matchesValid.
|
||||
* </p>
|
||||
*
|
||||
* @param o a {@link java.lang.Object} object.
|
||||
* @param valids an array of {@link java.lang.String} objects.
|
||||
* @param srcCard a {@link forge.Card} object.
|
||||
* @param o
|
||||
* a {@link java.lang.Object} object.
|
||||
* @param valids
|
||||
* an array of {@link java.lang.String} objects.
|
||||
* @param srcCard
|
||||
* a {@link forge.Card} object.
|
||||
* @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) {
|
||||
Card c = (Card) o;
|
||||
return c.isValid(valids, srcCard.getController(), srcCard);
|
||||
@@ -503,71 +586,115 @@ public abstract class Trigger {
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>isSecondary.</p>
|
||||
* <p>
|
||||
* isSecondary.
|
||||
* </p>
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
public boolean isSecondary() {
|
||||
public final boolean isSecondary() {
|
||||
if (mapParams.containsKey("Secondary")) {
|
||||
if (mapParams.get("Secondary").equals("True"))
|
||||
if (mapParams.get("Secondary").equals("True")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (!(o instanceof Trigger))
|
||||
public final boolean equals(final Object o) {
|
||||
if (!(o instanceof Trigger)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
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.
|
||||
*/
|
||||
public abstract boolean performTest(java.util.Map<String, Object> runParams2);
|
||||
|
||||
/**
|
||||
* <p>getCopy.</p>
|
||||
* <p>
|
||||
* getCopy.
|
||||
* </p>
|
||||
*
|
||||
* @return a {@link forge.card.trigger.Trigger} object.
|
||||
*/
|
||||
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);
|
||||
|
||||
/** The temporary. */
|
||||
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;
|
||||
|
||||
/** The temporarily suppressed. */
|
||||
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;
|
||||
}
|
||||
|
||||
public void setTemporarilySuppressed(boolean supp) {
|
||||
/**
|
||||
* Sets the temporarily suppressed.
|
||||
*
|
||||
* @param supp
|
||||
* the new temporarily suppressed
|
||||
*/
|
||||
public final void setTemporarilySuppressed(final boolean supp) {
|
||||
temporarilySuppressed = supp;
|
||||
}
|
||||
|
||||
public boolean isSuppressed() {
|
||||
/**
|
||||
* Checks if is suppressed.
|
||||
*
|
||||
* @return true, if is suppressed
|
||||
*/
|
||||
public final boolean isSuppressed() {
|
||||
return (suppressed || temporarilySuppressed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,34 @@
|
||||
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.HashMap;
|
||||
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
|
||||
* @version $Id$
|
||||
@@ -38,21 +39,24 @@ public class TriggerHandler {
|
||||
|
||||
private ArrayList<Trigger> delayedTriggers = new ArrayList<Trigger>();
|
||||
|
||||
public void cleanUpTemporaryTriggers() {
|
||||
/**
|
||||
* Clean up temporary triggers.
|
||||
*/
|
||||
public final void cleanUpTemporaryTriggers() {
|
||||
CardList absolutelyAllCards = new CardList();
|
||||
absolutelyAllCards.addAll(AllZone.getHumanPlayer().getAllCards());
|
||||
absolutelyAllCards.addAll(AllZone.getComputerPlayer().getAllCards());
|
||||
|
||||
for(Card c : absolutelyAllCards) {
|
||||
for(int i=0;i< c.getTriggers().size();i++) {
|
||||
if(c.getTriggers().get(i).isTemporary()) {
|
||||
for (Card c : absolutelyAllCards) {
|
||||
for (int i = 0; i < c.getTriggers().size(); i++) {
|
||||
if (c.getTriggers().get(i).isTemporary()) {
|
||||
c.getTriggers().remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
for(Card c : absolutelyAllCards) {
|
||||
for(int i=0;i< c.getTriggers().size();i++) {
|
||||
for (Card c : absolutelyAllCards) {
|
||||
for (int i = 0; i < c.getTriggers().size(); i++) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
suppressedModes.remove(mode);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>parseTrigger.</p>
|
||||
* <p>
|
||||
* parseTrigger.
|
||||
* </p>
|
||||
*
|
||||
* @param name a {@link java.lang.String} object.
|
||||
* @param trigParse a {@link java.lang.String} object.
|
||||
* @param host a {@link forge.Card} object.
|
||||
* @param intrinsic a boolean.
|
||||
* @param name
|
||||
* a {@link java.lang.String} object.
|
||||
* @param trigParse
|
||||
* 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.
|
||||
*/
|
||||
public static Trigger parseTrigger(final String name, final String trigParse,
|
||||
final Card host, final boolean intrinsic)
|
||||
{
|
||||
public static Trigger parseTrigger(final String name, final String trigParse, final Card host,
|
||||
final boolean intrinsic) {
|
||||
Trigger ret = TriggerHandler.parseTrigger(trigParse, host, intrinsic);
|
||||
ret.setName(name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>parseTrigger.</p>
|
||||
* <p>
|
||||
* parseTrigger.
|
||||
* </p>
|
||||
*
|
||||
* @param trigParse a {@link java.lang.String} object.
|
||||
* @param host a {@link forge.Card} object.
|
||||
* @param intrinsic a boolean.
|
||||
* @param trigParse
|
||||
* 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.
|
||||
*/
|
||||
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);
|
||||
return parseTrigger(mapParams, host, intrinsic);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>parseTrigger.</p>
|
||||
* <p>
|
||||
* parseTrigger.
|
||||
* </p>
|
||||
*
|
||||
* @param mapParams a {@link java.util.HashMap} object.
|
||||
* @param host a {@link forge.Card} object.
|
||||
* @param intrinsic a boolean.
|
||||
* @param mapParams
|
||||
* a {@link java.util.HashMap} object.
|
||||
* @param host
|
||||
* a {@link forge.Card} object.
|
||||
* @param intrinsic
|
||||
* a boolean.
|
||||
* @return a {@link forge.card.trigger.Trigger} object.
|
||||
*/
|
||||
public static Trigger parseTrigger(final HashMap<String, String> mapParams,
|
||||
final Card host, final boolean intrinsic)
|
||||
{
|
||||
final Card host, final boolean intrinsic) {
|
||||
Trigger ret = null;
|
||||
|
||||
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.
|
||||
*/
|
||||
private static HashMap<String, String> parseParams(final String trigParse) {
|
||||
@@ -232,12 +261,15 @@ public class TriggerHandler {
|
||||
return mapParams;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <p>runTrigger.</p>
|
||||
* <p>
|
||||
* runTrigger.
|
||||
* </p>
|
||||
*
|
||||
* @param mode a {@link java.lang.String} object.
|
||||
* @param runParams a {@link java.util.Map} object.
|
||||
* @param mode
|
||||
* 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) {
|
||||
if (suppressedModes.contains(mode)) {
|
||||
@@ -246,14 +278,15 @@ public class TriggerHandler {
|
||||
|
||||
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);
|
||||
CardList allCards;
|
||||
|
||||
//AP
|
||||
// AP
|
||||
allCards = playerAP.getAllCards();
|
||||
for(Card c : allCards) {
|
||||
for(Trigger t : c.getTriggers()) {
|
||||
for (Card c : allCards) {
|
||||
for (Trigger t : c.getTriggers()) {
|
||||
runSingleTrigger(t, mode, runParams);
|
||||
}
|
||||
}
|
||||
@@ -268,10 +301,10 @@ public class TriggerHandler {
|
||||
}
|
||||
}
|
||||
|
||||
//NAP
|
||||
// NAP
|
||||
allCards = playerAP.getOpponent().getAllCards();
|
||||
for(Card c : allCards) {
|
||||
for(Trigger t : c.getTriggers()) {
|
||||
for (Card c : allCards) {
|
||||
for (Trigger t : c.getTriggers()) {
|
||||
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.
|
||||
//Return true if the trigger went off, false otherwise.
|
||||
// Checks if the conditions are right for a single trigger to go off, and
|
||||
// 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 mode a {@link java.lang.String} object.
|
||||
* @param runParams a {@link java.util.HashMap} object.
|
||||
* @param regtrig
|
||||
* a {@link forge.card.trigger.Trigger} object.
|
||||
* @param mode
|
||||
* a {@link java.lang.String} object.
|
||||
* @param runParams
|
||||
* a {@link java.util.HashMap} object.
|
||||
* @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();
|
||||
|
||||
if (!params.get("Mode").equals(mode)) {
|
||||
return false; //Not the right mode.
|
||||
return false; // Not the right mode.
|
||||
}
|
||||
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()) {
|
||||
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()) {
|
||||
return false; //Conditions aren't right.
|
||||
return false; // Conditions aren't right.
|
||||
}
|
||||
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 (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)) {
|
||||
return false; //Test failed.
|
||||
return false; // Test failed.
|
||||
}
|
||||
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");
|
||||
|
||||
if(torporOrbs.size() != 0)
|
||||
{
|
||||
if(params.containsKey("Destination"))
|
||||
{
|
||||
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() )))
|
||||
{
|
||||
if (torporOrbs.size() != 0) {
|
||||
if (params.containsKey("Destination")) {
|
||||
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()))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mode.equals("ChangesZone") && ((params.get("ValidCard").contains("Creature")) || (params.get("ValidCard").contains("Self") && regtrig.getHostCard().isCreature() )))
|
||||
{
|
||||
} else {
|
||||
if (mode.equals("ChangesZone")
|
||||
&& ((params.get("ValidCard").contains("Creature"))
|
||||
|| (params.get("ValidCard").contains("Self") && regtrig
|
||||
.getHostCard().isCreature()))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}//Torpor Orb check
|
||||
} // Torpor Orb check
|
||||
|
||||
final Player[] decider = new Player[1];
|
||||
|
||||
@@ -356,7 +398,7 @@ public class TriggerHandler {
|
||||
|
||||
regtrig.setRunParams(runParams);
|
||||
|
||||
//All tests passed, execute ability.
|
||||
// All tests passed, execute ability.
|
||||
if (regtrig instanceof Trigger_TapsForMana) {
|
||||
Ability_Mana abMana = (Ability_Mana) runParams.get("Ability_Mana");
|
||||
if (null != abMana) {
|
||||
@@ -394,13 +436,13 @@ public class TriggerHandler {
|
||||
|
||||
sa[0].setActivatingPlayer(host.getController());
|
||||
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()) {
|
||||
AbilityFactory_Charm.setupCharmSAs(sa[0]);
|
||||
}
|
||||
boolean mand = false;
|
||||
if (params.containsKey("OptionalDecider")) {
|
||||
sa[0].setOptionalTrigger(true);
|
||||
sa[0].setOptionalTrigger(true);
|
||||
mand = false;
|
||||
decider[0] = AbilityFactory.getDefinedPlayers(host, params.get("OptionalDecider"), sa[0]).get(0);
|
||||
} else {
|
||||
@@ -418,9 +460,12 @@ public class TriggerHandler {
|
||||
}
|
||||
final boolean isMandatory = mand;
|
||||
|
||||
//Wrapper ability that checks the requirements again just before resolving, for intervening if clauses.
|
||||
//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)
|
||||
// Wrapper ability that checks the requirements again just before
|
||||
// resolving, for intervening if clauses.
|
||||
// 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") {
|
||||
|
||||
@Override
|
||||
@@ -429,7 +474,7 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPaidHash(HashMap<String, CardList> hash) {
|
||||
public void setPaidHash(final HashMap<String, CardList> hash) {
|
||||
sa[0].setPaidHash(hash);
|
||||
}
|
||||
|
||||
@@ -439,17 +484,17 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPaidList(CardList list, String str) {
|
||||
public void setPaidList(final CardList list, final String str) {
|
||||
sa[0].setPaidList(list, str);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CardList getPaidList(String str) {
|
||||
public CardList getPaidList(final String str) {
|
||||
return sa[0].getPaidList(str);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCostToHashList(Card c, String str) {
|
||||
public void addCostToHashList(final Card c, final String str) {
|
||||
sa[0].addCostToHashList(c, str);
|
||||
}
|
||||
|
||||
@@ -464,22 +509,22 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAllTriggeringObjects(HashMap<String, Object> triggeredObjects) {
|
||||
public void setAllTriggeringObjects(final HashMap<String, Object> triggeredObjects) {
|
||||
sa[0].setAllTriggeringObjects(triggeredObjects);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTriggeringObject(String type, Object o) {
|
||||
public void setTriggeringObject(final String type, final Object o) {
|
||||
sa[0].setTriggeringObject(type, o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTriggeringObject(String type) {
|
||||
public Object getTriggeringObject(final String type) {
|
||||
return sa[0].getTriggeringObject(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTriggeringObject(String type) {
|
||||
public boolean hasTriggeringObject(final String type) {
|
||||
return sa[0].hasTriggeringObject(type);
|
||||
}
|
||||
|
||||
@@ -509,7 +554,7 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doTrigger(boolean mandatory) {
|
||||
public boolean doTrigger(final boolean mandatory) {
|
||||
return sa[0].doTrigger(mandatory);
|
||||
}
|
||||
|
||||
@@ -701,166 +746,166 @@ public class TriggerHandler {
|
||||
@Override
|
||||
public void resetOnceResolved() {
|
||||
// Fixing an issue with Targeting + Paying Mana
|
||||
//sa[0].resetOnceResolved();
|
||||
// sa[0].resetOnceResolved();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAbilityFactory(AbilityFactory af) {
|
||||
public void setAbilityFactory(final AbilityFactory af) {
|
||||
sa[0].setAbilityFactory(af);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setActivatingPlayer(Player player) {
|
||||
public void setActivatingPlayer(final Player player) {
|
||||
sa[0].setActivatingPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdditionalManaCost(String cost) {
|
||||
public void setAdditionalManaCost(final String cost) {
|
||||
sa[0].setAdditionalManaCost(cost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAfterPayMana(Input in) {
|
||||
public void setAfterPayMana(final Input in) {
|
||||
sa[0].setAfterPayMana(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAfterResolve(Input in) {
|
||||
public void setAfterResolve(final Input in) {
|
||||
sa[0].setAfterResolve(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeforePayMana(Input in) {
|
||||
public void setBeforePayMana(final Input in) {
|
||||
sa[0].setBeforePayMana(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeforePayManaAI(Command c) {
|
||||
public void setBeforePayManaAI(final Command c) {
|
||||
sa[0].setBeforePayManaAI(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelCommand(Command cancelCommand) {
|
||||
public void setCancelCommand(final Command cancelCommand) {
|
||||
sa[0].setCancelCommand(cancelCommand);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChooseTargetAI(CommandArgs c) {
|
||||
public void setChooseTargetAI(final CommandArgs c) {
|
||||
sa[0].setChooseTargetAI(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDescription(String s) {
|
||||
public void setDescription(final String s) {
|
||||
sa[0].setDescription(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFlashBackAbility(boolean flashBackAbility) {
|
||||
public void setFlashBackAbility(final boolean flashBackAbility) {
|
||||
sa[0].setFlashBackAbility(flashBackAbility);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsBuyBackAbility(boolean b) {
|
||||
public void setIsBuyBackAbility(final boolean b) {
|
||||
sa[0].setIsBuyBackAbility(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsCycling(boolean b) {
|
||||
public void setIsCycling(final boolean b) {
|
||||
sa[0].setIsCycling(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsMultiKicker(boolean b) {
|
||||
public void setIsMultiKicker(final boolean b) {
|
||||
sa[0].setIsMultiKicker(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsReplicate(boolean b) {
|
||||
public void setIsReplicate(final boolean b) {
|
||||
sa[0].setIsReplicate(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsXCost(boolean b) {
|
||||
public void setIsXCost(final boolean b) {
|
||||
sa[0].setIsXCost(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setKickerAbility(boolean kab) {
|
||||
public void setKickerAbility(final boolean kab) {
|
||||
sa[0].setKickerAbility(kab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setKothThirdAbility(boolean kothThirdAbility) {
|
||||
public void setKothThirdAbility(final boolean kothThirdAbility) {
|
||||
sa[0].setKothThirdAbility(kothThirdAbility);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setManaCost(String cost) {
|
||||
public void setManaCost(final String cost) {
|
||||
sa[0].setManaCost(cost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMultiKickerManaCost(String cost) {
|
||||
public void setMultiKickerManaCost(final String cost) {
|
||||
sa[0].setMultiKickerManaCost(cost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReplicateManaCost(String cost) {
|
||||
public void setReplicateManaCost(final String cost) {
|
||||
sa[0].setReplicateManaCost(cost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPayCosts(Cost abCost) {
|
||||
public void setPayCosts(final Cost abCost) {
|
||||
sa[0].setPayCosts(abCost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRestrictions(SpellAbility_Restriction restrict) {
|
||||
public void setRestrictions(final SpellAbility_Restriction restrict) {
|
||||
sa[0].setRestrictions(restrict);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSourceCard(Card c) {
|
||||
public void setSourceCard(final Card c) {
|
||||
sa[0].setSourceCard(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStackDescription(String s) {
|
||||
public void setStackDescription(final String s) {
|
||||
sa[0].setStackDescription(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSubAbility(Ability_Sub subAbility) {
|
||||
public void setSubAbility(final Ability_Sub subAbility) {
|
||||
sa[0].setSubAbility(subAbility);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTarget(Target tgt) {
|
||||
public void setTarget(final Target tgt) {
|
||||
sa[0].setTarget(tgt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTargetCard(Card card) {
|
||||
public void setTargetCard(final Card card) {
|
||||
sa[0].setTargetCard(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTargetList(CardList list) {
|
||||
public void setTargetList(final CardList list) {
|
||||
sa[0].setTargetList(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTargetPlayer(Player p) {
|
||||
public void setTargetPlayer(final Player p) {
|
||||
sa[0].setTargetPlayer(p);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(String s) {
|
||||
public void setType(final String s) {
|
||||
sa[0].setType(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setXManaCost(String cost) {
|
||||
public void setXManaCost(final String cost) {
|
||||
sa[0].setXManaCost(cost);
|
||||
}
|
||||
|
||||
@@ -870,7 +915,7 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSourceTrigger(int ID) {
|
||||
public void setSourceTrigger(final int ID) {
|
||||
sa[0].setSourceTrigger(ID);
|
||||
}
|
||||
|
||||
@@ -880,21 +925,24 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOptionalTrigger(boolean b) {
|
||||
sa[0].setOptionalTrigger(b);
|
||||
public void setOptionalTrigger(final boolean b) {
|
||||
sa[0].setOptionalTrigger(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOptionalTrigger() {
|
||||
return sa[0].isOptionalTrigger();
|
||||
return sa[0].isOptionalTrigger();
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
//THIS ONE IS ALL THAT MATTERS
|
||||
////////////////////////////////////////
|
||||
// //////////////////////////////////////
|
||||
// THIS ONE IS ALL THAT MATTERS
|
||||
// //////////////////////////////////////
|
||||
@Override
|
||||
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()) {
|
||||
return;
|
||||
@@ -903,20 +951,17 @@ public class TriggerHandler {
|
||||
|
||||
if (decider[0] != null) {
|
||||
if (decider[0].isHuman()) {
|
||||
if(triggersAlwaysAccept.contains(getSourceTrigger()))
|
||||
{
|
||||
//No need to do anything.
|
||||
}
|
||||
else if(triggersAlwaysDecline.contains(getSourceTrigger()))
|
||||
{
|
||||
if (triggersAlwaysAccept.contains(getSourceTrigger())) {
|
||||
// No need to do anything.
|
||||
} else if (triggersAlwaysDecline.contains(getSourceTrigger())) {
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
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(params.get("TriggerDescription").replace("CARDNAME", regtrig.getHostCard().getName()));
|
||||
buildQuestion.append(params.get("TriggerDescription").replace("CARDNAME",
|
||||
regtrig.getHostCard().getName()));
|
||||
buildQuestion.append(")");
|
||||
if (!GameActionUtil.showYesNoDialog(regtrig.getHostCard(), buildQuestion.toString())) {
|
||||
return;
|
||||
@@ -931,19 +976,22 @@ public class TriggerHandler {
|
||||
}
|
||||
|
||||
if (sa[0].getSourceCard().getController().isHuman()) {
|
||||
//Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
|
||||
//System.out.println("Trigger resolving for "+mode+". Card = "+src);
|
||||
// Card src =
|
||||
// (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
|
||||
// System.out.println("Trigger resolving for "+mode+". Card = "+src);
|
||||
AllZone.getGameAction().playSpellAbility_NoStack(sa[0], true);
|
||||
} else {
|
||||
// commented out because i don't think this should be called again here
|
||||
//sa[0].doTrigger(isMandatory);
|
||||
// commented out because i don't think this should be called
|
||||
// again here
|
||||
// sa[0].doTrigger(isMandatory);
|
||||
ComputerUtil.playNoStack(sa[0]);
|
||||
}
|
||||
|
||||
//Add eventual delayed trigger.
|
||||
// Add eventual delayed trigger.
|
||||
if (params.containsKey("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());
|
||||
registerDelayedTrigger(deltrig);
|
||||
}
|
||||
@@ -953,24 +1001,18 @@ public class TriggerHandler {
|
||||
wrapperAbility.setMandatory(isMandatory);
|
||||
wrapperAbility.setDescription(wrapperAbility.getStackDescription());
|
||||
/*
|
||||
if(host.getController().isHuman())
|
||||
{
|
||||
AllZone.getGameAction().playSpellAbility(wrapperAbility);
|
||||
}
|
||||
else
|
||||
{
|
||||
wrapperAbility.doTrigger(isMandatory);
|
||||
ComputerUtil.playStack(wrapperAbility);
|
||||
}
|
||||
*/
|
||||
* if(host.getController().isHuman()) {
|
||||
* AllZone.getGameAction().playSpellAbility(wrapperAbility); } else {
|
||||
* wrapperAbility.doTrigger(isMandatory);
|
||||
* ComputerUtil.playStack(wrapperAbility); }
|
||||
*/
|
||||
|
||||
//Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
|
||||
//System.out.println("Trigger going on stack for "+mode+". Card = "+src);
|
||||
// Card src = (Card)(sa[0].getSourceCard().getTriggeringObject("Card"));
|
||||
// System.out.println("Trigger going on stack for "+mode+". Card = "+src);
|
||||
|
||||
if (params.containsKey("Static") && params.get("Static").equals("True")) {
|
||||
AllZone.getGameAction().playSpellAbility_NoStack(wrapperAbility, false);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
AllZone.getStack().addSimultaneousStackEntry(wrapperAbility);
|
||||
}
|
||||
return true;
|
||||
@@ -979,44 +1021,75 @@ public class TriggerHandler {
|
||||
private final ArrayList<Integer> triggersAlwaysAccept = new ArrayList<Integer>();
|
||||
private final ArrayList<Integer> triggersAlwaysDecline = new ArrayList<Integer>();
|
||||
|
||||
public void setAlwaysAcceptTrigger(final int trigID) {
|
||||
if(triggersAlwaysDecline.contains(trigID))
|
||||
{
|
||||
triggersAlwaysDecline.remove((Object)trigID);
|
||||
/**
|
||||
* Sets the always accept trigger.
|
||||
*
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
||||
public void setAlwaysDeclineTrigger(final int trigID) {
|
||||
if(triggersAlwaysAccept.contains(trigID))
|
||||
{
|
||||
triggersAlwaysAccept.remove((Object)trigID);
|
||||
/**
|
||||
* Sets the always decline trigger.
|
||||
*
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
||||
public void setAlwaysAskTrigger(final int trigID) {
|
||||
triggersAlwaysAccept.remove((Object)trigID);
|
||||
triggersAlwaysDecline.remove((Object)trigID);
|
||||
/**
|
||||
* Sets the always ask trigger.
|
||||
*
|
||||
* @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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
public void clearTriggerSettings() {
|
||||
/**
|
||||
* Clear trigger settings.
|
||||
*/
|
||||
public final void clearTriggerSettings() {
|
||||
triggersAlwaysAccept.clear();
|
||||
triggersAlwaysDecline.clear();
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Always class.</p>
|
||||
* <p>
|
||||
* Trigger_Always class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,24 +17,30 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Always(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -45,6 +53,6 @@ public class Trigger_Always extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public void setTriggeringObjects(final SpellAbility sa) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* <p>Trigger_AttackerBlocked class.</p>
|
||||
* <p>
|
||||
* Trigger_AttackerBlocked class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,18 +17,24 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -43,7 +51,7 @@ public class Trigger_AttackerBlocked extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_AttackerBlocked(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -56,7 +64,7 @@ public class Trigger_AttackerBlocked extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
|
||||
sa.setTriggeringObject("Blocker", runParams.get("Blocker"));
|
||||
sa.setTriggeringObject("NumBlockers", runParams.get("NumBlockers"));
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* <p>Trigger_AttackerUnblocked class.</p>
|
||||
* <p>
|
||||
* Trigger_AttackerUnblocked class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,18 +17,24 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -38,7 +46,7 @@ public class Trigger_AttackerUnblocked extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_AttackerUnblocked(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -51,7 +59,7 @@ public class Trigger_AttackerUnblocked extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,29 +8,37 @@ import forge.CardList;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
* TODO Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class Trigger_AttackersDeclared extends Trigger{
|
||||
public Trigger_AttackersDeclared(HashMap<String, String> params, Card host, boolean intrinsic) {
|
||||
super(params,host,intrinsic);
|
||||
public class Trigger_AttackersDeclared extends Trigger {
|
||||
|
||||
/**
|
||||
* 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} */
|
||||
@Override
|
||||
public boolean performTest(Map<String,Object> runParams2) {
|
||||
if(mapParams.containsKey("SingleAttacker"))
|
||||
{
|
||||
CardList attackers = (CardList)runParams2.get("Attackers");
|
||||
if(attackers.size() != 1)
|
||||
{
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("SingleAttacker")) {
|
||||
CardList attackers = (CardList) runParams2.get("Attackers");
|
||||
if (attackers.size() != 1) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(mapParams.containsKey("AttackingPlayer"))
|
||||
{
|
||||
if(!matchesValid(runParams2.get("AttackingPlayer"), mapParams.get("AttackingPlayer").split(","), hostCard))
|
||||
{
|
||||
if (mapParams.containsKey("AttackingPlayer")) {
|
||||
if (!matchesValid(runParams2.get("AttackingPlayer"),
|
||||
mapParams.get("AttackingPlayer").split(","), hostCard)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -39,11 +47,10 @@ public class Trigger_AttackersDeclared extends Trigger{
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
Trigger copy = new Trigger_AttackersDeclared(this.mapParams,this.hostCard,this.isIntrinsic);
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_AttackersDeclared(this.mapParams, this.hostCard, this.isIntrinsic);
|
||||
|
||||
if(overridingAbility != null)
|
||||
{
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
}
|
||||
copy.setName(name);
|
||||
@@ -54,7 +61,7 @@ public class Trigger_AttackersDeclared extends Trigger{
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Attackers", runParams.get("Attackers"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.CardList;
|
||||
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
|
||||
* @version $Id$
|
||||
@@ -16,18 +18,24 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
if (!matchesValid(runParams2.get("Attacker"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -55,7 +63,7 @@ public class Trigger_Attacks extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Attacks(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -68,7 +76,7 @@ public class Trigger_Attacks extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* <p>Trigger_BecomesTarget class.</p>
|
||||
* <p>
|
||||
* Trigger_BecomesTarget class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -16,19 +18,24 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("SourceType")) {
|
||||
SpellAbility sa = (SpellAbility) runParams2.get("SourceSA");
|
||||
if (mapParams.get("SourceType").equalsIgnoreCase("spell")) {
|
||||
@@ -42,7 +49,8 @@ public class Trigger_BecomesTarget extends Trigger {
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -57,7 +65,7 @@ public class Trigger_BecomesTarget extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_BecomesTarget(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -70,7 +78,7 @@ public class Trigger_BecomesTarget extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("SourceSA", runParams.get("SourceSA"));
|
||||
sa.setTriggeringObject("Source", ((SpellAbility) runParams.get("SourceSA")).getSourceCard());
|
||||
sa.setTriggeringObject("Target", runParams.get("Target"));
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Blocks class.</p>
|
||||
* <p>
|
||||
* Trigger_Blocks class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -16,18 +17,24 @@ import java.util.Map;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public boolean performTest(Map<String, Object> runParams2) {
|
||||
public final boolean performTest(final Map<String, Object> runParams2) {
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
if (!matchesValid(runParams2.get("Blocker"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -44,7 +51,7 @@ public class Trigger_Blocks extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Blocks(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -57,7 +64,7 @@ public class Trigger_Blocks extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Blocker", runParams.get("Blocker"));
|
||||
sa.setTriggeringObject("Attacker", runParams.get("Attacker"));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Championed class.</p>
|
||||
* <p>
|
||||
* Trigger_Championed class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,18 +17,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
@@ -40,7 +48,7 @@ public class Trigger_Championed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Championed(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -53,7 +61,7 @@ public class Trigger_Championed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Championed", runParams.get("Championed"));
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_ChangesZone class.</p>
|
||||
* <p>
|
||||
* Trigger_ChangesZone class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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.get("Origin").equals("Any")) {
|
||||
if (mapParams.get("Origin") == null) {
|
||||
@@ -57,7 +65,7 @@ public class Trigger_ChangesZone extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_ChangesZone(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -70,7 +78,7 @@ public class Trigger_ChangesZone extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Clashed class.</p>
|
||||
* <p>
|
||||
* Trigger_Clashed class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -33,8 +41,9 @@ public class Trigger_Clashed extends Trigger {
|
||||
}
|
||||
|
||||
if (mapParams.containsKey("Won")) {
|
||||
if (!mapParams.get("Won").equals(runParams2.get("Won")))
|
||||
if (!mapParams.get("Won").equals(runParams2.get("Won"))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -42,7 +51,7 @@ public class Trigger_Clashed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Clashed(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -55,7 +64,7 @@ public class Trigger_Clashed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
//No triggered-variables for you :(
|
||||
public void setTriggeringObjects(final SpellAbility sa) {
|
||||
// No triggered-variables for you :(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.Counters;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_CounterAdded class.</p>
|
||||
* <p>
|
||||
* Trigger_CounterAdded class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,18 +17,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
Counters addedType = (Counters) runParams2.get("CounterType");
|
||||
|
||||
@@ -48,7 +56,7 @@ public class Trigger_CounterAdded extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_CounterAdded(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -61,7 +69,7 @@ public class Trigger_CounterAdded extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Cycled class.</p>
|
||||
* <p>
|
||||
* Trigger_Cycled class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,11 +16,16 @@ import java.util.HashMap;
|
||||
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 host a {@link forge.Card} object.
|
||||
* @param intrinsic a boolean
|
||||
* @param params
|
||||
* a {@link java.util.HashMap} object.
|
||||
* @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) {
|
||||
super(params, host, intrinsic);
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.AllZoneUtil;
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_DamageDone class.</p>
|
||||
* <p>
|
||||
* Trigger_DamageDone class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -15,18 +17,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
Object tgt = runParams2.get("DamageTarget");
|
||||
|
||||
@@ -44,11 +52,13 @@ public class Trigger_DamageDone extends Trigger {
|
||||
|
||||
if (mapParams.containsKey("CombatDamage")) {
|
||||
if (mapParams.get("CombatDamage").equals("True")) {
|
||||
if (!((Boolean) runParams2.get("IsCombatDamage")))
|
||||
if (!((Boolean) runParams2.get("IsCombatDamage"))) {
|
||||
return false;
|
||||
}
|
||||
} else if (mapParams.get("CombatDamage").equals("False")) {
|
||||
if (((Boolean) runParams2.get("IsCombatDamage")))
|
||||
if (((Boolean) runParams2.get("IsCombatDamage"))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,8 +69,9 @@ public class Trigger_DamageDone extends Trigger {
|
||||
int operand = Integer.parseInt(fullParam.substring(2));
|
||||
int actualAmount = (Integer) runParams2.get("DamageAmount");
|
||||
|
||||
if (!AllZoneUtil.compare(actualAmount, operator, operand))
|
||||
if (!AllZoneUtil.compare(actualAmount, operator, operand)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
System.out.print("DamageDone Amount Operator: ");
|
||||
System.out.println(operator);
|
||||
@@ -73,7 +84,7 @@ public class Trigger_DamageDone extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_DamageDone(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -86,7 +97,7 @@ public class Trigger_DamageDone extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Source", runParams.get("DamageSource"));
|
||||
sa.setTriggeringObject("Target", runParams.get("DamageTarget"));
|
||||
sa.setTriggeringObject("DamageAmount", runParams.get("DamageAmount"));
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Discarded class.</p>
|
||||
* <p>
|
||||
* Trigger_Discarded class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -51,7 +59,7 @@ public class Trigger_Discarded extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Discarded(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -64,7 +72,7 @@ public class Trigger_Discarded extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Drawn class.</p>
|
||||
* <p>
|
||||
* Trigger_Drawn class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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"));
|
||||
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
@@ -38,7 +46,7 @@ public class Trigger_Drawn extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Drawn(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -51,7 +59,7 @@ public class Trigger_Drawn extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_LandPlayed class.</p>
|
||||
* <p>
|
||||
* Trigger_LandPlayed class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,29 +16,43 @@ import java.util.HashMap;
|
||||
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 params a {@link java.util.HashMap} object.
|
||||
* @param host a {@link forge.Card} object.
|
||||
* @param n
|
||||
* a {@link java.lang.String} 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Constructor for Trigger_LandPlayed.</p>
|
||||
* <p>
|
||||
* Constructor for Trigger_LandPlayed.
|
||||
* </p>
|
||||
*
|
||||
* @param params a {@link java.util.HashMap} 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(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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_LandPlayed(name, mapParams, hostCard, isIntrinsic);
|
||||
copy.setID(ID);
|
||||
|
||||
@@ -49,13 +65,13 @@ public class Trigger_LandPlayed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_LifeGained class.</p>
|
||||
* <p>
|
||||
* Trigger_LifeGained class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -37,7 +45,7 @@ public class Trigger_LifeGained extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_LifeGained(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -50,7 +58,7 @@ public class Trigger_LifeGained extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount"));
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_LifeLost class.</p>
|
||||
* <p>
|
||||
* Trigger_LifeLost class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -37,7 +45,7 @@ public class Trigger_LifeLost extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_LifeLost(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -50,7 +58,7 @@ public class Trigger_LifeLost extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("LifeAmount", runParams.get("LifeAmount"));
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Phase class.</p>
|
||||
* <p>
|
||||
* Trigger_Phase class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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.get("Phase").contains(",")) {
|
||||
boolean found = false;
|
||||
@@ -36,8 +44,9 @@ public class Trigger_Phase extends Trigger {
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
if (!found) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!mapParams.get("Phase").equals(runParams2.get("Phase"))) {
|
||||
return false;
|
||||
@@ -54,7 +63,7 @@ public class Trigger_Phase extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Phase(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -67,7 +76,7 @@ public class Trigger_Phase extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Sacrificed class.</p>
|
||||
* <p>
|
||||
* Trigger_Sacrificed class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
if (mapParams.containsKey("ValidPlayer")) {
|
||||
if (!matchesValid(sac.getController(), mapParams.get("ValidPlayer").split(","), hostCard)) {
|
||||
@@ -42,7 +50,7 @@ public class Trigger_Sacrificed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Sacrificed(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -55,7 +63,7 @@ public class Trigger_Sacrificed extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Shuffled class.</p>
|
||||
* <p>
|
||||
* Trigger_Shuffled class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Player"), mapParams.get("ValidPlayer").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -37,7 +45,7 @@ public class Trigger_Shuffled extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Shuffled(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -50,7 +58,7 @@ public class Trigger_Shuffled extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.AllZone;
|
||||
import forge.Card;
|
||||
import forge.Player;
|
||||
@@ -7,10 +9,10 @@ import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.SpellAbility_StackInstance;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_SpellAbilityCast class.</p>
|
||||
* <p>
|
||||
* Trigger_SpellAbilityCast class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -18,18 +20,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
Card cast = SA.getSourceCard();
|
||||
SpellAbility_StackInstance si = AllZone.getStack().getInstanceFromSpellAbility(SA);
|
||||
@@ -43,7 +51,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
|
||||
return false;
|
||||
}
|
||||
} else if (mapParams.get("Mode").equals("SpellAbilityCast")) {
|
||||
//Empty block for readability.
|
||||
// Empty block for readability.
|
||||
}
|
||||
|
||||
if (mapParams.containsKey("ActivatedOnly")) {
|
||||
@@ -127,7 +135,9 @@ public class Trigger_SpellAbilityCast extends Trigger {
|
||||
|
||||
if (mapParams.containsKey("NonTapCost")) {
|
||||
Cost cost = (Cost) (runParams2.get("Cost"));
|
||||
if (cost.getTap()) return false;
|
||||
if (cost.getTap()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -135,7 +145,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_SpellAbilityCast(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -148,7 +158,7 @@ public class Trigger_SpellAbilityCast extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", ((SpellAbility) runParams.get("CastSA")).getSourceCard());
|
||||
sa.setTriggeringObject("SpellAbility", runParams.get("CastSA"));
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Taps class.</p>
|
||||
* <p>
|
||||
* Trigger_Taps class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,11 +16,16 @@ import java.util.HashMap;
|
||||
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 host a {@link forge.Card} object.
|
||||
* @param intrinsic a boolean
|
||||
* @param params
|
||||
* a {@link java.util.HashMap} object.
|
||||
* @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) {
|
||||
super(params, host, intrinsic);
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_TapsForMana class.</p>
|
||||
* <p>
|
||||
* Trigger_TapsForMana class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
@@ -39,7 +47,7 @@ public class Trigger_TapsForMana extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_TapsForMana(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -52,7 +60,7 @@ public class Trigger_TapsForMana extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
sa.setTriggeringObject("Player", runParams.get("Player"));
|
||||
sa.setTriggeringObject("Produced", runParams.get("Produced"));
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_TurnFaceUp class.</p>
|
||||
* <p>
|
||||
* Trigger_TurnFaceUp class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 (!matchesValid(runParams2.get("Card"), mapParams.get("ValidCard").split(","), hostCard)) {
|
||||
return false;
|
||||
@@ -37,7 +45,7 @@ public class Trigger_TurnFaceUp extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_TurnFaceUp(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -50,7 +58,7 @@ public class Trigger_TurnFaceUp extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Unequip class.</p>
|
||||
* <p>
|
||||
* Trigger_Unequip class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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 equipment = (Card) runParams2.get("Equipment");
|
||||
|
||||
@@ -46,7 +54,7 @@ public class Trigger_Unequip extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Unequip(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -59,7 +67,7 @@ public class Trigger_Unequip extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
sa.setTriggeringObject("Equipment", runParams.get("Equipment"));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package forge.card.trigger;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* <p>Trigger_Untaps class.</p>
|
||||
* <p>
|
||||
* Trigger_Untaps class.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
@@ -14,18 +16,24 @@ import java.util.HashMap;
|
||||
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 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_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);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@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");
|
||||
|
||||
if (mapParams.containsKey("ValidCard")) {
|
||||
@@ -39,7 +47,7 @@ public class Trigger_Untaps extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public Trigger getCopy() {
|
||||
public final Trigger getCopy() {
|
||||
Trigger copy = new Trigger_Untaps(mapParams, hostCard, isIntrinsic);
|
||||
if (overridingAbility != null) {
|
||||
copy.setOverridingAbility(overridingAbility);
|
||||
@@ -52,7 +60,7 @@ public class Trigger_Untaps extends Trigger {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void setTriggeringObjects(SpellAbility sa) {
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", runParams.get("Card"));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
/** Forge Card Game */
|
||||
/** Forge Card Game. */
|
||||
package forge.card.trigger;
|
||||
|
||||
Reference in New Issue
Block a user