From 3a426e3cd87a743cde5069aeb4c49ef0812e663e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 7 Oct 2015 08:18:35 +0200 Subject: [PATCH] * Lighthouse Chronologist - Removed custom classes. --- .../LighthouseChronologist.java | 83 +++---------------- .../condition/common/NotMyTurnCondition.java | 7 +- 2 files changed, 19 insertions(+), 71 deletions(-) diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/LighthouseChronologist.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/LighthouseChronologist.java index 9271b8d212..8018972095 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/LighthouseChronologist.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/LighthouseChronologist.java @@ -1,16 +1,16 @@ /* * Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR @@ -20,12 +20,11 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ - package mage.sets.riseoftheeldrazi; import java.util.UUID; @@ -33,20 +32,17 @@ import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.condition.common.NotMyTurnCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.LevelerCard; import mage.constants.CardType; -import mage.constants.Outcome; import mage.constants.Rarity; +import mage.constants.TargetController; import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.turn.TurnMod; /** * @@ -54,7 +50,7 @@ import mage.game.turn.TurnMod; */ public class LighthouseChronologist extends LevelerCard { - public LighthouseChronologist (UUID ownerId) { + public LighthouseChronologist(UUID ownerId) { super(ownerId, 75, "Lighthouse Chronologist", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.expansionSetCode = "ROE"; this.subtype.add("Human"); @@ -73,7 +69,8 @@ public class LighthouseChronologist extends LevelerCard { // 3/5 // At the beginning of each end step, if it's not your turn, take an extra turn after this one. Abilities abilities2 = new AbilitiesImpl<>(); - abilities2.add(new LighthouseChronologistAbility()); + abilities2.add(new BeginningOfEndStepTriggeredAbility( + Zone.BATTLEFIELD, new AddExtraTurnControllerEffect(false), TargetController.ANY, NotMyTurnCondition.getInstance(), false)); this.addAbilities(LevelerCardBuilder.construct( new LevelerCardBuilder.LevelAbility(4, 6, abilities1, 2, 4), @@ -82,7 +79,7 @@ public class LighthouseChronologist extends LevelerCard { setMaxLevelCounters(7); } - public LighthouseChronologist (final LighthouseChronologist card) { + public LighthouseChronologist(final LighthouseChronologist card) { super(card); } @@ -92,57 +89,3 @@ public class LighthouseChronologist extends LevelerCard { } } - -class LighthouseChronologistAbility extends TriggeredAbilityImpl { - - public LighthouseChronologistAbility() { - super(Zone.BATTLEFIELD, new LighthouseChronologistEffect(), false); - } - - public LighthouseChronologistAbility(final LighthouseChronologistAbility ability) { - super(ability); - } - - @Override - public LighthouseChronologistAbility copy() { - return new LighthouseChronologistAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.END_TURN_STEP_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - return !game.getActivePlayerId().equals(this.controllerId); - } - - @Override - public String getRule() { - return "At the beginning of each end step, if it's not your turn, take an extra turn after this one."; - } -} - -class LighthouseChronologistEffect extends OneShotEffect { - - public LighthouseChronologistEffect() { - super(Outcome.ExtraTurn); - } - - public LighthouseChronologistEffect(final LighthouseChronologistEffect effect) { - super(effect); - } - - @Override - public LighthouseChronologistEffect copy() { - return new LighthouseChronologistEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - game.getState().getTurnMods().add(new TurnMod(source.getControllerId(), false)); - return true; - } - -} \ No newline at end of file diff --git a/Mage/src/mage/abilities/condition/common/NotMyTurnCondition.java b/Mage/src/mage/abilities/condition/common/NotMyTurnCondition.java index c7940eeed0..6a1755e773 100644 --- a/Mage/src/mage/abilities/condition/common/NotMyTurnCondition.java +++ b/Mage/src/mage/abilities/condition/common/NotMyTurnCondition.java @@ -33,7 +33,7 @@ import mage.abilities.condition.Condition; import mage.game.Game; public class NotMyTurnCondition implements Condition { - + private static final NotMyTurnCondition fInstance = new NotMyTurnCondition(); public static Condition getInstance() { @@ -48,4 +48,9 @@ public class NotMyTurnCondition implements Condition { } return false; } + + @Override + public String toString() { + return "if it's not your turn"; + } }