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