[MID] Implemented Brimstone Vandal

This commit is contained in:
Evan Kranzler 2021-09-06 19:25:45 -04:00
parent 10655b9a36
commit 586fd51179
4 changed files with 144 additions and 1 deletions

View file

@ -0,0 +1,48 @@
package mage.cards.b;
import mage.MageInt;
import mage.abilities.common.BecomeDayAsEntersAbility;
import mage.abilities.common.BecomesDayOrNightTriggeredAbility;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.keyword.MenaceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BrimstoneVandal extends CardImpl {
public BrimstoneVandal(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.DEVIL);
this.power = new MageInt(2);
this.toughness = new MageInt(3);
// Menace
this.addAbility(new MenaceAbility());
// If it's neither day nor night, it becomes day as Brimstone Vandal enters the battlefield.
this.addAbility(new BecomeDayAsEntersAbility());
// Whenever day becomes night or night becomes day, Brimstone Vandal deals 1 damage to each opponent.
this.addAbility(new BecomesDayOrNightTriggeredAbility(
new DamagePlayersEffect(1, TargetController.OPPONENT)
));
}
private BrimstoneVandal(final BrimstoneVandal card) {
super(card);
}
@Override
public BrimstoneVandal copy() {
return new BrimstoneVandal(this);
}
}

View file

@ -12,7 +12,7 @@ import java.util.List;
*/
public final class InnistradMidnightHunt extends ExpansionSet {
private static final List<String> unfinished = Arrays.asList("Arlinn, the Pack's Hope", "Arlinn, the Moon's Fury", "Brutal Cathar", "Moonrage Brute", "Curse of Leeches", "Leeching Lurker", "Graveyard Trespasser", "Graveyard Glutton", "Kessig Naturalist", "Lord of the Ulvenwald", "Tavern Ruffian", "Tavern Smasher", "Tovolar, Dire Overlord", "Tovolar, the Midnight Scourge", "Village Watch", "Village Reavers");
private static final List<String> unfinished = Arrays.asList("Arlinn, the Pack's Hope", "Arlinn, the Moon's Fury", "Brimstone Vandal", "Brutal Cathar", "Moonrage Brute", "Celestus Sanctifier", "Curse of Leeches", "Leeching Lurker", "Gavony Dawnguard", "Graveyard Trespasser", "Graveyard Glutton", "Kessig Naturalist", "Lord of the Ulvenwald", "Tavern Ruffian", "Tavern Smasher", "The Celestus", "Tovolar, Dire Overlord", "Tovolar, the Midnight Scourge", "Village Watch", "Village Reavers");
private static final InnistradMidnightHunt instance = new InnistradMidnightHunt();
public static InnistradMidnightHunt getInstance() {
@ -33,6 +33,7 @@ public final class InnistradMidnightHunt extends ExpansionSet {
cards.add(new SetCardInfo("Arrogant Outlaw", 84, Rarity.COMMON, mage.cards.a.ArrogantOutlaw.class));
cards.add(new SetCardInfo("Bladestitched Skaab", 212, Rarity.UNCOMMON, mage.cards.b.BladestitchedSkaab.class));
cards.add(new SetCardInfo("Brimstone Vandal", 130, Rarity.COMMON, mage.cards.b.BrimstoneVandal.class));
cards.add(new SetCardInfo("Can't Stay Away", 368, Rarity.RARE, mage.cards.c.CantStayAway.class));
cards.add(new SetCardInfo("Candlegrove Witch", 8, Rarity.COMMON, mage.cards.c.CandlegroveWitch.class));
cards.add(new SetCardInfo("Candlelit Cavalry", 175, Rarity.COMMON, mage.cards.c.CandlelitCavalry.class));

View file

@ -0,0 +1,52 @@
package mage.abilities.common;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
import mage.game.Game;
/**
* @author TheElk801
* TODO: this is just a placeholder for the actual ability
*/
public class BecomeDayAsEntersAbility extends EntersBattlefieldAbility {
public BecomeDayAsEntersAbility() {
super(new BecomeDayEffect());
}
private BecomeDayAsEntersAbility(final BecomeDayAsEntersAbility ability) {
super(ability);
}
@Override
public BecomeDayAsEntersAbility copy() {
return new BecomeDayAsEntersAbility(this);
}
@Override
public String getRule() {
return "If it's neither day nor night, it becomes day as {this} enters the battlefield.";
}
}
class BecomeDayEffect extends OneShotEffect {
BecomeDayEffect() {
super(Outcome.Benefit);
}
private BecomeDayEffect(final BecomeDayEffect effect) {
super(effect);
}
@Override
public BecomeDayEffect copy() {
return new BecomeDayEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
return true;
}
}

View file

@ -0,0 +1,42 @@
package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
/**
* @author TheElk801
* TODO: this is just a placeholder for the actual ability
*/
public class BecomesDayOrNightTriggeredAbility extends TriggeredAbilityImpl {
public BecomesDayOrNightTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
}
private BecomesDayOrNightTriggeredAbility(final BecomesDayOrNightTriggeredAbility ability) {
super(ability);
}
@Override
public boolean checkEventType(GameEvent event, Game game) {
return false;
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return true;
}
@Override
public BecomesDayOrNightTriggeredAbility copy() {
return new BecomesDayOrNightTriggeredAbility(this);
}
@Override
public String getTriggerPhrase() {
return "Whenever day becomes night or night becomes day, ";
}
}