forked from External/mage
Implemented Sunlit Hoplite
This commit is contained in:
parent
16a0ea9ac2
commit
e8adca4bcd
3 changed files with 68 additions and 16 deletions
|
|
@ -1,21 +1,20 @@
|
|||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.MyTurnCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class FreshFacedRecruit extends CardImpl {
|
||||
|
|
@ -29,20 +28,13 @@ public final class FreshFacedRecruit extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// As long as it's your turn, Fresh-Faced Recruit has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(
|
||||
FirstStrikeAbility.getInstance(),
|
||||
Duration.WhileOnBattlefield
|
||||
), MyTurnCondition.instance,
|
||||
"As long as it's your turn, "
|
||||
+ "{this} has first strike."
|
||||
)
|
||||
));
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
MyTurnCondition.instance, "As long as it's your turn, {this} has first strike."
|
||||
)));
|
||||
}
|
||||
|
||||
public FreshFacedRecruit(final FreshFacedRecruit card) {
|
||||
private FreshFacedRecruit(final FreshFacedRecruit card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
|
|
|
|||
59
Mage.Sets/src/mage/cards/s/SunlitHoplite.java
Normal file
59
Mage.Sets/src/mage/cards/s/SunlitHoplite.java
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.MyTurnCondition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledPlaneswalkerPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SunlitHoplite extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterControlledPlaneswalkerPermanent(SubType.ELSPETH);
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
|
||||
|
||||
public SunlitHoplite(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}");
|
||||
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.SOLDIER);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
// As long as it's your turn, Sunlit Hoplite has first strike.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield),
|
||||
MyTurnCondition.instance, "As long as it's your turn, {this} has first strike."
|
||||
)));
|
||||
|
||||
// Sunlit Hoplite gets +1/+0 as long as you control an Elspeth planeswalker.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1, 0, Duration.EndOfTurn),
|
||||
condition, "{this} gets +1/+0 as long as you control an Elspeth planeswalker"
|
||||
)));
|
||||
}
|
||||
|
||||
private SunlitHoplite(final SunlitHoplite card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SunlitHoplite copy() {
|
||||
return new SunlitHoplite(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -139,6 +139,7 @@ public final class TherosBeyondDeath extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Staggering Insight", 228, Rarity.UNCOMMON, mage.cards.s.StaggeringInsight.class));
|
||||
cards.add(new SetCardInfo("Stinging Lionfish", 69, Rarity.UNCOMMON, mage.cards.s.StingingLionfish.class));
|
||||
cards.add(new SetCardInfo("Storm's Wrath", 157, Rarity.RARE, mage.cards.s.StormsWrath.class));
|
||||
cards.add(new SetCardInfo("Sunlit Hoplite", 273, Rarity.COMMON, mage.cards.s.SunlitHoplite.class));
|
||||
cards.add(new SetCardInfo("Swamp", 252, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Sweet Oblivion", 70, Rarity.UNCOMMON, mage.cards.s.SweetOblivion.class));
|
||||
cards.add(new SetCardInfo("Swimmer in Nightmares", 275, Rarity.UNCOMMON, mage.cards.s.SwimmerInNightmares.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue