mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
[MID] Implemented Brimstone Vandal
This commit is contained in:
parent
10655b9a36
commit
586fd51179
4 changed files with 144 additions and 1 deletions
48
Mage.Sets/src/mage/cards/b/BrimstoneVandal.java
Normal file
48
Mage.Sets/src/mage/cards/b/BrimstoneVandal.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public final class InnistradMidnightHunt extends ExpansionSet {
|
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();
|
private static final InnistradMidnightHunt instance = new InnistradMidnightHunt();
|
||||||
|
|
||||||
public static InnistradMidnightHunt getInstance() {
|
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("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("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("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("Candlegrove Witch", 8, Rarity.COMMON, mage.cards.c.CandlegroveWitch.class));
|
||||||
cards.add(new SetCardInfo("Candlelit Cavalry", 175, Rarity.COMMON, mage.cards.c.CandlelitCavalry.class));
|
cards.add(new SetCardInfo("Candlelit Cavalry", 175, Rarity.COMMON, mage.cards.c.CandlelitCavalry.class));
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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, ";
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue