*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_Phase.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_TurnFaceUp.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);
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>();
runParams.put("CastSA", sp);
AllZone.TriggerHandler.runTrigger("SpellCast", runParams);
}
//Run trigger
HashMap<String,Object> runParams = new HashMap<String,Object>();
runParams.put("CastSA", sp);
AllZone.TriggerHandler.runTrigger("SpellCast", runParams);
}
if(sp instanceof Spell_Permanent && sp.getSourceCard().getName().equals("Mana Vortex")) {

View File

@@ -13,7 +13,11 @@ public class TriggerHandler {
Trigger ret = null;
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);
}
@@ -57,9 +61,13 @@ public class TriggerHandler {
{
ret = new Trigger_Sacrificed(mapParams,host);
}
else if(mode.equals("SpellAbilityCast"))
{
ret = new Trigger_SpellAbilityCast(mapParams,host);
}
else if(mode.equals("SpellCast"))
{
ret = new Trigger_SpellCast(mapParams,host);
ret = new Trigger_SpellAbilityCast(mapParams,host);
}
else if(mode.equals("Taps"))
{

View File

@@ -2,20 +2,48 @@ package forge;
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);
}
@Override
public boolean performTest(HashMap<String, Object> runParams)
{
Card cast = ((Spell)runParams.get("CastSA")).getSourceCard();
if(mapParams.containsKey("ValidPlayer"))
SpellAbility SA = (SpellAbility)runParams.get("CastSA");
Card cast = SA.getSourceCard();
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;
}
@@ -73,6 +101,6 @@ public class Trigger_SpellCast extends Trigger {
@Override
public Trigger getCopy() {
return new Trigger_SpellCast(mapParams,hostCard);
return new Trigger_SpellAbilityCast(mapParams,hostCard);
}
}