mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 20:11:59 -08:00
[ONE] Implement Evolved Spinoderm
This commit is contained in:
parent
7ca7ed52d4
commit
53f3dc3cc5
2 changed files with 79 additions and 0 deletions
78
Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java
Normal file
78
Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentHasCounterCondition;
|
||||
import mage.abilities.condition.common.SourceHasCounterCondition;
|
||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.effects.common.SacrificeSourceEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
|
||||
import mage.abilities.keyword.HexproofAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.counters.CounterType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class EvolvedSpinoderm extends CardImpl {
|
||||
|
||||
private static final Condition condition1 = new SourceHasCounterCondition(CounterType.OIL, 3);
|
||||
private static final Condition condition2 = new SourceHasCounterCondition(CounterType.OIL, 0, 0);
|
||||
|
||||
public EvolvedSpinoderm(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}");
|
||||
|
||||
this.subtype.add(SubType.PHYREXIAN);
|
||||
this.subtype.add(SubType.BEAST);
|
||||
this.power = new MageInt(5);
|
||||
this.toughness = new MageInt(5);
|
||||
|
||||
// Evolved Spinoderm enters the battlefield with four oil counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.OIL.createInstance(4)),
|
||||
"with four oil counters on it"
|
||||
));
|
||||
|
||||
// Evolved Spinoderm has trample as long as it was two or fewer oil counters on it, Otherwise, it has hexproof.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(HexproofAbility.getInstance()),
|
||||
new GainAbilitySourceEffect(TrampleAbility.getInstance()),
|
||||
condition1, "{this} has trample as long as it was two " +
|
||||
"or fewer oil counters on it, Otherwise, it has hexproof"
|
||||
)));
|
||||
|
||||
// At the beginning of your upkeep, remove an oil counter from Evolved Spinoderm. Then if it has no oil counters on it, sacrifice it.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(
|
||||
new RemoveCounterSourceEffect(CounterType.OIL.createInstance()),
|
||||
TargetController.YOU, false
|
||||
);
|
||||
ability.addEffect(new ConditionalOneShotEffect(
|
||||
new SacrificeSourceEffect(), condition2,
|
||||
"Then if it has no oil counters on it, sacrifice it"
|
||||
));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private EvolvedSpinoderm(final EvolvedSpinoderm card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EvolvedSpinoderm copy() {
|
||||
return new EvolvedSpinoderm(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -25,6 +25,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Blue Sun's Twilight", 43, Rarity.RARE, mage.cards.b.BlueSunsTwilight.class));
|
||||
cards.add(new SetCardInfo("Copperline Gorge", 249, Rarity.RARE, mage.cards.c.CopperlineGorge.class));
|
||||
cards.add(new SetCardInfo("Dragonwing Glider", 126, Rarity.RARE, mage.cards.d.DragonwingGlider.class));
|
||||
cards.add(new SetCardInfo("Evolved Spinoderm", 166, Rarity.RARE, mage.cards.e.EvolvedSpinoderm.class));
|
||||
cards.add(new SetCardInfo("Forest", 276, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Island", 273, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mirrex", 254, Rarity.RARE, mage.cards.m.Mirrex.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue