From 936ee0bcdeb0433e43ada2740bd696fcb2e759ec Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 03:42:20 +0000 Subject: [PATCH] - Changed a bunch of things in the checkDeclareBlockers code (for some reason it gets called multiple times). --- res/cards.txt | 7 ++ res/gui/display_layout.xml | 114 +++++++++++------------ res/pics_link/card-pictures_other.txt | 16 ++++ res/quest/questData | Bin 49697 -> 60223 bytes src/forge/CardFactoryUtil.java | 2 + src/forge/CombatUtil.java | 129 +++++++++++++++----------- src/forge/ComputerAI_General.java | 9 +- 7 files changed, 165 insertions(+), 112 deletions(-) diff --git a/res/cards.txt b/res/cards.txt index 5ef96758da0..b36295ca51c 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,10 @@ +Perimeter Captain +W +Creature Human Soldier +Whenever a creature you control with defender blocks, you may gain 2 life. +0/4 +Defender + Sejiri Merfolk 1 U Creature Merfolk Soldier diff --git a/res/gui/display_layout.xml b/res/gui/display_layout.xml index e7a99bc4d89..edc0904de3d 100644 --- a/res/gui/display_layout.xml +++ b/res/gui/display_layout.xml @@ -1,12 +1,12 @@ - + 0 0 - 1280 - 707 + 1440 + 827 @@ -17,7 +17,7 @@ 0 0 276 - 707 + 827 @@ -28,7 +28,7 @@ 0 0 276 - 135 + 151 @@ -47,7 +47,7 @@ 0 - 135 + 151 276 10 @@ -62,9 +62,9 @@ 0 - 145 + 161 276 - 132 + 166 @@ -83,7 +83,7 @@ 0 - 277 + 327 276 10 @@ -98,9 +98,9 @@ 0 - 287 + 337 276 - 107 + 125 @@ -119,7 +119,7 @@ 0 - 394 + 462 276 10 @@ -134,9 +134,9 @@ 0 - 404 + 472 276 - 141 + 159 @@ -155,7 +155,7 @@ 0 - 545 + 631 276 10 @@ -170,9 +170,9 @@ 0 - 555 + 641 276 - 152 + 186 @@ -205,7 +205,7 @@ 276 0 10 - 707 + 827 @@ -219,8 +219,8 @@ 286 0 - 747 - 707 + 803 + 827 @@ -230,8 +230,8 @@ 286 0 - 747 - 124 + 803 + 148 @@ -250,8 +250,8 @@ 286 - 124 - 747 + 148 + 803 10 @@ -265,9 +265,9 @@ 286 - 134 - 747 - 121 + 158 + 803 + 145 @@ -286,8 +286,8 @@ 286 - 255 - 747 + 303 + 803 10 @@ -301,9 +301,9 @@ 286 - 265 - 747 - 162 + 313 + 803 + 174 @@ -322,8 +322,8 @@ 286 - 427 - 747 + 487 + 803 10 @@ -337,9 +337,9 @@ 286 - 437 - 747 - 122 + 497 + 803 + 158 @@ -358,8 +358,8 @@ 286 - 559 - 747 + 655 + 803 10 @@ -373,9 +373,9 @@ 286 - 569 - 747 - 138 + 665 + 803 + 162 @@ -408,10 +408,10 @@ - 1033 + 1089 0 10 - 707 + 827 @@ -423,10 +423,10 @@ - 1043 + 1099 0 - 237 - 707 + 341 + 827 @@ -434,10 +434,10 @@ - 1043 + 1099 0 - 237 - 368 + 341 + 360 @@ -455,9 +455,9 @@ - 1043 - 368 - 237 + 1099 + 360 + 341 10 @@ -470,10 +470,10 @@ - 1043 - 378 - 237 - 329 + 1099 + 370 + 341 + 457 diff --git a/res/pics_link/card-pictures_other.txt b/res/pics_link/card-pictures_other.txt index b56bfc446a9..9374a9ce59d 100644 --- a/res/pics_link/card-pictures_other.txt +++ b/res/pics_link/card-pictures_other.txt @@ -39,4 +39,20 @@ snow_covered_swamp1.jpg http://[server]/CS/Snow-Covered%20Swamp.full.jpg snow_covered_swamp2.jpg http://[server]/IA/Snow-Covered%20Swamp.full.jpg snow_covered_swamp3.jpg http://[server]/IA/Snow-Covered%20Swamp.full.jpg _____.jpg http://[server]/UNH/_____.full.jpg +snow_covered_forest1.jpg http://[server]/CS/Snow-Covered%20Forest.full.jpg +snow_covered_forest2.jpg http://[server]/CS/Snow-Covered%20Forest.full.jpg +snow_covered_forest3.jpg http://[server]/CS/Snow-Covered%20Forest.full.jpg +snow_covered_island1.jpg http://[server]/CS/Snow-Covered%20Island.full.jpg +snow_covered_island2.jpg http://[server]/CS/Snow-Covered%20Island.full.jpg +snow_covered_island3.jpg http://[server]/CS/Snow-Covered%20Island.full.jpg +snow_covered_mountain1.jpg http://[server]/CS/Snow-Covered%20Mountain.full.jpg +snow_covered_mountain2.jpg http://[server]/CS/Snow-Covered%20Mountain.full.jpg +snow_covered_mountain3.jpg http://[server]/CS/Snow-Covered%20Mountain.full.jpg +snow_covered_plains1.jpg http://[server]/CS/Snow-Covered%20Plains.full.jpg +snow_covered_plains2.jpg http://[server]/CS/Snow-Covered%20Plains.full.jpg +snow_covered_plains3.jpg http://[server]/CS/Snow-Covered%20Plains.full.jpg +snow_covered_swamp1.jpg http://[server]/CS/Snow-Covered%20Swamp.full.jpg +snow_covered_swamp2.jpg http://[server]/CS/Snow-Covered%20Swamp.full.jpg +snow_covered_swamp3.jpg http://[server]/CS/Snow-Covered%20Swamp.full.jpg +snow_devil.jpg http://[server]/IA/Snow%20Devil.full.jpg 1996_world_champion.jpg http://[server]/PR/1996%20World%20Champion.full.jpg diff --git a/res/quest/questData b/res/quest/questData index d102644935bf4f41a62b02760540a6817d1c3754..f59b05313b517e2b774e34ad778de97d47f32894 100644 GIT binary patch literal 60223 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 diff --git a/src/forge/CardFactoryUtil.java b/src/forge/CardFactoryUtil.java index 82eaba888a7..0db81365d32 100644 --- a/src/forge/CardFactoryUtil.java +++ b/src/forge/CardFactoryUtil.java @@ -3122,6 +3122,8 @@ public class CardFactoryUtil { c.unEquipAllCards(); } */ + + //may return null static public Card getRandomCard(CardList list) { if(list.size() == 0) return null; diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index d4cd9791629..52b9fc9883b 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -1449,64 +1449,87 @@ public class CombatUtil { } - static void checkDeclareBlockers(Card c) { + static void checkDeclareBlockers(CardList cl) { if(AllZone.Phase.getPhase().equals(Constant.Phase.Combat_After_Declare_Blockers)) { - if(c.getName().equals("Jedit Ojanen of Efrava") && !c.getCreatureBlockedThisTurn()) { - Card card = new Card(); - - card.setOwner(c.getController()); - card.setController(c.getController()); - - card.setName("Cat Warrior"); - card.setImageName("G 2 2 Cat Warrior"); - card.setManaCost("G"); - card.setToken(true); - card.addIntrinsicKeyword("Forestwalk"); - - card.addType("Creature"); - card.addType("Cat"); - card.addType("Warrior"); - card.setBaseAttack(2); - card.setBaseDefense(2); - - PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController()); - play.add(card); - - //(anger) : - GameActionUtil.executeCardStateEffects(); - - c.setCreatureBlockedThisTurn(true); - - - }//Jedit - else if(c.getName().equals("Shield Sphere") && !c.getCreatureBlockedThisTurn()) { - //int toughness = c.getNetDefense(); - //c.setDefense(toughness-1); - c.addCounter(Counters.P0M1, 1); - - c.setCreatureBlockedThisTurn(true); - - //ability2.setStackDescription(c.getName() + " blocks and gets a 0/-1 counter."); - //AllZone.Stack.add(ability2); - - }//Shield Sphere + for (Card c:cl) + { + if (c.getKeyword().contains("Defender") && !c.getCreatureBlockedThisTurn()) + { + final Card crd = c; + CardList pcs = CardFactoryUtil.getCards("Perimeter Captain", c.getController()); + for (int i = 0; i < pcs.size();i++) + { + Ability ability = new Ability(pcs.get(i), "0") + { + public void resolve() + { + AllZone.GameAction.addLife(crd.getController(), 2); + } + }; + ability.setStackDescription(pcs.get(i) + " - " + c.getController() + " gains 2 life."); + + if (c.getController().equals(Constant.Player.Human)) { + String[] choices = {"Yes", "No"}; + Object q = null; + q = AllZone.Display.getChoiceOptional("Gain 2 life from Perimeter Captain?", choices); + if (q != null) + if (q.equals("Yes")) + AllZone.Stack.add(ability); + } + else + AllZone.Stack.add(ability); + } + } + + if(c.getName().equals("Jedit Ojanen of Efrava") && !c.getCreatureBlockedThisTurn()) { + Card card = new Card(); + + card.setOwner(c.getController()); + card.setController(c.getController()); + + card.setName("Cat Warrior"); + card.setImageName("G 2 2 Cat Warrior"); + card.setManaCost("G"); + card.setToken(true); + card.addIntrinsicKeyword("Forestwalk"); + + card.addType("Creature"); + card.addType("Cat"); + card.addType("Warrior"); + card.setBaseAttack(2); + card.setBaseDefense(2); + + PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController()); + play.add(card); + + //(anger) : + GameActionUtil.executeCardStateEffects(); + }//Jedit + else if(c.getName().equals("Shield Sphere") && !c.getCreatureBlockedThisTurn()) { + //int toughness = c.getNetDefense(); + //c.setDefense(toughness-1); + c.addCounter(Counters.P0M1, 1); + //ability2.setStackDescription(c.getName() + " blocks and gets a 0/-1 counter."); + //AllZone.Stack.add(ability2); + + }//Shield Sphere + + else if(c.getName().equals("Meglonoth") && !c.getCreatureBlockedThisTurn()) { + PlayerLife oppLife = AllZone.GameAction.getPlayerLife(AllZone.GameAction.getOpponent(c.getController())); + oppLife.subtractLife(c.getNetAttack()); + + //ability2.setStackDescription(c.getName() + " blocks and deals damage equal to its power to attacking player."); + //AllZone.Stack.add(ability2); + + }//Shield Sphere + c.setCreatureBlockedThisTurn(true); + }//for - else if(c.getName().equals("Meglonoth") && !c.getCreatureBlockedThisTurn()) { - PlayerLife oppLife = AllZone.GameAction.getPlayerLife(AllZone.GameAction.getOpponent(c.getController())); - oppLife.subtractLife(c.getNetAttack()); - - - c.setCreatureBlockedThisTurn(true); - - //ability2.setStackDescription(c.getName() + " blocks and deals damage equal to its power to attacking player."); - //AllZone.Stack.add(ability2); - - }//Shield Sphere - - }//if Phase == declare blockers + }//if Phase == after declare blockers }//checkDeclareBlockers + public static void checkBlockedAttackers(Card a, Card b) { //System.out.println(a.getName() + " got blocked by " + b.getName()); diff --git a/src/forge/ComputerAI_General.java b/src/forge/ComputerAI_General.java index 00b0536d153..4d12d933e54 100644 --- a/src/forge/ComputerAI_General.java +++ b/src/forge/ComputerAI_General.java @@ -291,6 +291,12 @@ public class ComputerAI_General implements Computer { CardList list = new CardList(); list.addAll(AllZone.Combat.getAllBlockers().toArray()); list.addAll(AllZone.pwCombat.getAllBlockers().toArray()); + list = list.filter(new CardListFilter(){ + public boolean addCard(Card c) + { + return !c.getCreatureBlockedThisTurn(); + } + }); CardList attList = new CardList(); attList.addAll(AllZone.Combat.getAttackers()); @@ -298,8 +304,7 @@ public class ComputerAI_General implements Computer { CardList pwAttList = new CardList(); pwAttList.addAll(AllZone.pwCombat.getAttackers()); - for(Card c:list) - CombatUtil.checkDeclareBlockers(c); + CombatUtil.checkDeclareBlockers(list); for (Card a:attList){ CardList blockList = AllZone.Combat.getBlockers(a);