*Separated tap & untap trigger modes again

*Added ValidPlayer parameter to SpellCast
*Fixed ValidPlayer parameter of Sacrificed triggermode.
This commit is contained in:
jendave
2011-08-06 14:58:04 +00:00
parent 944947aaa6
commit 7b676618b7
6 changed files with 54 additions and 19 deletions

3
.gitattributes vendored
View File

@@ -6644,7 +6644,8 @@ src/forge/Trigger_LifeLost.java -text svneol=native#text/plain
src/forge/Trigger_Phase.java -text svneol=native#text/plain src/forge/Trigger_Phase.java -text svneol=native#text/plain
src/forge/Trigger_Sacrificed.java -text svneol=native#text/plain src/forge/Trigger_Sacrificed.java -text svneol=native#text/plain
src/forge/Trigger_SpellCast.java -text svneol=native#text/plain src/forge/Trigger_SpellCast.java -text svneol=native#text/plain
src/forge/Trigger_TapsUntaps.java -text svneol=native#text/plain src/forge/Trigger_Taps.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
src/forge/WinLose.java svneol=native#text/plain src/forge/WinLose.java svneol=native#text/plain

View File

@@ -53,9 +53,13 @@ public class TriggerHandler {
{ {
ret = new Trigger_SpellCast(mapParams,host); ret = new Trigger_SpellCast(mapParams,host);
} }
else if(mode.equals("TapsUntaps")) else if(mode.equals("Taps"))
{ {
ret = new Trigger_TapsUntaps(mapParams,host); ret = new Trigger_Taps(mapParams,host);
}
else if(mode.equals("Untaps"))
{
ret = new Trigger_Untaps(mapParams,host);
} }
return ret; return ret;

View File

@@ -10,9 +10,10 @@ public class Trigger_Sacrificed extends Trigger {
@Override @Override
public boolean performTest(HashMap<String, Object> runParams) { public boolean performTest(HashMap<String, Object> runParams) {
Card sac = ((Card)runParams.get("Sacrificed"));
if(mapParams.containsKey("ValidPlayer")) if(mapParams.containsKey("ValidPlayer"))
{ {
if(!matchesValid(runParams.get("Player"),mapParams.get("ValidPlayer").split(","),hostCard)) if(!matchesValid(sac.getController(),mapParams.get("ValidPlayer").split(","),hostCard))
{ {
System.out.println("Test failed: Discarding player not valid."); System.out.println("Test failed: Discarding player not valid.");
return false; return false;
@@ -20,7 +21,7 @@ public class Trigger_Sacrificed extends Trigger {
} }
if(mapParams.containsKey("ValidCard")) if(mapParams.containsKey("ValidCard"))
{ {
if(!((Card)runParams.get("Sacrificed")).isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard)) if(!sac.isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard))
{ {
System.out.println("Test failed: Card not valid."); System.out.println("Test failed: Card not valid.");
return false; return false;

View File

@@ -11,9 +11,19 @@ public class Trigger_SpellCast extends Trigger {
@Override @Override
public boolean performTest(HashMap<String, Object> runParams) public boolean performTest(HashMap<String, Object> runParams)
{ {
if(mapParams.containsKey("ValidCard")) Card cast = ((Spell)runParams.get("CastSA")).getSourceCard();
if(mapParams.containsKey("ValidPlayer"))
{ {
Card cast = ((Spell)runParams.get("CastSA")).getSourceCard(); if(!matchesValid(cast.getController(),mapParams.get("ValidPlayer").split(","),hostCard))
{
System.out.println("Test failed: Player was not valid.");
return false;
}
}
if(mapParams.containsKey("ValidCard"))
{
if(!matchesValid(cast,mapParams.get("ValidCard").split(","),hostCard)) if(!matchesValid(cast,mapParams.get("ValidCard").split(","),hostCard))
{ {
System.out.println("Test failed: Cast card was not valid."); System.out.println("Test failed: Cast card was not valid.");

View File

@@ -0,0 +1,28 @@
package forge;
import java.util.HashMap;
public class Trigger_Taps extends Trigger {
public Trigger_Taps(HashMap<String, String> params, Card host) {
super(params, host);
}
@Override
public boolean performTest(HashMap<String, Object> runParams)
{
Card tapper = (Card)runParams.get("Card");
if(mapParams.containsKey("ValidCard"))
{
if(!tapper.isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard))
{
System.out.println("Test failed: Untapper not valid.");
return false;
}
}
return true;
}
}

View File

@@ -2,9 +2,9 @@ package forge;
import java.util.HashMap; import java.util.HashMap;
public class Trigger_TapsUntaps extends Trigger { public class Trigger_Untaps extends Trigger {
public Trigger_TapsUntaps(HashMap<String, String> params, Card host) { public Trigger_Untaps(HashMap<String, String> params, Card host) {
super(params, host); super(params, host);
} }
@@ -12,16 +12,7 @@ public class Trigger_TapsUntaps extends Trigger {
public boolean performTest(HashMap<String, Object> runParams) public boolean performTest(HashMap<String, Object> runParams)
{ {
Card untapper = (Card)runParams.get("Card"); Card untapper = (Card)runParams.get("Card");
String Action = (String)runParams.get("Action");
if(mapParams.containsKey("Action"))
{
if(!Action.equals(mapParams.get("Action")))
{
System.out.println("Test failed: Wrong action. (should be " + mapParams.get("Action") + " but was " + Action + ")");
return false;
}
}
if(mapParams.containsKey("ValidCard")) if(mapParams.containsKey("ValidCard"))
{ {
if(!untapper.isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard)) if(!untapper.isValidCard(mapParams.get("ValidCard").split(","), hostCard.getController(), hostCard))