add a new trigger mode for "Unequip"

This commit is contained in:
jendave
2011-08-06 20:09:06 +00:00
parent c4abb0e7f7
commit bd138e13fd
3 changed files with 52 additions and 1 deletions

1
.gitattributes vendored
View File

@@ -8082,6 +8082,7 @@ src/forge/Trigger_Shuffled.java -text svneol=native#text/plain
src/forge/Trigger_SpellAbilityCast.java -text svneol=native#text/plain src/forge/Trigger_SpellAbilityCast.java -text svneol=native#text/plain
src/forge/Trigger_Taps.java -text svneol=native#text/plain src/forge/Trigger_Taps.java -text svneol=native#text/plain
src/forge/Trigger_TurnFaceUp.java -text svneol=native#text/plain src/forge/Trigger_TurnFaceUp.java -text svneol=native#text/plain
src/forge/Trigger_Unequip.java -text svneol=native#text/plain
src/forge/Trigger_Untaps.java -text svneol=native#text/plain src/forge/Trigger_Untaps.java -text svneol=native#text/plain
src/forge/UndoCommand.java svneol=native#text/plain src/forge/UndoCommand.java svneol=native#text/plain
src/forge/Wait.java svneol=native#text/plain src/forge/Wait.java svneol=native#text/plain

View File

@@ -116,6 +116,9 @@ public class TriggerHandler {
{ {
ret = new Trigger_TurnFaceUp(mapParams,host); ret = new Trigger_TurnFaceUp(mapParams,host);
} }
else if(mode.equals("Unequip")) {
ret = new Trigger_Unequip(mapParams, host);
}
else if(mode.equals("Untaps")) else if(mode.equals("Untaps"))
{ {
ret = new Trigger_Untaps(mapParams,host); ret = new Trigger_Untaps(mapParams,host);

View File

@@ -0,0 +1,47 @@
package forge;
import java.util.HashMap;
public class Trigger_Unequip extends Trigger {
public Trigger_Unequip(HashMap<String, String> params, Card host) {
super(params, host);
}
@Override
public boolean performTest(HashMap<String, Object> runParams) {
Card equipped = (Card)runParams.get("Card");
Card equipment = (Card)runParams.get("Equipment");
if(mapParams.containsKey("ValidCard")) {
if(!equipped.isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard)) {
return false;
}
}
if(mapParams.containsKey("ValidEquipment")) {
if(!equipment.isValidCard(mapParams.get("ValidEquipment").split(","), hostCard.getController(), hostCard)) {
return false;
}
}
return true;
}
@Override
public Trigger getCopy() {
Trigger copy = new Trigger_Unequip(mapParams,hostCard);
if(overridingAbility != null) {
copy.setOverridingAbility(overridingAbility);
}
copy.setName(name);
return copy;
}
@Override
public void setTriggeringObjects(Card c) {
c.setTriggeringObject("Card", runParams.get("Card"));
c.setTriggeringObject("Equipment", runParams.get("Equipment"));
}
}