1) convert Crystalline Silver, Plated Sliver, Virulent Sliver, and Watcher Sliver to stPumpAll

2) fix a bug in GameActionUtil, for execute damage effects - poisonous - it was checking startsWith to get a list of keywords, but contains for adding to stack - this caused Poisonous to happen twice for the stPumpAll keyword and Poisonous 1 keyword on Virulent Sliver itself
This commit is contained in:
jendave
2011-08-06 12:25:59 +00:00
parent e956ac23d6
commit c7da6e399c
6 changed files with 14 additions and 149 deletions

View File

@@ -1,8 +1,9 @@
Name:Crystalline Sliver
ManaCost:W U
Types:Creature Sliver
Text:All slivers have shroud.
Text:no text
PT:2/2
K:stPumpAll:Creature.Sliver:0/0/Shroud:no Condition:All Slivers have shroud.
SVar:PlayMain1:TRUE
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/crystalline_sliver.jpg

View File

@@ -1,8 +1,9 @@
Name:Plated Sliver
ManaCost:W
Types:Creature Sliver
Text:All Sliver creatures get +0/+1.
Text:no text
PT:1/1
K:stPumpAll:Creature.Sliver:0/1:no Condition:All Sliver creatures get +0/+1.
SVar:PlayMain1:TRUE
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/plated_sliver.jpg

View File

@@ -1,8 +1,10 @@
Name:Virulent Sliver
ManaCost:G
Types:Creature Sliver
Text:All Sliver creatures have poisonous 1.
Text:no text
#All Sliver creatures have poisonous 1.
PT:1/1
K:stPumpAll:Creature.Sliver:0/0/Poisonous 1:no Condition:All Sliver creatures have poisonous 1.
SVar:PlayMain1:TRUE
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/virulent_sliver.jpg

View File

@@ -1,8 +1,9 @@
Name:Watcher Sliver
ManaCost:3 W
Types:Creature Sliver
Text:All Sliver creatures get +0/+2.
Text:no text
PT:2/2
K:stPumpAll:Creature.Sliver:0/2:no Condition:All Sliver creatures get +0/+2.
SVar:PlayMain1:TRUE
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/watcher_sliver.jpg

View File

@@ -5671,7 +5671,7 @@ public class GameActionUtil {
for (int i=0;i<keywords.size();i++)
{
if (keywords.get(i).contains("Poisonous"))
if (keywords.get(i).startsWith("Poisonous"))
AllZone.Stack.add(ability);
}
}
@@ -13789,38 +13789,6 @@ public class GameActionUtil {
}// execute()
};
public static Command Crystalline_Sliver = new Command() {
private static final long serialVersionUID = 6089293045852070662L;
CardList gloriousAnthemList = new CardList();
public void execute() {
String keyword = "Shroud";
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.removeExtrinsicKeyword(keyword);
}
list.clear();
PlayerZone[] zone = getZone("Crystalline Sliver");
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = AllZoneUtil.getTypeInPlay("Sliver");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
c.addExtrinsicKeyword(keyword);
gloriousAnthemList.add(c);
}// for inner
}// for outer
}// execute()
};
public static Command Sidewinder_Sliver = new Command() {
@@ -13855,36 +13823,6 @@ public class GameActionUtil {
}// execute()
};
public static Command Virulent_Sliver = new Command() {
private static final long serialVersionUID = 2755343097020369210L;
CardList gloriousAnthemList = new CardList();
public void execute() {
String keyword = "Poisonous 1";
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.removeExtrinsicKeyword(keyword);
}
list.clear();
PlayerZone[] zone = getZone("Virulent Sliver");
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = AllZoneUtil.getTypeInPlay("Sliver");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
c.addStackingExtrinsicKeyword(keyword);
gloriousAnthemList.add(c);
}// for inner
}// for outer
}// execute()
};
public static Command Essence_Sliver = new Command() {
private static final long serialVersionUID = 6089293045852070662L;
@@ -13918,78 +13856,9 @@ public class GameActionUtil {
}// execute()
};
public static Command Plated_Sliver = new Command() {
private static final long serialVersionUID = 7670935990022098909L;
CardList gloriousAnthemList = new CardList();
public void execute() {
int pumpAttack = 0;
int pumpDefense = 1;
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.addSemiPermanentAttackBoost(-pumpAttack);
c.addSemiPermanentDefenseBoost(-pumpDefense);
}
list.clear();
PlayerZone[] zone = getZone("Plated Sliver");
// for each zone found add +0/+1 to each card
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = AllZoneUtil.getTypeInPlay("Sliver");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
c.addSemiPermanentAttackBoost(pumpAttack);
c.addSemiPermanentDefenseBoost(pumpDefense);
gloriousAnthemList.add(c);
}// for inner
}// for outer
}// execute()
}; // Watcher_Sliver
public static Command Watcher_Sliver = new Command() {
private static final long serialVersionUID = -3148897786330400205L;
CardList gloriousAnthemList = new CardList();
public void execute() {
int pumpAttack = 0;
int pumpDefense = 2;
CardList list = gloriousAnthemList;
Card c;
// reset all cards in list - aka "old" cards
for(int i = 0; i < list.size(); i++) {
c = list.get(i);
c.addSemiPermanentAttackBoost(-pumpAttack);
c.addSemiPermanentDefenseBoost(-pumpDefense);
}
// add +1/+1 to cards
list.clear();
PlayerZone[] zone = getZone("Watcher Sliver");
// for each zone found add +1/+1 to each card
for(int outer = 0; outer < zone.length; outer++) {
CardList creature = AllZoneUtil.getTypeInPlay("Sliver");
for(int i = 0; i < creature.size(); i++) {
c = creature.get(i);
c.addSemiPermanentAttackBoost(pumpAttack);
c.addSemiPermanentDefenseBoost(pumpDefense);
gloriousAnthemList.add(c);
}// for inner
}// for outer
}// execute()
}; // Watcher_Sliver
public static Command Sliver_Legion = new Command() {
private static final long serialVersionUID = -4564640511791858445L;
@@ -20347,11 +20216,6 @@ public class GameActionUtil {
commands.put("Sliver_Legion", Sliver_Legion);
commands.put("Watcher_Sliver", Watcher_Sliver);
commands.put("Plated_Sliver", Plated_Sliver);
commands.put("Crystalline_Sliver", Crystalline_Sliver);
commands.put("Virulent_Sliver", Virulent_Sliver);
commands.put("Sidewinder_Sliver", Sidewinder_Sliver);
commands.put("Essence_Sliver", Essence_Sliver);
commands.put("Sinew_Sliver", Sinew_Sliver);

View File

@@ -178,11 +178,7 @@ public class StaticEffects
cardToEffectsList.put("Wren's Run Packmaster", new String[] {"Wrens_Run_Packmaster"});
cardToEffectsList.put("Sliver Legion", new String[] {"Sliver_Legion"});
cardToEffectsList.put("Watcher Sliver", new String[] {"Watcher_Sliver"});
cardToEffectsList.put("Plated Sliver", new String[] {"Plated_Sliver"});
cardToEffectsList.put("Virulent Sliver", new String[] {"Virulent_Sliver"});
cardToEffectsList.put("Sidewinder Sliver", new String[] {"Sidewinder_Sliver"});
cardToEffectsList.put("Crystalline Sliver", new String[] {"Crystalline_Sliver"});
cardToEffectsList.put("Essence Sliver", new String[] {"Essence_Sliver"});
cardToEffectsList.put("Sinew Sliver", new String[] {"Sinew_Sliver"});
cardToEffectsList.put("Horned Sliver", new String[] {"Horned_Sliver"});