[40K] Implemented Mutalith Vortex Beast

This commit is contained in:
Evan Kranzler 2022-09-22 08:43:16 -04:00
parent 58d30af515
commit 28137cedeb
2 changed files with 84 additions and 0 deletions

View file

@ -0,0 +1,83 @@
package mage.cards.m;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.Game;
import mage.players.Player;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MutalithVortexBeast extends CardImpl {
public MutalithVortexBeast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{R}");
this.subtype.add(SubType.MUTANT);
this.subtype.add(SubType.BEAST);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// Trample
this.addAbility(TrampleAbility.getInstance());
// Warp Vortex -- When Mutalith Vortex Beast enters the battlefield, flip a coin for each opponent you have. For each flip you win, draw a card. For each flip you lose, Mutalith Vortex Beast deals 3 damage to that player.
this.addAbility(new EntersBattlefieldTriggeredAbility(new MutalithVortexBeastEffect()).withFlavorWord("Warp Vortex"));
}
private MutalithVortexBeast(final MutalithVortexBeast card) {
super(card);
}
@Override
public MutalithVortexBeast copy() {
return new MutalithVortexBeast(this);
}
}
class MutalithVortexBeastEffect extends OneShotEffect {
MutalithVortexBeastEffect() {
super(Outcome.Benefit);
staticText = "flip a coin for each opponent you have. For each flip you win, draw a card. " +
"For each flip you lose, {this} deals 3 damage to that player";
}
private MutalithVortexBeastEffect(final MutalithVortexBeastEffect effect) {
super(effect);
}
@Override
public MutalithVortexBeastEffect copy() {
return new MutalithVortexBeastEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
if (player == null) {
return false;
}
for (UUID opponentId : game.getOpponents(source.getControllerId())) {
if (player.flipCoin(source, game, true)) {
player.drawCards(1, source, game);
continue;
}
Player opponent = game.getPlayer(opponentId);
if (opponent != null) {
opponent.damage(3, source, game);
}
}
return true;
}
}

View file

@ -135,6 +135,7 @@ public final class Warhammer40000 extends ExpansionSet {
cards.add(new SetCardInfo("Molten Slagheap", 284, Rarity.UNCOMMON, mage.cards.m.MoltenSlagheap.class));
cards.add(new SetCardInfo("Mortify", 225, Rarity.UNCOMMON, mage.cards.m.Mortify.class));
cards.add(new SetCardInfo("Mountain", 315, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mutalith Vortex Beast", 134, Rarity.RARE, mage.cards.m.MutalithVortexBeast.class));
cards.add(new SetCardInfo("Mutilate", 203, Rarity.RARE, mage.cards.m.Mutilate.class));
cards.add(new SetCardInfo("Myriad Landscape", 285, Rarity.UNCOMMON, mage.cards.m.MyriadLandscape.class));
cards.add(new SetCardInfo("Mystic Forge", 246, Rarity.RARE, mage.cards.m.MysticForge.class));