diff --git a/.gitattributes b/.gitattributes index 3029d5b3dd0..67963714bcd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -428,6 +428,7 @@ res/cardsfolder/bant_sureblade.txt -text svneol=native#text/plain res/cardsfolder/barbarian_general.txt -text svneol=native#text/plain res/cardsfolder/barbarian_horde.txt -text svneol=native#text/plain res/cardsfolder/barbarian_lunatic.txt -text svneol=native#text/plain +res/cardsfolder/barbarian_outcast.txt -text svneol=native#text/plain res/cardsfolder/barbarian_riftcutter.txt -text svneol=native#text/plain res/cardsfolder/barbarian_ring.txt svneol=native#text/plain res/cardsfolder/barbary_apes.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/barbarian_outcast.txt b/res/cardsfolder/barbarian_outcast.txt new file mode 100644 index 00000000000..4409fcfff50 --- /dev/null +++ b/res/cardsfolder/barbarian_outcast.txt @@ -0,0 +1,9 @@ +Name:Barbarian Outcast +ManaCost:1 R +Types:Creature Human Barbarian Beast +Text:no text +PT:2/2 +K:When you control no Swamps, sacrifice CARDNAME. +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/barbarian_outcast.jpg +End \ No newline at end of file diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index d62fc36c1bc..0efd2ef8a90 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -10915,6 +10915,7 @@ public class GameActionUtil { Sacrifice_NoIslands.execute(); Sacrifice_NoForests.execute(); + Sacrifice_NoSwamps.execute(); Sacrifice_NoArtifacts.execute(); Sacrifice_NoEnchantments.execute(); Sacrifice_NoLands.execute(); @@ -11559,6 +11560,13 @@ public class GameActionUtil { Cards_inZone.addAll(AllZone.Human_Hand.getCards()); Cards_inZone.addAll(AllZone.Computer_Hand.getCards()); } + //hack for Molten Disaster + /* + // TODO for future use + if(Keyword_Details.length >= 2 && Keyword_Details[2].contains("Split second")) { + Cards_inZone.add(AllZone.Stack.getSpellCardsOnStack()); + } + */ } if(Range.equals("Enchanted")) { if (SourceCard.getEnchanting().size() > 0) @@ -12425,6 +12433,28 @@ public class GameActionUtil { }//execute() };//Sacrifice_NoForests + public static Command Sacrifice_NoSwamps = new Command() { + private static final long serialVersionUID = 1961985826678794078L; + + public void execute() { + CardList creature = AllZoneUtil.getCardsInPlay(); + + creature = creature.filter(new CardListFilter() { + public boolean addCard(Card c) { + return c.getKeyword().contains( + "When you control no Swamps, sacrifice CARDNAME."); + } + }); + + for(Card c:creature) { + if(AllZoneUtil.getPlayerTypeInPlay(c.getController(), "Swamp").size() == 0) { + AllZone.GameAction.sacrifice(c); + } + } + + }//execute() + };//Sacrifice_NoForests + public static Command Sacrifice_NoArtifacts = new Command() { private static final long serialVersionUID = -2546650213674544590L; int artifacts = 0;