From f20f0a8fc55d88b1eb9f74cf4ab31f105eb23161 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 03:59:50 +0000 Subject: [PATCH] - Added Lighthouse Chronologist. --- src/forge/CardFactory_Lands.java | 2 +- src/forge/EndOfTurn.java | 1 + src/forge/GameActionUtil.java | 66 +++++++++++++++++++++++++++++++- src/forge/StaticEffects.java | 1 + 4 files changed, 68 insertions(+), 2 deletions(-) diff --git a/src/forge/CardFactory_Lands.java b/src/forge/CardFactory_Lands.java index e06b5d24ddc..9292f31f779 100644 --- a/src/forge/CardFactory_Lands.java +++ b/src/forge/CardFactory_Lands.java @@ -2847,7 +2847,7 @@ class CardFactory_Lands { }//*************** END ************ END ************************** - //*************** START *********** START ************************** + //*************** START *********** START ************************** if(cardName.equals("Kjeldoran Outpost")) { final Command comesIntoPlay = new Command() { private static final long serialVersionUID = 6175830918425915833L; diff --git a/src/forge/EndOfTurn.java b/src/forge/EndOfTurn.java index 73db6496490..851f6ec76cb 100644 --- a/src/forge/EndOfTurn.java +++ b/src/forge/EndOfTurn.java @@ -34,6 +34,7 @@ public class EndOfTurn implements java.io.Serializable } GameActionUtil.endOfTurn_Wall_Of_Reverence(); + GameActionUtil.endOfTurn_Lighthouse_Chronologist(); //GameActionUtil.removeExaltedEffects(); GameActionUtil.removeAttackedBlockedThisTurn(); diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 0b8042a514d..82e2fd964ae 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -2718,7 +2718,37 @@ public class GameActionUtil { + player + " gains life equal to target creature's power."); AllZone.Stack.add(ability); } - + } + + public static void endOfTurn_Lighthouse_Chronologist() + { + final String player = AllZone.Phase.getActivePlayer(); + final String opponent = AllZone.GameAction.getOpponent(player); + final PlayerZone playZone = AllZone.getZone(Constant.Zone.Play, opponent); + CardList list = new CardList(playZone.getCards()); + + list = list.filter(new CardListFilter() + { + public boolean addCard(Card c) + { + return c.getName().equals("Lighthouse Chronologist") && c.getCounters(Counters.LEVEL) >= 7; + } + }); + + Ability ability; + for (int i = 0; i < list.size(); i++) + { + final Card card = list.get(i); + ability = new Ability(list.get(i), "0") + { + public void resolve() + { + AllZone.Phase.addExtraTurn(card.getController()); + } + }; + ability.setStackDescription(card + " - " +card.getController() + " takes an extra turn."); + AllZone.Stack.add(ability); + } } @@ -9827,6 +9857,39 @@ public class GameActionUtil { }// execute() }; + public static Command Lighthouse_Chronologist = new Command() { + + private static final long serialVersionUID = 2627513737024865169L; + + public void execute() + { + CardList list = new CardList(); + list.addAll(AllZone.Human_Play.getCards()); + list.addAll(AllZone.Computer_Play.getCards()); + list = list.getName("Lighthouse Chronologist"); + + for (Card c:list) + { + int lcs = c.getCounters(Counters.LEVEL); + if ( lcs < 4) + { + c.setBaseAttack(1); + c.setBaseDefense(3); + } + else if ( lcs >=4 && lcs < 7 ) + { + c.setBaseAttack(2); + c.setBaseDefense(4); + } + else + { + c.setBaseAttack(3); + c.setBaseDefense(5); + } + } + } + }; + public static Command Student_of_Warfare = new Command() { private static final long serialVersionUID = 2627513737024865169L; @@ -15209,6 +15272,7 @@ public class GameActionUtil { commands.put("Student_of_Warfare", Student_of_Warfare); commands.put("Transcendent_Master", Transcendent_Master); + commands.put("Lighthouse_Chronologist", Lighthouse_Chronologist); commands.put("Dauntless_Dourbark", Dauntless_Dourbark); commands.put("People_of_the_Woods", People_of_the_Woods); diff --git a/src/forge/StaticEffects.java b/src/forge/StaticEffects.java index 820bbf94630..8a243de9aeb 100644 --- a/src/forge/StaticEffects.java +++ b/src/forge/StaticEffects.java @@ -56,6 +56,7 @@ public class StaticEffects cardToEffectsList.put("Korlash, Heir to Blackblade", new String[] {"Korlash"}); cardToEffectsList.put("Student of Warfare", new String[]{"Student_of_Warfare"}); cardToEffectsList.put("Transcendent Master", new String[]{"Transcendent_Master"}); + cardToEffectsList.put("Lighthouse Chronologist", new String[] {"Lighthouse_Chronologist"}); cardToEffectsList.put("Dauntless Dourbark", new String[] {"Dauntless_Dourbark"}); cardToEffectsList.put("Gaea's Avenger", new String[] {"Gaeas_Avenger"}); cardToEffectsList.put("People of the Woods", new String[] {"People_of_the_Woods"});