*Removed unnecessary runTrigger call.

*Expanded Trigger_SpellCast to Trigger_SpellAbilityCast.
This commit is contained in:
jendave
2011-08-06 15:43:44 +00:00
parent 0b8d86da56
commit b5677838f2
5 changed files with 50 additions and 24 deletions

2
.gitattributes vendored
View File

@@ -6817,7 +6817,7 @@ src/forge/Trigger_LifeGained.java -text svneol=native#text/plain
src/forge/Trigger_LifeLost.java -text svneol=native#text/plain 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_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_Untaps.java -text svneol=native#text/plain src/forge/Trigger_Untaps.java -text svneol=native#text/plain

View File

@@ -69,13 +69,6 @@ public class ComputerUtil
payManaCost(sa); payManaCost(sa);
AllZone.Stack.add(sa); AllZone.Stack.add(sa);
if(sa.isSpell()){
//Run triggers
HashMap<String,Object> runParams = new HashMap<String,Object>();
runParams.put("CastSA", sa);
AllZone.TriggerHandler.runTrigger("SpellCast", runParams);
}
} }
} }

View File

@@ -374,13 +374,10 @@ public class MagicStack extends MyObservable {
} }
if(sp.isSpell()) //Run trigger
{ HashMap<String,Object> runParams = new HashMap<String,Object>();
//Run trigger runParams.put("CastSA", sp);
HashMap<String,Object> runParams = new HashMap<String,Object>(); AllZone.TriggerHandler.runTrigger("SpellCast", runParams);
runParams.put("CastSA", sp);
AllZone.TriggerHandler.runTrigger("SpellCast", runParams);
}
} }
if(sp instanceof Spell_Permanent && sp.getSourceCard().getName().equals("Mana Vortex")) { if(sp instanceof Spell_Permanent && sp.getSourceCard().getName().equals("Mana Vortex")) {

View File

@@ -13,7 +13,11 @@ public class TriggerHandler {
Trigger ret = null; Trigger ret = null;
String mode = mapParams.get("Mode"); String mode = mapParams.get("Mode");
if(mode.equals("AttackerBlocked")) if(mode.equals("AbilityCast"))
{
ret = new Trigger_SpellAbilityCast(mapParams,host);
}
else if(mode.equals("AttackerBlocked"))
{ {
ret = new Trigger_AttackerBlocked(mapParams,host); ret = new Trigger_AttackerBlocked(mapParams,host);
} }
@@ -57,9 +61,13 @@ public class TriggerHandler {
{ {
ret = new Trigger_Sacrificed(mapParams,host); ret = new Trigger_Sacrificed(mapParams,host);
} }
else if(mode.equals("SpellAbilityCast"))
{
ret = new Trigger_SpellAbilityCast(mapParams,host);
}
else if(mode.equals("SpellCast")) else if(mode.equals("SpellCast"))
{ {
ret = new Trigger_SpellCast(mapParams,host); ret = new Trigger_SpellAbilityCast(mapParams,host);
} }
else if(mode.equals("Taps")) else if(mode.equals("Taps"))
{ {

View File

@@ -2,20 +2,48 @@ package forge;
import java.util.HashMap; import java.util.HashMap;
public class Trigger_SpellCast extends Trigger { public class Trigger_SpellAbilityCast extends Trigger {
public Trigger_SpellCast(HashMap<String, String> params, Card host) { public Trigger_SpellAbilityCast(HashMap<String, String> params, Card host) {
super(params, host); super(params, host);
} }
@Override @Override
public boolean performTest(HashMap<String, Object> runParams) public boolean performTest(HashMap<String, Object> runParams)
{ {
Card cast = ((Spell)runParams.get("CastSA")).getSourceCard(); SpellAbility SA = (SpellAbility)runParams.get("CastSA");
Card cast = SA.getSourceCard();
if(mapParams.containsKey("ValidPlayer"))
if(mapParams.get("Mode").equals("SpellCast"))
{ {
if(!matchesValid(cast.getController(),mapParams.get("ValidPlayer").split(","),hostCard)) if(!SA.isSpell())
{
return false;
}
}
else if(mapParams.get("Mode").equals("AbilityCast"))
{
if(!SA.isAbility())
{
return false;
}
}
else if(mapParams.get("Mode").equals("SpellAbilityCast"))
{
//Empty block for readability.
}
if(mapParams.containsKey("ValidControllingPlayer"))
{
if(!matchesValid(cast.getController(),mapParams.get("ValidControllingPlayer").split(","),hostCard))
{
return false;
}
}
if(mapParams.containsKey("ValidActivatingPlayer"))
{
if(!matchesValid(SA.getActivatingPlayer(),mapParams.get("ValidActivatingPlayer").split(","),hostCard))
{ {
return false; return false;
} }
@@ -73,6 +101,6 @@ public class Trigger_SpellCast extends Trigger {
@Override @Override
public Trigger getCopy() { public Trigger getCopy() {
return new Trigger_SpellCast(mapParams,hostCard); return new Trigger_SpellAbilityCast(mapParams,hostCard);
} }
} }