diff --git a/res/cards.txt b/res/cards.txt index daa07616e2d..fbc975d3306 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,16 @@ +Guul Draz Vampire +B +Creature Vampire Rogue +As long as an opponent has 10 or less life, Guul Draz Vampire gets +2/+1 and has intimidate. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.) +1/1 + +Bladetusk Boar +3 R +Creature Boar +no text +3/2 +Intimidate + Bituminous Blast 3 B R Instant diff --git a/res/main.properties b/res/main.properties index f3028e24b22..385ea629be5 100644 --- a/res/main.properties +++ b/res/main.properties @@ -1,6 +1,6 @@ program/mail=mtgerror@yahoo.com program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26 -program/version=Forge -- official beta: 10/01/17, SVN revision: 287 +program/version=Forge -- official beta: 10/01/17, SVN revision: 288 tokens--file=AllTokens.txt diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 9e43c663e65..24fffb51526 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -10460,6 +10460,10 @@ public class CardFactory implements NewConstants { //move to top of library AllZone.Computer_Library.remove(c); AllZone.Computer_Library.add(c, 0); + + CardList l = new CardList(); + l.add(c); + AllZone.Display.getChoiceOptional("Computer picked:", l.toArray()); } }//computerResolve() public void humanResolve() diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index d4818da9c13..64fb211c1b2 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -134,6 +134,13 @@ public class CombatUtil return false; } + if (attacker.getKeyword().contains("Intimidate")) + { + if (!blocker.getType().contains("Artifact") && + !CardFactoryUtil.sharesColorWith(attacker, blocker)) + return false; + } + if (attacker.getName().equals("Barrenton Cragtreads")) { if (CardUtil.getColors(blocker).contains(Constant.Color.Red)) diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index d0ba2e7f4bd..4b47652af66 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -185,7 +185,15 @@ public class GameActionUtil if (cascadedCard.getController().equals(Constant.Player.Human)) { - AllZone.GameAction.playCardNoCost(cascadedCard); + String[] choices = { "Yes", "No" }; + + Object q = null; + + q = AllZone.Display.getChoiceOptional("Cast " + cascadedCard.getName() + "?", choices); + if (q != null) { + if (q.equals("Yes")) + AllZone.GameAction.playCardNoCost(cascadedCard); + } } else { @@ -11034,6 +11042,43 @@ public class GameActionUtil } }; + public static Command Guul_Draz_Vampire = new Command() + { + private static final long serialVersionUID = -4252257530318024113L; + + public void execute() + { + // get all creatures + CardList list = new CardList(); + list.addAll(AllZone.Human_Play.getCards()); + list.addAll(AllZone.Computer_Play.getCards()); + list = list.getName("Guul Draz Vampire"); + + for (int i = 0; i < list.size(); i++) + { + Card c = list.get(i); + if (oppLess10Life(c)) { + if (!c.getIntrinsicKeyword().contains("Intimidate")) + c.addIntrinsicKeyword("Intimidate"); + c.setBaseAttack(3); + c.setBaseDefense(2); + } + else { + c.removeIntrinsicKeyword("Haste"); + c.setBaseAttack(1); + c.setBaseDefense(1); + } + } + }// execute() + + //does opponent have 10 or less life? + private boolean oppLess10Life(Card c) + { + String opp = AllZone.GameAction.getOpponent(c.getController()); + return AllZone.GameAction.getPlayerLife(opp).getLife() <= 10; + } + }; + public static Command Bloodghast = new Command() { private static final long serialVersionUID = -4252257530318024113L; @@ -16292,6 +16337,7 @@ public class GameActionUtil commands.put("Wild_Nacatl", Wild_Nacatl); commands.put("Liu_Bei", Liu_Bei); commands.put("Mystic_Enforcer", Mystic_Enforcer); + commands.put("Guul_Draz_Vampire", Guul_Draz_Vampire); commands.put("Bloodghast", Bloodghast); commands.put("Bant_Sureblade", Bant_Sureblade); commands.put("Esper_Stormblade", Esper_Stormblade); diff --git a/src/forge/StateBasedEffects.java b/src/forge/StateBasedEffects.java index 54a6d61730f..bd7596b3361 100644 --- a/src/forge/StateBasedEffects.java +++ b/src/forge/StateBasedEffects.java @@ -61,6 +61,7 @@ public class StateBasedEffects cardToEffectsList.put("Hedge Troll", new String[] {"Hedge_Troll"}); cardToEffectsList.put("Wild Nacatl", new String[] {"Wild_Nacatl"}); cardToEffectsList.put("Liu Bei, Lord of Shu", new String[] {"Liu_Bei"}); + cardToEffectsList.put("Guul Draz Vampire", new String[] {"Guul_Draz_Vampire"}); cardToEffectsList.put("Bloodghast", new String[] {"Bloodghast"}); cardToEffectsList.put("Bant Sureblade", new String[] {"Bant_Sureblade"}); cardToEffectsList.put("Esper Stormblade", new String[] {"Esper_Stormblade"});