mirror of
https://github.com/correl/mage.git
synced 2024-12-30 19:10:36 +00:00
[VOW] Implemented Stensia Uprising
This commit is contained in:
parent
f354e52bed
commit
a66b465bf2
2 changed files with 70 additions and 0 deletions
69
Mage.Sets/src/mage/cards/s/StensiaUprising.java
Normal file
69
Mage.Sets/src/mage/cards/s/StensiaUprising.java
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
package mage.cards.s;
|
||||||
|
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
|
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||||
|
import mage.abilities.condition.Condition;
|
||||||
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
|
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||||
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
|
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||||
|
import mage.abilities.hint.Hint;
|
||||||
|
import mage.abilities.hint.ValueHint;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.TargetController;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.game.permanent.token.RedHumanToken;
|
||||||
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class StensiaUprising extends CardImpl {
|
||||||
|
|
||||||
|
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||||
|
StaticFilters.FILTER_PERMANENT, ComparisonType.EQUAL_TO, 13, true
|
||||||
|
);
|
||||||
|
private static final Hint hint = new ValueHint(
|
||||||
|
"Permanents you control",
|
||||||
|
new PermanentsOnBattlefieldCount(
|
||||||
|
StaticFilters.FILTER_CONTROLLED_PERMANENT
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
public StensiaUprising(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}");
|
||||||
|
|
||||||
|
// At the beginning of your end step, create a 1/1 red Human creature token. Then if you control exactly thirteen permanents, you may sacrifice Stensia Uprising. When you do, it deals 7 damage to any target.
|
||||||
|
ReflexiveTriggeredAbility reflexiveTrigger = new ReflexiveTriggeredAbility(
|
||||||
|
new DamageTargetEffect(7), false, "{this} deals 7 damage to any target"
|
||||||
|
);
|
||||||
|
reflexiveTrigger.addTarget(new TargetAnyTarget());
|
||||||
|
Ability ability = new BeginningOfUpkeepTriggeredAbility(
|
||||||
|
new CreateTokenEffect(new RedHumanToken()), TargetController.YOU, false
|
||||||
|
);
|
||||||
|
ability.addEffect(new ConditionalOneShotEffect(
|
||||||
|
new DoWhenCostPaid(reflexiveTrigger, new SacrificeSourceCost(), "Sacrifice {this}?"),
|
||||||
|
condition, "Then if you control exactly thirteen permanents, " +
|
||||||
|
"you may sacrifice {this}. When you do, it deals 7 damage to any target."
|
||||||
|
));
|
||||||
|
this.addAbility(ability.addHint(hint));
|
||||||
|
}
|
||||||
|
|
||||||
|
private StensiaUprising(final StensiaUprising card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StensiaUprising copy() {
|
||||||
|
return new StensiaUprising(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -107,6 +107,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Scattered Thoughts", 74, Rarity.COMMON, mage.cards.s.ScatteredThoughts.class));
|
cards.add(new SetCardInfo("Scattered Thoughts", 74, Rarity.COMMON, mage.cards.s.ScatteredThoughts.class));
|
||||||
cards.add(new SetCardInfo("Shattered Sanctum", 264, Rarity.RARE, mage.cards.s.ShatteredSanctum.class));
|
cards.add(new SetCardInfo("Shattered Sanctum", 264, Rarity.RARE, mage.cards.s.ShatteredSanctum.class));
|
||||||
cards.add(new SetCardInfo("Sorin the Mirthless", 131, Rarity.MYTHIC, mage.cards.s.SorinTheMirthless.class));
|
cards.add(new SetCardInfo("Sorin the Mirthless", 131, Rarity.MYTHIC, mage.cards.s.SorinTheMirthless.class));
|
||||||
|
cards.add(new SetCardInfo("Stensia Uprising", 178, Rarity.RARE, mage.cards.s.StensiaUprising.class));
|
||||||
cards.add(new SetCardInfo("Stormcarved Coast", 265, Rarity.RARE, mage.cards.s.StormcarvedCoast.class));
|
cards.add(new SetCardInfo("Stormcarved Coast", 265, Rarity.RARE, mage.cards.s.StormcarvedCoast.class));
|
||||||
cards.add(new SetCardInfo("Sundown Pass", 266, Rarity.RARE, mage.cards.s.SundownPass.class));
|
cards.add(new SetCardInfo("Sundown Pass", 266, Rarity.RARE, mage.cards.s.SundownPass.class));
|
||||||
cards.add(new SetCardInfo("Swamp", 272, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 272, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
|
Loading…
Reference in a new issue