From d9bca1683c21be25e8c2e4ca5e3e230e7bf1f9a9 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 20 May 2025 15:31:51 -0400 Subject: [PATCH] [FIN] Implement Gaius van Baelsar --- .../src/mage/cards/g/GaiusVanBaelsar.java | 51 +++++++++++++++++++ Mage.Sets/src/mage/sets/FinalFantasy.java | 2 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GaiusVanBaelsar.java diff --git a/Mage.Sets/src/mage/cards/g/GaiusVanBaelsar.java b/Mage.Sets/src/mage/cards/g/GaiusVanBaelsar.java new file mode 100644 index 00000000000..3f281e03e78 --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GaiusVanBaelsar.java @@ -0,0 +1,51 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.SacrificeAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class GaiusVanBaelsar extends CardImpl { + + public GaiusVanBaelsar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Gaius van Baelsar enters, choose one -- + // * Each player sacrifices a creature token of their choice. + Ability ability = new EntersBattlefieldTriggeredAbility(new SacrificeAllEffect(StaticFilters.FILTER_CREATURE_TOKEN)); + + // * Each player sacrifices a nontoken creature of their choice. + ability.addMode(new Mode(new SacrificeAllEffect(StaticFilters.FILTER_CREATURE_NON_TOKEN))); + + // * Each player sacrifices an enchantment of their choice. + ability.addMode(new Mode(new SacrificeAllEffect(StaticFilters.FILTER_PERMANENT_ENCHANTMENT))); + this.addAbility(ability); + } + + private GaiusVanBaelsar(final GaiusVanBaelsar card) { + super(card); + } + + @Override + public GaiusVanBaelsar copy() { + return new GaiusVanBaelsar(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 172ac55dfb9..7f9903e3dda 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -135,6 +135,8 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Freya Crescent", 138, Rarity.UNCOMMON, mage.cards.f.FreyaCrescent.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Freya Crescent", 460, Rarity.UNCOMMON, mage.cards.f.FreyaCrescent.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("From Father to Son", 20, Rarity.RARE, mage.cards.f.FromFatherToSon.class)); + cards.add(new SetCardInfo("Gaius van Baelsar", 102, Rarity.UNCOMMON, mage.cards.g.GaiusVanBaelsar.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Gaius van Baelsar", 447, Rarity.UNCOMMON, mage.cards.g.GaiusVanBaelsar.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Galian Beast", 125, Rarity.RARE, mage.cards.g.GalianBeast.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Galian Beast", 383, Rarity.RARE, mage.cards.g.GalianBeast.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Galian Beast", 454, Rarity.RARE, mage.cards.g.GalianBeast.class, NON_FULL_USE_VARIOUS));