diff --git a/res/card-pictures.txt b/res/card-pictures.txt index 7e12938789a..e3ea8c8237b 100644 --- a/res/card-pictures.txt +++ b/res/card-pictures.txt @@ -38,6 +38,8 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg +tribal_forcemage.jpg http://www.wizards.com/global/images/magic/general/tribal_forcemage.jpg +nirkana_cutthroat.jpg http://www.wizards.com/global/images/magic/general/nirkana_cutthroat.jpg dust_corona.jpg http://www.wizards.com/global/images/magic/general/dust_corona.jpg elven_riders.jpg http://www.wizards.com/global/images/magic/general/elven_riders.jpg invisibility.jpg http://www.wizards.com/global/images/magic/general/invisibility.jpg diff --git a/res/cards.txt b/res/cards.txt index 8603544f950..ed1f677e632 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,18 @@ +Tribal Forcemage +1 G +Creature Elf Wizard +When Tribal Forcemage is turned face up, creatures of the creature type of your choice get +2/+2 and gain trample until end of turn. +1/1 +Morph:1 G + +Nirkana Cutthroat +2 B +Creature Vampire Warrior +LEVEL 1-2 4/3 Deathtouch LEVEL 3+ 5/4 First strike, Deathtouch +3/2 +Level up:2 B +maxLevel:3 + Dust Corona R Enchantment Aura diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index 54b8349f0fa..d25916730ed 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -17516,6 +17516,65 @@ public class CardFactory_Creatures { card.addLeavesPlayCommand(sacrificeLandAndOneDamage); }//*************** END ************ END ************************** + //*************** START *********** START ************************** + else if(cardName.equals("Tribal Forcemage")) { + + final Command turnsFaceUp = new Command() { + private static final long serialVersionUID = 2826741404979610245L; + + public void execute() { + final int pump = 2; + final String chosenType = JOptionPane.showInputDialog(null, "Select a card type:", card.getName(), + JOptionPane.QUESTION_MESSAGE); + + final Command eot = new Command() { + private static final long serialVersionUID = -3638246921594162776L; + + public void execute() { + //CardList saps = new CardList(); + //saps.addAll(AllZone.Human_Play.getCards()); + //saps.addAll(AllZone.Computer_Play.getCards()); + CardList type = AllZoneUtil.getCardsInPlay(); + type = type.getType(chosenType); + + for(int i = 0; i < type.size(); i++) { + Card c = type.get(i); + c.addTempAttackBoost(-pump); + c.addTempDefenseBoost(-pump); + c.removeExtrinsicKeyword("Trample"); + } + } + }; + final SpellAbility ability = new Ability(card, "0") { + @Override + public void resolve() { + //CardList saps = new CardList(); + //saps.addAll(AllZone.Human_Play.getCards()); + //saps.addAll(AllZone.Computer_Play.getCards()); + CardList type = AllZoneUtil.getCardsInPlay(); + type = type.getType(chosenType); + for(int i = 0; i < type.size(); i++) { + Card c = type.get(i); + c.addTempAttackBoost(pump); + c.addTempDefenseBoost(pump); + c.addExtrinsicKeyword("Trample"); + } + AllZone.EndOfTurn.addUntil(eot); + } + + @Override + public boolean canPlayAI() { + return false; + } + };//SpellAbility + ability.setStackDescription(card.getName()+" - chosen type gets +2/+2 and Trample until EOT"); + AllZone.Stack.add(ability); + }//execute + };//command + + card.addTurnFaceUpCommand(turnsFaceUp); + }//*************** END ************ END ************************** + // Cards with Cycling abilities diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index aff3335e187..beb145f9d69 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -10229,6 +10229,47 @@ public class GameActionUtil { } }; + /* + * Level up 2 B + * LEVEL 1-2 4/3 Deathtouch + * LEVEL 3+ 5/4 First strike, deathtouch + */ + public static Command Nirkana_Cutthroat = new Command() { + private static final long serialVersionUID = 3804539422363462063L; + + public void execute() + { + /* CardList list = new CardList(); + list.addAll(AllZone.Human_Play.getCards()); + list.addAll(AllZone.Computer_Play.getCards()); + list = list.getName("Nirkana Cutthroat"); */ + CardList list = AllZoneUtil.getCardsInPlay("Nirkana Cutthroat"); + + for (Card c:list) + { + int lcs = c.getCounters(Counters.LEVEL); + if ( lcs < 1) + { + c.setBaseAttack(3); + c.setBaseDefense(2); + } + else if ( lcs >=1 && lcs < 3 ) //levels 1-2 + { + c.setBaseAttack(4); + c.setBaseDefense(3); + c.addNonStackingIntrinsicKeyword("Deathtouch"); + } + else + { + c.setBaseAttack(5); + c.setBaseDefense(4); + c.addNonStackingIntrinsicKeyword("Deathtouch"); + c.addNonStackingIntrinsicKeyword("First strike"); + } + } + } + }; + public static Command Student_of_Warfare = new Command() { private static final long serialVersionUID = 2627513737024865169L; @@ -15715,6 +15756,7 @@ public class GameActionUtil { commands.put("Beastbreaker_of_Bala_Ged", Beastbreaker_of_Bala_Ged); commands.put("Hada_Spy_Patrol", Hada_Spy_Patrol); commands.put("Halimar_Wavewatch", Halimar_Wavewatch); + commands.put("Nirkana_Cutthroat", Nirkana_Cutthroat); commands.put("Soulsurge_Elemental", Soulsurge_Elemental); commands.put("Champions_Drake", Champions_Drake); diff --git a/src/forge/StaticEffects.java b/src/forge/StaticEffects.java index bc0cf98eacf..9f0c346c308 100644 --- a/src/forge/StaticEffects.java +++ b/src/forge/StaticEffects.java @@ -64,6 +64,7 @@ public class StaticEffects cardToEffectsList.put("Beastbreaker of Bala Ged", new String[] {"Beastbreaker_of_Bala_Ged"}); cardToEffectsList.put("Hada Spy Patrol", new String[] {"Hada_Spy_Patrol"}); cardToEffectsList.put("Halimar Wavewatch", new String[] {"Halimar_Wavewatch"}); + cardToEffectsList.put("Nirkana Cutthroat", new String[] {"Nirkana_Cutthroat"}); cardToEffectsList.put("Champion's Drake", new String[] {"Champions_Drake"}); cardToEffectsList.put("Soulsurge Elemental", new String[] {"Soulsurge_Elemental"});