diff --git a/.gitattributes b/.gitattributes index 48f4642e611..5251a186b38 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3592,6 +3592,7 @@ res/cardsfolder/phyrexian_processor.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_prowler.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_rager.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_reclamation.txt -text svneol=native#text/plain +res/cardsfolder/phyrexian_scuta.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_snowcrusher.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_tower.txt -text svneol=native#text/plain res/cardsfolder/phyrexian_tribute.txt -text svneol=native#text/plain @@ -3619,6 +3620,7 @@ res/cardsfolder/pithing_needle.txt -text svneol=native#text/plain res/cardsfolder/pixie_queen.txt -text svneol=native#text/plain res/cardsfolder/plague_beetle.txt -text svneol=native#text/plain res/cardsfolder/plague_rats.txt -text svneol=native#text/plain +res/cardsfolder/plague_spitter.txt -text svneol=native#text/plain res/cardsfolder/plague_stinger.txt -text svneol=native#text/plain res/cardsfolder/plague_wind.txt -text svneol=native#text/plain res/cardsfolder/plagued_rusalka.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/phyrexian_scuta.txt b/res/cardsfolder/phyrexian_scuta.txt new file mode 100644 index 00000000000..7ba30eb0d74 --- /dev/null +++ b/res/cardsfolder/phyrexian_scuta.txt @@ -0,0 +1,8 @@ +Name:Phyrexian Scuta +ManaCost:3 B +Types:Creature Zombie +Text:If CARDNAME was kicked, it enters the battlefield with two +1/+1 counters on it. +PT:3/3 +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_scuta.jpg +End \ No newline at end of file diff --git a/res/cardsfolder/plague_spitter.txt b/res/cardsfolder/plague_spitter.txt new file mode 100644 index 00000000000..bc63e8232bc --- /dev/null +++ b/res/cardsfolder/plague_spitter.txt @@ -0,0 +1,8 @@ +Name:Plague Spitter +ManaCost:2 B +Types:Creature Horror +Text:At the beginning of your upkeep, CARDNAME deals 1 damage to each creature and each player.\r\nWhen CARDNAME is put into a graveyard from the battlefield, CARDNAME deals 1 damage to each creature and each player. +PT:2/2 +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/plague_spitter.jpg +End \ No newline at end of file diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index 067120795aa..cc7f9d6c770 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -13610,6 +13610,68 @@ public class CardFactory_Creatures { card.setSVar("PlayMain1", "TRUE"); }//*************** END ************ END ************************** + + //*************** START *********** START ************************** + else if(cardName.equals("Plague Spitter")) { + + final Ability ability = new Ability(card, "0") { + @Override + public void resolve() { + for(Player p:AllZoneUtil.getPlayersInGame()) p.addDamage(1, card); + for(Card c:AllZoneUtil.getCreaturesInPlay()) c.addDamage(1, card); + } + }; + + Command damage = new Command() { + private static final long serialVersionUID = 206350020224577500L; + + public void execute() { + StringBuilder sb = new StringBuilder(); + sb.append(card.getName()).append(" - deals 1 damage to each creature and each player."); + ability.setStackDescription(sb.toString()); + + AllZone.Stack.add(ability); + } + }; + + card.addDestroyCommand(damage); + }//*************** END ************ END ************************** + + + //*************** START *********** START ************************** + else if(cardName.equals("Phyrexian Scuta")) { + Ability_Cost abCost = new Ability_Cost("3 B PayLife<3>", cardName, false); + final SpellAbility kicker = new Spell(card, abCost, null) { + private static final long serialVersionUID = -6420757044982294960L; + + @Override + public void resolve() { + PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, card.getController()); + PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController()); + + card.setKicked(true); + hand.remove(card); + play.add(card); + card.addCounterFromNonEffect(Counters.P1P1, 2); + } + + @Override + public boolean canPlay() { + return super.canPlay() && card.getController().getLife() >= 3; + } + + }; + kicker.setKickerAbility(true); + kicker.setManaCost("3 B"); + kicker.setDescription("Kicker - Pay 3 life."); + + StringBuilder sb = new StringBuilder(); + sb.append(card.getName()).append(" - Creature 3/3 (Kicked)"); + kicker.setStackDescription(sb.toString()); + + card.addSpellAbility(kicker); + }//*************** END ************ END ************************** + if(hasKeyword(card, "Level up") != -1 && hasKeyword(card, "maxLevel") != -1) { diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 33b40385be2..12d74b1e02e 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -55,6 +55,7 @@ public class GameActionUtil { upkeep_Farmstead(); upkeep_Unstable_Mutation(); upkeep_Warp_Artifact(); + upkeep_Plague_Spitter(); upkeep_Soul_Bleed(); upkeep_Wanderlust(); upkeep_Curse_of_Chains(); @@ -9628,6 +9629,33 @@ public class GameActionUtil { } } }// upkeep_Ebony_Owl_Netsuke + + private static void upkeep_Plague_Spitter() { + /* + * At the beginning of your upkeep, Plague Spitter deals 1 damage + * to each creature and each player + */ + final Player player = AllZone.Phase.getPlayerTurn(); + CardList list = AllZoneUtil.getPlayerCardsInPlay(player, "Plague Spitter"); + + Ability ability; + for(Card spitter:list) { + final Card source = spitter; + ability = new Ability(source, "0") { + @Override + public void resolve() { + for(Player p:AllZoneUtil.getPlayersInGame()) p.addDamage(1, source); + for(Card c:AllZoneUtil.getCreaturesInPlay()) c.addDamage(1, source); + } + };// Ability + + StringBuilder sb = new StringBuilder(); + sb.append(source.getName()).append(" - deals 1 damage to each creature and each player."); + ability.setStackDescription(sb.toString()); + + AllZone.Stack.add(ability); + }// for + }// upkeep_Copper_Tablet() private static void upkeep_Copper_Tablet() { /*