From 600b5302cca011d031e6557d13c33d1d5ea8ea5c Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 04:11:23 +0000 Subject: [PATCH] 1) add keyword: CARDNAME can't be blocked except by black creatures. 2) added Zulaport Enforcer using this keyword --- res/cards.txt | 8 ++++++++ src/forge/CombatUtil.java | 4 ++++ src/forge/GameActionUtil.java | 31 +++++++++++++++++++++++++++++++ src/forge/StaticEffects.java | 1 + 4 files changed, 44 insertions(+) diff --git a/res/cards.txt b/res/cards.txt index fef15c521f4..c6425478f0a 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,11 @@ +Zulaport Enforcer +B +Creature Human Warrior +LEVEL 1-2 3/3 LEVEL 3+ 5/5 CARDNAME can't be blocked except by black creatures. +1/1 +Level up:4 +maxLevel:3 + Melancholy 2 B Enchantment Aura diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index 10f7418dea8..0ab88a52f14 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -217,6 +217,10 @@ public class CombatUtil { if(!CardUtil.getColors(blocker).contains(Constant.Color.Blue)) return false; } + if(attacker.getKeyword().contains("CARDNAME can't be blocked except by black creatures.")) { + if(!CardUtil.getColors(blocker).contains(Constant.Color.Black))return false; + } + // if(attacker.getName().equals("Goldmeadow Dodger")) return blocker.getNetAttack() < 4; // if(attacker.getName().equals("Juggernaut") && blocker.getType().contains("Wall")) return false; diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index c87281fd06c..9aea7c26c18 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -10454,6 +10454,36 @@ public class GameActionUtil { } }; + /* + * Level up 4 + * LEVEL 1-2 3/3 + * LEVEL 3+ 5/5 CARDNAME can't be blocked except by black creatures. + */ + public static Command Zulaport_Enforcer = new Command() { + private static final long serialVersionUID = -679141054963080569L; + + public void execute(){ + CardList list = AllZoneUtil.getCardsInPlay("Zulaport Enforcer"); + + for (Card c:list) { + int lcs = c.getCounters(Counters.LEVEL); + if ( lcs < 1) { + c.setBaseAttack(1); + c.setBaseDefense(1); + } + else if ( lcs >=1 && lcs < 3 ) { //levels 1-2 + c.setBaseAttack(3); + c.setBaseDefense(3); + } + else { + c.setBaseAttack(5); + c.setBaseDefense(5); + c.addNonStackingIntrinsicKeyword("CARDNAME can't be blocked except by black creatures."); + } + } + } + }; + public static Command Student_of_Warfare = new Command() { private static final long serialVersionUID = 2627513737024865169L; @@ -15990,6 +16020,7 @@ public class GameActionUtil { commands.put("Hada_Spy_Patrol", Hada_Spy_Patrol); commands.put("Halimar_Wavewatch", Halimar_Wavewatch); commands.put("Nirkana_Cutthroat", Nirkana_Cutthroat); + commands.put("Zulaport_Enforcer", Zulaport_Enforcer); 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 e2688530dcd..b75be45a4c9 100644 --- a/src/forge/StaticEffects.java +++ b/src/forge/StaticEffects.java @@ -65,6 +65,7 @@ public class StaticEffects 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("Zulaport Enforcer", new String[] {"Zulaport_Enforcer"}); cardToEffectsList.put("Champion's Drake", new String[] {"Champions_Drake"}); cardToEffectsList.put("Soulsurge Elemental", new String[] {"Soulsurge_Elemental"});