diff --git a/Mage.Sets/src/mage/cards/h/HavocJester.java b/Mage.Sets/src/mage/cards/h/HavocJester.java new file mode 100644 index 00000000000..ffa1ab353ec --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HavocJester.java @@ -0,0 +1,73 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.target.common.TargetAnyTarget; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HavocJester extends CardImpl { + + public HavocJester(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + + this.subtype.add(SubType.DEVIL); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Whenever you sacrifice a permanent, Havoc Jester deals 1 damage to any target. + this.addAbility(new HavocJesterTriggeredAbility()); + } + + private HavocJester(final HavocJester card) { + super(card); + } + + @Override + public HavocJester copy() { + return new HavocJester(this); + } +} + +class HavocJesterTriggeredAbility extends TriggeredAbilityImpl { + + HavocJesterTriggeredAbility() { + super(Zone.BATTLEFIELD, new DamageTargetEffect(1)); + this.addTarget(new TargetAnyTarget()); + } + + private HavocJesterTriggeredAbility(final HavocJesterTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.SACRIFICED_PERMANENT; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + return event.getPlayerId().equals(getControllerId()); + } + + @Override + public HavocJesterTriggeredAbility copy() { + return new HavocJesterTriggeredAbility(this); + } + + @Override + public String getRule() { + return "Whenever you sacrifice a permanent, {this} deals 1 damage to any target."; + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2021.java b/Mage.Sets/src/mage/sets/CoreSet2021.java index a7402425fff..c57021280aa 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2021.java +++ b/Mage.Sets/src/mage/sets/CoreSet2021.java @@ -60,6 +60,7 @@ public final class CoreSet2021 extends ExpansionSet { cards.add(new SetCardInfo("Garruk's Warsteed", 337, Rarity.RARE, mage.cards.g.GarruksWarsteed.class)); cards.add(new SetCardInfo("Garruk, Savage Herald", 336, Rarity.MYTHIC, mage.cards.g.GarrukSavageHerald.class)); cards.add(new SetCardInfo("Grim Tutor", 103, Rarity.MYTHIC, mage.cards.g.GrimTutor.class)); + cards.add(new SetCardInfo("Havoc Jester", 149, Rarity.UNCOMMON, mage.cards.h.HavocJester.class)); cards.add(new SetCardInfo("Historian of Zhalfir", 325, Rarity.UNCOMMON, mage.cards.h.HistorianOfZhalfir.class)); cards.add(new SetCardInfo("Indulging Patrician", 219, Rarity.UNCOMMON, mage.cards.i.IndulgingPatrician.class)); cards.add(new SetCardInfo("Island", 310, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));