* Lighthouse Chronologist - Removed custom classes.

This commit is contained in:
LevelX2 2015-10-07 08:18:35 +02:00
parent 537b1f15be
commit 3a426e3cd8
2 changed files with 19 additions and 71 deletions

View file

@ -1,16 +1,16 @@
/* /*
* Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved. * Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without modification, are * Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met: * permitted provided that the following conditions are met:
* *
* 1. Redistributions of source code must retain the above copyright notice, this list of * 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer. * conditions and the following disclaimer.
* *
* 2. Redistributions in binary form must reproduce the above copyright notice, this list * 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 * of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution. * provided with the distribution.
* *
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED * 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 * 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 * 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 * 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 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
* The views and conclusions contained in the software and documentation are those of the * 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 * authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com. * or implied, of BetaSteward_at_googlemail.com.
*/ */
package mage.sets.riseoftheeldrazi; package mage.sets.riseoftheeldrazi;
import java.util.UUID; import java.util.UUID;
@ -33,20 +32,17 @@ import mage.MageInt;
import mage.abilities.Abilities; import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl; import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability; 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.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect;
import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard; import mage.cards.LevelerCard;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Rarity; import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.constants.Zone; 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 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}"); super(ownerId, 75, "Lighthouse Chronologist", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{1}{U}");
this.expansionSetCode = "ROE"; this.expansionSetCode = "ROE";
this.subtype.add("Human"); this.subtype.add("Human");
@ -73,7 +69,8 @@ public class LighthouseChronologist extends LevelerCard {
// 3/5 // 3/5
// At the beginning of each end step, if it's not your turn, take an extra turn after this one. // At the beginning of each end step, if it's not your turn, take an extra turn after this one.
Abilities<Ability> abilities2 = new AbilitiesImpl<>(); Abilities<Ability> 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( this.addAbilities(LevelerCardBuilder.construct(
new LevelerCardBuilder.LevelAbility(4, 6, abilities1, 2, 4), new LevelerCardBuilder.LevelAbility(4, 6, abilities1, 2, 4),
@ -82,7 +79,7 @@ public class LighthouseChronologist extends LevelerCard {
setMaxLevelCounters(7); setMaxLevelCounters(7);
} }
public LighthouseChronologist (final LighthouseChronologist card) { public LighthouseChronologist(final LighthouseChronologist card) {
super(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;
}
}

View file

@ -33,7 +33,7 @@ import mage.abilities.condition.Condition;
import mage.game.Game; import mage.game.Game;
public class NotMyTurnCondition implements Condition { public class NotMyTurnCondition implements Condition {
private static final NotMyTurnCondition fInstance = new NotMyTurnCondition(); private static final NotMyTurnCondition fInstance = new NotMyTurnCondition();
public static Condition getInstance() { public static Condition getInstance() {
@ -48,4 +48,9 @@ public class NotMyTurnCondition implements Condition {
} }
return false; return false;
} }
@Override
public String toString() {
return "if it's not your turn";
}
} }