From a48a6f43bb8c73712915dc203fa1214c58926d80 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 02:45:22 +0000 Subject: [PATCH] A lot of fixes in cards.txt and the CardFactories, removed all warnings. --- res/card-pictures.txt | 2 +- res/cards.txt | 44 ++++----- res/quest/questData | Bin 41369 -> 38081 bytes src/Deck.java | 2 + src/QuestData_State.java | 1 - src/forge/CardFactory.java | 83 +--------------- src/forge/CardFactory_Creatures.java | 89 ++++++++++++++++-- src/forge/CardFactory_Equipment.java | 4 +- src/forge/GenerateConstructedDeck.java | 1 + .../GenerateConstructedMultiColorDeck.java | 1 + src/forge/Gui_DeckEditorNew.java | 10 +- src/forge/StateBasedEffects.java | 4 + 12 files changed, 125 insertions(+), 116 deletions(-) diff --git a/res/card-pictures.txt b/res/card-pictures.txt index 83cf3a84871..a953bd1d513 100644 --- a/res/card-pictures.txt +++ b/res/card-pictures.txt @@ -18,6 +18,7 @@ forest.jpg http://resources.wizards.com/magic/cards/unh/en-us/card73946.jpg forest1.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=2748 forest2.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=587 forest3.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=586 +benalish_trapper.jpg http://www.wizards.com/global/images/magic/general/benalish_trapper.jpg merfolk_looter.jpg http://www.wizards.com/global/images/magic/general/merfolk_looter.jpg thornscape_apprentice.jpg http://www.wizards.com/global/images/magic/general/thornscape_apprentice.jpg scepter_of_insight.jpg http://www.wizards.com/global/images/magic/general/scepter_of_insight.jpg @@ -58,7 +59,6 @@ azorius_first_wing.jpg http://www.wizards.com/global/images/magic/general/azori bant_sureblade.jpg http://www.wizards.com/global/images/magic/general/bant_sureblade.jpg bartel_runeaxe.jpg http://www.wizards.com/global/images/magic/general/bartel_runeaxe.jpg benalish_heralds.jpg http://www.wizards.com/global/images/magic/general/benalish_heralds.jpg -benalish_hero.jpg http://www.wizards.com/global/images/magic/general/benalish_hero.jpg boris_devilboon.jpg http://www.wizards.com/global/images/magic/general/boris_devilboon.jpg buoyancy.jpg http://www.wizards.com/global/images/magic/general/buoyancy.jpg dakkon_blackblade.jpg http://www.wizards.com/global/images/magic/general/dakkon_blackblade.jpg diff --git a/res/cards.txt b/res/cards.txt index 4fba07c10e4..59a0b796d6b 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -9,14 +9,14 @@ G Creature Human Wizard no text 1/1 -TgtKpump R T: First strike +TgtKpump R T: First Strike Scepter of Insight 1 U U Artifact no text -Asha's favor +Asha's Favor 2 W Enchantment Aura Enchanted creature gains flying, first strike and vigilance. @@ -29,7 +29,7 @@ no text 0/1 Exalted -Blinding mage +Blinding Mage 1 W Creature Human Wizard no text @@ -57,13 +57,13 @@ spDrawCards:Count$TypeOppCtrlTapped.Creature:Draw a card for each tapped creatur Cruel Bargain B B B Sorcery -no text +(NOTE: "You lose half your life, rounded up." is not implemented.) spDrawCards:4:Drawback$LoseLifeYou/Count$YourLifeTotal/HalfUp:Draw four cards.:You lose half your life, rounded up.:Cruel Bargain - Draw cards and lose half your life, rounded up. Infernal Contract B B B Sorcery -no text +(NOTE: "You lose half your life, rounded up." is not implemented.) spDrawCards:4:Drawback$LoseLifeYou/Count$YourLifeTotal/HalfUp:Draw four cards.:You lose half your life, rounded up.:Infernal Contract - Draw cards and lose half your life, rounded up. Theft of Dreams @@ -100,7 +100,7 @@ Inspiration 3 U Sorcery no text -spDrawCards:2:Draw two cards.:Inspiration - draw 2 cards. +spDrawCardsTgt:2:Target player draws two cards.:Inspiration - draw 2 cards. Concentrate 2 U U @@ -365,7 +365,7 @@ no text Sacred Nectar 1 W Sorcery -You gain 4 life. +no text Maniacal Rage 1 R @@ -376,14 +376,14 @@ Enchant creature Scavenged Weaponry 2 B Enchantment Aura -Enchanted creature gets +1/+1. +Enchanted creature gets +1/+1. Draw a card. Enchant creature Cantrip Shield of Duty and Reason W Enchantment Aura -Enchanted creature has first protection from green and from blue. +Enchanted creature has protection from green and from blue. Enchant creature Reflexes @@ -435,7 +435,7 @@ spDamageTgtCP:Count$NamedInAllYards.Kindle/Plus.2:Kindle deals X damage to targe Ire of Kaminari 3 R -Instant — Arcane +Instant Arcane no text spDamageTgtCP:Count$TypeInYourYard.Arcane:Ire of Kaminari deals damage to target creature or player equal to the number of Arcane cards in your graveyard. @@ -479,7 +479,7 @@ Thermal Blast 4 R Instant no text -spDamageTgtC:Count$Hellbent.5.3:Thermal Blast deals 3 damage to target creature. Threshold — Thermal Blast deals 5 damage to that creature instead if seven or more cards are in your graveyard. +spDamageTgtC:Count$Hellbent.5.3:Thermal Blast deals 3 damage to target creature. Threshold - Thermal Blast deals 5 damage to that creature instead if seven or more cards are in your graveyard. Spitting Earth 1 R @@ -1196,7 +1196,7 @@ tap: add 1 Darkwater Catacombs no cost Land -no text +1,tap: add U B 1,tap: add U B Fetid Heath @@ -1258,7 +1258,7 @@ tap: add 1 Mossfire Valley no cost Land -no text +1,tap: add R G 1,tap: add R G Mystic Gate @@ -1293,7 +1293,7 @@ tap: add 1 Shadowblood Ridge no cost Land -no text +1,tap: add B R 1,tap: add B R Shimmering Grotto @@ -1310,13 +1310,13 @@ tap: add 1 Skycloud Expanse no cost Land -no text +1,tap: add W U 1,tap: add W U Sungrass Prairie no cost Land -no text +1,tap: add W G 1,tap: add W G Sunken Ruins @@ -1803,7 +1803,7 @@ Protection from green Dosan's Oldest Chant 4 G Sorcery -You gain 6 life +Draw a card. Cantrip Sluggishness @@ -2318,7 +2318,7 @@ Cantrip Morsel Theft 2 B B -Sorcery +Tribal Sorcery Rogue Target player loses 3 life and you gain 3 life. (NOTE: "Prowl" is not implemented.) spLoseLifeGainLife:3 @@ -2438,7 +2438,7 @@ Wrath of God 2 W W Sorcery Destroy all creatures. They can't be regenerated. - + Devout Lightcaster W W W Creature Kor Cleric @@ -10983,12 +10983,12 @@ Put two 1/1 red Goblin creature tokens into play. Storm (When you play this spel Feudkiller's Verdict 4 W W -Sorcery +Tribal Sorcery Giant You gain 10 life. Then if you have more life than an opponent, put a 5/5 white Giant Warrior creature token into play. Reach of Branches 4 G -Instant +Tribal Instant Treefolk Put a 2/5 green Treefolk Shaman creature token into play. Whenever a Forest comes into play under your control, you may return Reach of Branches from your graveyard to your hand. Meadowboon @@ -11017,7 +11017,7 @@ Fear Bitterblossom 1 B -Enchantment Faerie +Tribal Enchantment Faerie At the beginning of your upkeep, you lose 1 life and put a 1/1 black Faerie Rogue creature token with flying into play. Ambassador Oak diff --git a/res/quest/questData b/res/quest/questData index 87ddbd4d3ac76072c72389c2f3861a87411eb258..4f09c76b247197f7651b1169f3a89cd2343a0648 100644 GIT binary patch literal 38081 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 main; private ArrayList sideboard; diff --git a/src/QuestData_State.java b/src/QuestData_State.java index 9a808381197..1a216a41680 100644 --- a/src/QuestData_State.java +++ b/src/QuestData_State.java @@ -28,7 +28,6 @@ public class QuestData_State implements Serializable { ArrayList cardPool; HashMap myDecks, aiDecks; - @SuppressWarnings("unchecked") private Object readResolve() throws ObjectStreamException { // System.out.println("resolving obsolete QuestData_State"); Map myDecks = new HashMap(); diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 8577dfce9f3..246af8689ac 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -3326,85 +3326,6 @@ public class CardFactory implements NewConstants { - //*************** START *********** START ************************** - else if(cardName.equals("Magus of the Disk")) - { - SpellAbility summoningSpell = new Spell_Permanent(card) - { - private static final long serialVersionUID = 2510163318362956239L; - - public boolean canPlayAI() - { - boolean nevinyrralInPlay = false; - - CardList inPlay = new CardList(); - inPlay.addAll(AllZone.Computer_Play.getCards()); - for(int i=0; i 1 && CardFactoryUtil.AI_isMainPhase(); } } };//Input + ability.setDescription("W U B R G: Exile target permanent."); ability.setBeforePayMana(target); card.addSpellAbility(ability); @@ -16038,7 +15960,8 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase(); } } };//Input - + ability.setDescription("1, tap: Untap target artifact."); + ability.setBeforePayMana(target); card.addSpellAbility(ability); diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index bee23f8bbe2..f7359e207f6 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -18,7 +18,7 @@ public class CardFactory_Creatures { public static Card getCard(final Card card, String cardName, String owner, CardFactory cf) { - //*************** START *********** START ************************** + //*************** START *********** START ************************** if(cardName.equals("Filthy Cur")) { final Card newCard = new Card() @@ -4073,7 +4073,6 @@ public class CardFactory_Creatures { ability.setDescription("B R G, Tap: Return target creature card from your graveyard to your hand."); ability.setStackDescription(cardName + " - return target creature from your graveyard to your hand."); - card.clearSpellAbility(); card.addSpellAbility(ability); @@ -7658,7 +7657,7 @@ public class CardFactory_Creatures { else if(cardName.equals("Xira Arien")) { //mana tap ability - final Ability_Tap ability = new Ability_Tap(card, "G R B") + final Ability_Tap ability = new Ability_Tap(card, "B R G") { private static final long serialVersionUID = 5373361883064666451L; @@ -7686,7 +7685,7 @@ public class CardFactory_Creatures { } };//SpellAbility - ability.setDescription("Tap: Target player draws a card."); + ability.setDescription("B R G, Tap: Target player draws a card."); //ability.setBeforePayMana(new Input_NoCost_TapAbility(ability)); ability.setBeforePayMana(CardFactoryUtil.input_targetPlayer(ability)); @@ -15433,8 +15432,86 @@ public class CardFactory_Creatures { } //*************** END ************ END ************************** - - + + + //*************** START *********** START ************************** + else if(cardName.equals("Magus of the Disk")) + { + SpellAbility summoningSpell = new Spell_Permanent(card) + { + private static final long serialVersionUID = 2510163318362956239L; + + public boolean canPlayAI() + { + boolean nevinyrralInPlay = false; + + CardList inPlay = new CardList(); + inPlay.addAll(AllZone.Computer_Play.getCards()); + for(int i=0; i[] classes = {Integer.class, String.class, String.class, String.class}; //values taken from TableModel private static final int[] minWidth = {-1, 190, 85, -1, -1, -1, -1}; diff --git a/src/forge/StateBasedEffects.java b/src/forge/StateBasedEffects.java index 368fe1fd819..b2cc78fb902 100644 --- a/src/forge/StateBasedEffects.java +++ b/src/forge/StateBasedEffects.java @@ -98,6 +98,10 @@ public class StateBasedEffects cardToEffectsList.put("Radiant, Archangel", new String[] {"Radiant_Archangel"}); cardToEffectsList.put("Castle", new String[] {"Castle"}); cardToEffectsList.put("Castle Raptors", new String[] {"Castle_Raptors"}); + cardToEffectsList.put("Levitation", new String[] {"Levitation"}); + cardToEffectsList.put("Knighthood", new String[] {"Knighthood"}); + cardToEffectsList.put("Absolute Law", new String[] {"Absolute_Law"}); + cardToEffectsList.put("Absolute Grace", new String[] {"Absolute_Grace"}); cardToEffectsList.put("Mobilization", new String[] {"Mobilization"}); cardToEffectsList.put("Serra's Blessing", new String[] {"Serras_Blessing"}); cardToEffectsList.put("Cover of Darkness", new String[] {"Cover_of_Darkness"});