mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
- Reactivated the spDestroyAll keyword and reverted the cards: Fracturing Gust & Multani's Decree & Righteous Fury.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
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
|
||||
End
|
||||
End
|
||||
@@ -1,9 +1,9 @@
|
||||
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
|
||||
End
|
||||
End
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
else if (k[2].startsWith("Drawback$"))
|
||||
Drawback[0] = k[2];
|
||||
|
||||
if (k.length > 3)
|
||||
{
|
||||
if (k[3].startsWith("Drawback$"))
|
||||
Drawback[0] = k[3];
|
||||
}
|
||||
|
||||
if (!Drawback[0].equals("none"))
|
||||
{
|
||||
String kk[] = Drawback[0].split("\\$");
|
||||
if (k[2].equals("NoRegen"))
|
||||
NoRegen[0] = true;
|
||||
|
||||
else if (k[2].startsWith("Drawback$"))
|
||||
Drawback[0] = k[2];
|
||||
|
||||
if (k.length > 3)
|
||||
{
|
||||
if (k[3].startsWith("Drawback$"))
|
||||
Drawback[0] = k[3];
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
// 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.addAll(AllZone.Human_Battlefield.getCards());
|
||||
afterAll.addAll(AllZone.Computer_Battlefield.getCards());
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user