*Added PumpZone parameter to AF_PumpAll.

*Added Past in Flames
This commit is contained in:
Hellfish
2011-11-12 12:13:18 +00:00
parent feaf5c112c
commit b861ffb23a
4 changed files with 45 additions and 8 deletions

1
.gitattributes vendored
View File

@@ -5915,6 +5915,7 @@ res/cardsfolder/p/pardic_lancer.txt svneol=native#text/plain
res/cardsfolder/p/pardic_swordsmith.txt svneol=native#text/plain
res/cardsfolder/p/part_the_veil.txt svneol=native#text/plain
res/cardsfolder/p/part_water.txt svneol=native#text/plain
res/cardsfolder/p/past_in_flames.txt -text
res/cardsfolder/p/patagia_golem.txt svneol=native#text/plain
res/cardsfolder/p/patagia_viper.txt -text
res/cardsfolder/p/patchwork_gnomes.txt -text

View File

@@ -0,0 +1,11 @@
Name:Past in Flames
ManaCost:3 R
Types:Sorcery
Text:no text
A:SP$PumpAll | Cost$ 3 R | ValidCards$ Instant.YouCtrl,Sorcery.YouCtrl | KW$ Flashback | PumpZone$ Graveyard | SpellDescription$ Each instant and sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.
A:SP$PumpAll | Cost$ 4 R | Flashback$ True | ValidCards$ Instant.YouCtrl,Sorcery.YouCtrl | KW$ Flashback | PumpZone$ Graveyard | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/past_in_flames.jpg
SetInfo:ISD|Mythic|http://magiccards.info/scans/en/isd/155.jpg
Oracle:Each instant and sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.\nFlashback {4}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
End

View File

@@ -3,7 +3,7 @@ ManaCost:1 R
Types:Sorcery
Text:no text
A:SP$ Pump | Cost$ 1 R | ValidTgts$ Sorcery.YouCtrl | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card | KW$ Flashback | PumpZone$ Graveyard | SpellDescription$ Target sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (Mana cost includes color.)
A:SP$ Pump | Cost$ 3 R | Flashback$ True | ValidTgts$ Sorcery.YouCtrl | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card | KW$ Flashback | PumpZone$ Graveyard | CostDesc$ Flashback - 3 R | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
A:SP$ Pump | Cost$ 3 R | Flashback$ True | ValidTgts$ Sorcery.YouCtrl | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card | KW$ Flashback | PumpZone$ Graveyard | PreCostDesc$ Flashback - | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/recoup.jpg
SetInfo:ODY|Uncommon|http://magiccards.info/scans/en/od/216.jpg

View File

@@ -1156,6 +1156,7 @@ public class AbilityFactoryPump {
final AbilityFactory af = sa.getAbilityFactory();
CardList list;
ArrayList<Player> tgtPlayers = null;
final ArrayList<Zone> affectedZones = new ArrayList<Zone>();
final Target tgt = af.getAbTgt();
if (tgt != null) {
@@ -1165,11 +1166,28 @@ public class AbilityFactoryPump {
tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), this.params.get("Defined"), sa);
}
if ((tgtPlayers == null) || tgtPlayers.isEmpty()) {
list = AllZoneUtil.getCardsIn(Zone.Battlefield);
} else {
list = tgtPlayers.get(0).getCardsIn(Zone.Battlefield);
if(this.params.containsKey("PumpZone")) {
for(String zone : this.params.get("PumpZone").split(",")) {
affectedZones.add(Zone.valueOf(zone));
}
}
else {
affectedZones.add(Zone.Battlefield);
}
list = new CardList();
if ((tgtPlayers == null) || tgtPlayers.isEmpty()) {
for(Zone zone : affectedZones) {
list.addAll(AllZoneUtil.getCardsIn(zone));
}
} else {
for(Zone zone : affectedZones) {
list.addAll(tgtPlayers.get(0).getCardsIn(zone));
}
}
String valid = "";
if (this.params.containsKey("ValidCards")) {
@@ -1184,8 +1202,15 @@ public class AbilityFactoryPump {
for (final Card c : list) {
final Card tgtC = c;
// only pump things in play
if (!AllZoneUtil.isCardInPlay(tgtC)) {
// only pump things in the affected zones.
boolean found = false;
for(Zone z : affectedZones) {
if(c.isInZone(z)) {
found = true;
break;
}
}
if (!found) {
continue;
}