- Reactivated the spDestroyAll keyword and reverted the cards: Fracturing Gust & Multani's Decree & Righteous Fury.

This commit is contained in:
jendave
2011-08-06 18:09:22 +00:00
parent 4f1dadd295
commit 85008dc4b5
4 changed files with 69 additions and 53 deletions

View File

@@ -1,8 +1,8 @@
Name:Fracturing Gust
ManaCost:2 GW GW GW
Types:Instant
Text:no text
A:SP$DestroyAll | Cost$ 2 GW GW GW | ValidCards$ Artifact,Enchantment | SubAbility$ GainLifeYou/X.Times.2 | SpellDescription$ Destroy all artifacts and enchantments. You gain 2 life for each permanent destroyed this way.
Text:Destroy all artifacts and enchantments. You gain 2 life for each permanent destroyed this way.
K:spDestroyAll:Artifact,Enchantment:Drawback$GainLifeYou/X.Times.2
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/fracturing_gust.jpg
SetInfo:SHM|Rare|http://magiccards.info/scans/en/shm/227.jpg

View File

@@ -1,8 +1,8 @@
Name:Multani's Decree
ManaCost:3 G
Types:Sorcery
Text:no text
A:SP$DestroyAll | Cost$ 3 G | ValidCards$ Enchantment | SubAbility$ GainLifeYou/X.Times.2 | SpellDescription$ Destroy all enchantments. You gain 2 life for each enchantment destroyed this way.
Text:Destroy all enchantments. You gain 2 life for each enchantment destroyed this way.
K:spDestroyAll:Enchantment:Drawback$GainLifeYou/X.Times.2
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/multanis_decree.jpg
SetInfo:UDS|Common|http://magiccards.info/scans/en/ud/114.jpg

View File

@@ -1,11 +1,12 @@
Name:Righteous Fury
ManaCost:4 W W
Types:Sorcery
Text:no text
A:SP$DestroyAll | Cost$ 4 W W | ValidCards$ Creature.tapped | SubAbility$ GainLifeYou/X.Times.2 | SpellDescription$ Destroy all tapped creatures. You gain 2 life for each creature destroyed this way.
Text:Destroy all tapped creatures. You gain 2 life for each creature destroyed this way.
K:spDestroyAll:Creature.tapped:Drawback$GainLifeYou/X.Times.2
SVar:PlayMain1:TRUE
SVar:Rarity:Rare
SVar:Picture:http://serv1.tcgimages.eu/img/cards/Portal_Second_Age/righteous_fury.jpg
SetInfo:PO2|Rare|http://magiccards.info/scans/en/po2/141.jpg
SetInfo:P02|Rare|http://magiccards.info/scans/en/po2/141.jpg
SetInfo:S99|Rare|http://magiccards.info/scans/en/st/23.jpg
SetInfo:POR|Rare|http://magiccards.info/scans/en/po2/141.jpg
End

View File

@@ -2999,8 +2999,13 @@ public class CardFactory implements NewConstants {
} // etbLoseLife
/*
* We have three cards which can not be converted to AF_SP$DestroyAll at this time:
* Fracturing Gust
* Multani's Decree
* Righteous Fury
*/
// Generic destroy all card
/* Cards converted to AF_DestroyAll
if(hasKeyword(card, "spDestroyAll") != -1) {
int n = hasKeyword(card, "spDestroyAll");
@@ -3018,23 +3023,23 @@ public class CardFactory implements NewConstants {
if (k.length > 2)
{
if (k[2].equals("NoRegen"))
NoRegen[0] = true;
if (k[2].equals("NoRegen"))
NoRegen[0] = true;
else if (k[2].startsWith("Drawback$"))
Drawback[0] = k[2];
else if (k[2].startsWith("Drawback$"))
Drawback[0] = k[2];
if (k.length > 3)
{
if (k[3].startsWith("Drawback$"))
Drawback[0] = k[3];
}
if (k.length > 3)
{
if (k[3].startsWith("Drawback$"))
Drawback[0] = k[3];
}
if (!Drawback[0].equals("none"))
{
String kk[] = Drawback[0].split("\\$");
if (!Drawback[0].equals("none"))
{
String kk[] = Drawback[0].split("\\$");
Drawback[0] = kk[1];
}
}
}
card.clearSpellAbility();
@@ -3044,8 +3049,11 @@ public class CardFactory implements NewConstants {
@Override
public boolean canPlayAI() {
CardList human = new CardList(AllZone.Human_Play.getCards());
CardList computer = new CardList(AllZone.Computer_Play.getCards());
// CardList human = new CardList(AllZone.Human_Play.getCards());
// CardList computer = new CardList(AllZone.Computer_Play.getCards());
CardList human = new CardList(AllZone.Human_Battlefield.getCards());
CardList computer = new CardList(AllZone.Computer_Battlefield.getCards());
human = human.getValidCards(Tgts,card.getController(),card);
human = human.getNotKeyword("Indestructible");
@@ -3064,14 +3072,18 @@ public class CardFactory implements NewConstants {
// the computer will play the spell if Y < X - 3
return AllZone.Phase.getPhase().equals(Constant.Phase.Main2) &&
(computervalue < humanvalue - 3);
(computervalue < humanvalue - 3);
}
@Override
public void resolve() {
CardList all = new CardList();
all.addAll(AllZone.Human_Play.getCards());
all.addAll(AllZone.Computer_Play.getCards());
// all.addAll(AllZone.Human_Play.getCards());
// all.addAll(AllZone.Computer_Play.getCards());
all.addAll(AllZone.Human_Battlefield.getCards());
all.addAll(AllZone.Computer_Battlefield.getCards());
all = all.getValidCards(Tgts,card.getController(),card);
CardListUtil.sortByIndestructible(all);
@@ -3080,33 +3092,37 @@ public class CardFactory implements NewConstants {
for(int i = 0; i < all.size(); i++) {
Card c = all.get(i);
if(NoRegen[0])
AllZone.GameAction.destroyNoRegeneration(c);
AllZone.GameAction.destroyNoRegeneration(c);
else
AllZone.GameAction.destroy(c);
AllZone.GameAction.destroy(c);
}
if (!Drawback[0].equals("none"))
{
// drawbacks for DestroyAll spells usually involve the
// number of permanents that were actually destroyed
int nDestroyed = 0;
CardList afterAll = new CardList();
afterAll.addAll(AllZone.Human_Play.getCards());
afterAll.addAll(AllZone.Computer_Play.getCards());
afterAll = afterAll.getValidCards(Tgts,card.getController(),card);
// drawbacks for DestroyAll spells usually involve the
// number of permanents that were actually destroyed
int nDestroyed = 0;
CardList afterAll = new CardList();
// afterAll.addAll(AllZone.Human_Play.getCards());
// afterAll.addAll(AllZone.Computer_Play.getCards());
ArrayList<Integer> slD = new ArrayList<Integer>();
for (int i=0; i<afterAll.size(); i++)
slD.add(afterAll.get(i).getUniqueNumber());
afterAll.addAll(AllZone.Human_Battlefield.getCards());
afterAll.addAll(AllZone.Computer_Battlefield.getCards());
for (int i=0; i<all.size(); i++)
{
if (!slD.contains(all.get(i).getUniqueNumber()))
nDestroyed++;
}
Log.error("nDestroyed: " + nDestroyed);
CardFactoryUtil.doDrawBack(Drawback[0], nDestroyed, card.getController(), card.getController().getOpponent(), null, card, null, this);
afterAll = afterAll.getValidCards(Tgts,card.getController(),card);
ArrayList<Integer> slD = new ArrayList<Integer>();
for (int i=0; i<afterAll.size(); i++)
slD.add(afterAll.get(i).getUniqueNumber());
for (int i=0; i<all.size(); i++)
{
if (!slD.contains(all.get(i).getUniqueNumber()))
nDestroyed++;
}
Log.error("nDestroyed: " + nDestroyed);
CardFactoryUtil.doDrawBack(Drawback[0], nDestroyed, card.getController(), card.getController().getOpponent(), null, card, null, this);
}
}// resolve()
@@ -3118,7 +3134,6 @@ public class CardFactory implements NewConstants {
card.addSpellAbility(spDstryAll);
}//spDestroyAll
*/
/*
// Generic bounce target card