mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[EOE] Implement Syr Vondam, Sunstar Exemplar
This commit is contained in:
parent
69e6b718ec
commit
49976e5433
3 changed files with 150 additions and 0 deletions
146
Mage.Sets/src/mage/cards/s/SyrVondamSunstarExemplar.java
Normal file
146
Mage.Sets/src/mage/cards/s/SyrVondamSunstarExemplar.java
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
package mage.cards.s;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.MageItem;
|
||||||
|
import mage.MageObject;
|
||||||
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
|
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||||
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
import mage.abilities.keyword.MenaceAbility;
|
||||||
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.SuperType;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
import mage.counters.CounterType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.game.Game;
|
||||||
|
import mage.game.events.GameEvent;
|
||||||
|
import mage.game.events.ZoneChangeEvent;
|
||||||
|
import mage.target.common.TargetNonlandPermanent;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class SyrVondamSunstarExemplar extends CardImpl {
|
||||||
|
|
||||||
|
public SyrVondamSunstarExemplar(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}");
|
||||||
|
|
||||||
|
this.supertype.add(SuperType.LEGENDARY);
|
||||||
|
this.subtype.add(SubType.HUMAN);
|
||||||
|
this.subtype.add(SubType.KNIGHT);
|
||||||
|
this.power = new MageInt(2);
|
||||||
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
|
// Vigilance
|
||||||
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
|
// Menace
|
||||||
|
this.addAbility(new MenaceAbility());
|
||||||
|
|
||||||
|
// Whenever another creature you control dies or is put into exile, put a +1/+1 counter on Syr Vondam and you gain 1 life.
|
||||||
|
this.addAbility(new SyrVondamSunstarExemplarFirstTriggeredAbility());
|
||||||
|
|
||||||
|
// When Syr Vondam dies or is put into exile while its power is 4 or greater, destroy up to one target nonland permanent.
|
||||||
|
this.addAbility(new SyrVondamSunstarExemplarSecondTriggeredAbility());
|
||||||
|
}
|
||||||
|
|
||||||
|
private SyrVondamSunstarExemplar(final SyrVondamSunstarExemplar card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SyrVondamSunstarExemplar copy() {
|
||||||
|
return new SyrVondamSunstarExemplar(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SyrVondamSunstarExemplarFirstTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
|
SyrVondamSunstarExemplarFirstTriggeredAbility() {
|
||||||
|
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
|
||||||
|
this.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||||
|
this.setTriggerPhrase("Whenever another creature you control dies or is put into exile, ");
|
||||||
|
this.setLeavesTheBattlefieldTrigger(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SyrVondamSunstarExemplarFirstTriggeredAbility(final SyrVondamSunstarExemplarFirstTriggeredAbility ability) {
|
||||||
|
super(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SyrVondamSunstarExemplarFirstTriggeredAbility copy() {
|
||||||
|
return new SyrVondamSunstarExemplarFirstTriggeredAbility(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkEventType(GameEvent event, Game game) {
|
||||||
|
return event.getType() == GameEvent.EventType.ZONE_CHANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkTrigger(GameEvent event, Game game) {
|
||||||
|
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
|
||||||
|
return Zone.BATTLEFIELD.match(zEvent.getFromZone())
|
||||||
|
&& (Zone.GRAVEYARD.match(zEvent.getToZone()) || Zone.EXILED.match(zEvent.getToZone()))
|
||||||
|
&& StaticFilters
|
||||||
|
.FILTER_ANOTHER_CREATURE_YOU_CONTROL
|
||||||
|
.match(zEvent.getTarget(), getControllerId(), this, game);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isInUseableZone(Game game, MageObject sourceObject, GameEvent event) {
|
||||||
|
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, sourceObject, event, game);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class SyrVondamSunstarExemplarSecondTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
|
SyrVondamSunstarExemplarSecondTriggeredAbility() {
|
||||||
|
super(Zone.BATTLEFIELD, new DestroyTargetEffect());
|
||||||
|
this.addTarget(new TargetNonlandPermanent(0, 1));
|
||||||
|
this.setTriggerPhrase("When {this} dies or is put into exile while its power is 4 or greater, ");
|
||||||
|
this.setLeavesTheBattlefieldTrigger(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SyrVondamSunstarExemplarSecondTriggeredAbility(final SyrVondamSunstarExemplarSecondTriggeredAbility ability) {
|
||||||
|
super(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SyrVondamSunstarExemplarSecondTriggeredAbility copy() {
|
||||||
|
return new SyrVondamSunstarExemplarSecondTriggeredAbility(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkEventType(GameEvent event, Game game) {
|
||||||
|
return event.getType() == GameEvent.EventType.ZONE_CHANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkTrigger(GameEvent event, Game game) {
|
||||||
|
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
|
||||||
|
return Zone.BATTLEFIELD.match(zEvent.getFromZone())
|
||||||
|
&& (Zone.GRAVEYARD.match(zEvent.getToZone()) || Zone.EXILED.match(zEvent.getToZone()))
|
||||||
|
&& Optional
|
||||||
|
.ofNullable(zEvent)
|
||||||
|
.map(ZoneChangeEvent::getTarget)
|
||||||
|
.filter(permanent -> permanent.getPower().getValue() >= 4)
|
||||||
|
.map(MageItem::getId)
|
||||||
|
.filter(getSourceId()::equals)
|
||||||
|
.isPresent();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isInUseableZone(Game game, MageObject sourceObject, GameEvent event) {
|
||||||
|
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, sourceObject, event, game);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -222,6 +222,8 @@ public final class EdgeOfEternities extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Swamp", 271, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 271, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Swamp", 272, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 272, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Swamp", 369, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 369, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Syr Vondam, Sunstar Exemplar", 231, Rarity.RARE, mage.cards.s.SyrVondamSunstarExemplar.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Syr Vondam, Sunstar Exemplar", 302, Rarity.RARE, mage.cards.s.SyrVondamSunstarExemplar.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Syr Vondam, the Lucent", 232, Rarity.UNCOMMON, mage.cards.s.SyrVondamTheLucent.class));
|
cards.add(new SetCardInfo("Syr Vondam, the Lucent", 232, Rarity.UNCOMMON, mage.cards.s.SyrVondamTheLucent.class));
|
||||||
cards.add(new SetCardInfo("Systems Override", 161, Rarity.UNCOMMON, mage.cards.s.SystemsOverride.class));
|
cards.add(new SetCardInfo("Systems Override", 161, Rarity.UNCOMMON, mage.cards.s.SystemsOverride.class));
|
||||||
cards.add(new SetCardInfo("Tannuk, Memorial Ensign", 233, Rarity.UNCOMMON, mage.cards.t.TannukMemorialEnsign.class));
|
cards.add(new SetCardInfo("Tannuk, Memorial Ensign", 233, Rarity.UNCOMMON, mage.cards.t.TannukMemorialEnsign.class));
|
||||||
|
|
|
||||||
|
|
@ -59221,6 +59221,7 @@ Sami, Ship's Engineer|Edge of Eternities|225|U|{2}{R}{W}|Legendary Creature - Hu
|
||||||
Sami, Wildcat Captain|Edge of Eternities|226|M|{4}{R}{W}|Legendary Creature - Human Artificer Rogue|4|4|Double strike, vigilance$Spells you cast have affinity for artifacts.|
|
Sami, Wildcat Captain|Edge of Eternities|226|M|{4}{R}{W}|Legendary Creature - Human Artificer Rogue|4|4|Double strike, vigilance$Spells you cast have affinity for artifacts.|
|
||||||
Seedship Broodtender|Edge of Eternities|227|U|{B}{G}|Creature - Insect Citizen|2|3|When this creature enters, mill three cards.${3}{B}{G}, Sacrifice this creature: Return target creature or Spacecraft card from your graveyard to the battlefield. Activate only as a sorcery.|
|
Seedship Broodtender|Edge of Eternities|227|U|{B}{G}|Creature - Insect Citizen|2|3|When this creature enters, mill three cards.${3}{B}{G}, Sacrifice this creature: Return target creature or Spacecraft card from your graveyard to the battlefield. Activate only as a sorcery.|
|
||||||
Singularity Rupture|Edge of Eternities|228|R|{3}{U}{B}{B}|Sorcery|||Destroy all creatures, then any number of target players each mill half their library, rounded down.|
|
Singularity Rupture|Edge of Eternities|228|R|{3}{U}{B}{B}|Sorcery|||Destroy all creatures, then any number of target players each mill half their library, rounded down.|
|
||||||
|
Syr Vondam, Sunstar Exemplar|Edge of Eternities|231|R|{W}{B}|Legendary Creature - Human Knight|2|2|Vigilance, menace$Whenever another creature you control dies or is put into exile, put a +1/+1 counter on Syr Vondam and you gain 1 life.$When Syr Vondam dies or is put into exile while its power is 4 or greater, destroy up to one target nonland permanent.|
|
||||||
Syr Vondam, the Lucent|Edge of Eternities|232|U|{2}{W}{B}{B}|Legendary Creature - Human Knight|4|4|Deathtouch, lifelink$Whenever Syr Vondam enters or attacks, other creatures you control get +1/+0 and gain deathtouch until end of turn.|
|
Syr Vondam, the Lucent|Edge of Eternities|232|U|{2}{W}{B}{B}|Legendary Creature - Human Knight|4|4|Deathtouch, lifelink$Whenever Syr Vondam enters or attacks, other creatures you control get +1/+0 and gain deathtouch until end of turn.|
|
||||||
Tannuk, Memorial Ensign|Edge of Eternities|233|U|{1}{R}{G}|Legendary Creature - Kavu Pilot|2|4|Landfall -- Whenever a land you control enters, Tannuk deals 1 damage to each opponent. If this is the second time this ability has resolved this turn, draw a card.|
|
Tannuk, Memorial Ensign|Edge of Eternities|233|U|{1}{R}{G}|Legendary Creature - Kavu Pilot|2|4|Landfall -- Whenever a land you control enters, Tannuk deals 1 damage to each opponent. If this is the second time this ability has resolved this turn, draw a card.|
|
||||||
All-Fates Scroll|Edge of Eternities|234|U|{3}|Artifact|||{T}: Add one mana of any color.${7}, {T}, Sacrifice this artifact: Draw X cards, where X is the number of differently named lands you control.|
|
All-Fates Scroll|Edge of Eternities|234|U|{3}|Artifact|||{T}: Add one mana of any color.${7}, {T}, Sacrifice this artifact: Draw X cards, where X is the number of differently named lands you control.|
|
||||||
|
|
@ -59285,6 +59286,7 @@ Dyadrine, Synthesis Amalgam|Edge of Eternities|298|R|{X}{G}{W}|Legendary Artifac
|
||||||
Genemorph Imago|Edge of Eternities|299|R|{G}{U}|Creature - Insect Druid|1|3|Flying$Landfall -- Whenever a land you control enters, target creature has base power and toughness 3/3 until end of turn. If you control six or more lands, that creature has base power and toughness 6/6 until end of turn instead.|
|
Genemorph Imago|Edge of Eternities|299|R|{G}{U}|Creature - Insect Druid|1|3|Flying$Landfall -- Whenever a land you control enters, target creature has base power and toughness 3/3 until end of turn. If you control six or more lands, that creature has base power and toughness 6/6 until end of turn instead.|
|
||||||
Ragost, Deft Gastronaut|Edge of Eternities|300|R|{R}{W}|Legendary Creature - Lobster Citizen|2|2|Artifacts you control are Foods in addition to their other types and have "{2}, {T}, Sacrifice this artifact: You gain 3 life."${1}, {T}, Sacrifice a Food: Ragost deals 3 damage to each opponent.$At the beginning of each end step, if you gained life this turn, untap Ragost.|
|
Ragost, Deft Gastronaut|Edge of Eternities|300|R|{R}{W}|Legendary Creature - Lobster Citizen|2|2|Artifacts you control are Foods in addition to their other types and have "{2}, {T}, Sacrifice this artifact: You gain 3 life."${1}, {T}, Sacrifice a Food: Ragost deals 3 damage to each opponent.$At the beginning of each end step, if you gained life this turn, untap Ragost.|
|
||||||
Sami, Wildcat Captain|Edge of Eternities|301|M|{4}{R}{W}|Legendary Creature - Human Artificer Rogue|4|4|Double strike, vigilance$Spells you cast have affinity for artifacts.|
|
Sami, Wildcat Captain|Edge of Eternities|301|M|{4}{R}{W}|Legendary Creature - Human Artificer Rogue|4|4|Double strike, vigilance$Spells you cast have affinity for artifacts.|
|
||||||
|
Syr Vondam, Sunstar Exemplar|Edge of Eternities|302|R|{W}{B}|Legendary Creature - Human Knight|2|2|Vigilance, menace$Whenever another creature you control dies or is put into exile, put a +1/+1 counter on Syr Vondam and you gain 1 life.$When Syr Vondam dies or is put into exile while its power is 4 or greater, destroy up to one target nonland permanent.|
|
||||||
Cosmogrand Zenith|Edge of Eternities|304|M|{2}{W}|Creature - Human Soldier|2|4|Whenever you cast your second spell each turn, choose one --$* Create two 1/1 white Human Soldier creature tokens.$* Put a +1/+1 counter on each creature you control.|
|
Cosmogrand Zenith|Edge of Eternities|304|M|{2}{W}|Creature - Human Soldier|2|4|Whenever you cast your second spell each turn, choose one --$* Create two 1/1 white Human Soldier creature tokens.$* Put a +1/+1 counter on each creature you control.|
|
||||||
Quantum Riddler|Edge of Eternities|305|M|{3}{U}{U}|Creature - Sphinx|4|6|Flying$When this creature enters, draw a card.$As long as you have one or fewer cards in hand, if you would draw one or more cards, you draw that many cards plus one instead.$Warp {1}{U}|
|
Quantum Riddler|Edge of Eternities|305|M|{3}{U}{U}|Creature - Sphinx|4|6|Flying$When this creature enters, draw a card.$As long as you have one or fewer cards in hand, if you would draw one or more cards, you draw that many cards plus one instead.$Warp {1}{U}|
|
||||||
Archenemy's Charm|Edge of Eternities|307|R|{B}{B}{B}|Instant|||Choose one --$* Exile target creature or planeswalker.$* Return one or two target creature and/or planeswalker cards from your graveyard to your hand.$* Put two +1/+1 counters on target creature you control. It gains lifelink until end of turn.|
|
Archenemy's Charm|Edge of Eternities|307|R|{B}{B}{B}|Instant|||Choose one --$* Exile target creature or planeswalker.$* Return one or two target creature and/or planeswalker cards from your graveyard to your hand.$* Put two +1/+1 counters on target creature you control. It gains lifelink until end of turn.|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue