mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 18:50:06 -08:00
[ONE] Implement The Eternal Wanderer (#10000)
This commit is contained in:
parent
3305f3c8cd
commit
4ac4ba2003
4 changed files with 301 additions and 0 deletions
|
|
@ -0,0 +1,46 @@
|
|||
package mage.abilities.common.delayed;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.abilities.DelayedTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.constants.Duration;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
|
||||
public class AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility extends DelayedTriggeredAbility {
|
||||
|
||||
protected UUID playerId;
|
||||
|
||||
|
||||
public AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility(Effect effect, UUID playerId) {
|
||||
super(effect, Duration.Custom, true, false);
|
||||
this.playerId = playerId;
|
||||
}
|
||||
|
||||
public AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility(final AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility ability) {
|
||||
super(ability);
|
||||
this.playerId = ability.playerId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility copy() {
|
||||
return new AtTheBeginOfPlayersNextEndStepDelayedTriggeredAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.END_TURN_STEP_PRE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
return game.getActivePlayerId().equals(playerId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of its owners next end step, " + super.getRule();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author @stwalsh4118
|
||||
*/
|
||||
public class DoublestrikeSamuraiToken extends TokenImpl {
|
||||
|
||||
public DoublestrikeSamuraiToken() {
|
||||
super("Samurai Token", "2/2 white Samurai creature token with double strike.");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
subtype.add(SubType.SAMURAI);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(DoubleStrikeAbility.getInstance());
|
||||
}
|
||||
|
||||
private DoublestrikeSamuraiToken(final DoublestrikeSamuraiToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoublestrikeSamuraiToken copy() {
|
||||
return new DoublestrikeSamuraiToken(this);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue