mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
[MOM] Implement Thalia and The Gitrog Monster
This commit is contained in:
parent
fc53a4f67e
commit
cb814824e6
2 changed files with 82 additions and 0 deletions
81
Mage.Sets/src/mage/cards/t/ThaliaAndTheGitrogMonster.java
Normal file
81
Mage.Sets/src/mage/cards/t/ThaliaAndTheGitrogMonster.java
Normal file
|
@ -0,0 +1,81 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.PermanentsEnterBattlefieldTappedEffect;
|
||||
import mage.abilities.effects.common.SacrificeControllerEffect;
|
||||
import mage.abilities.effects.common.continuous.PlayAdditionalLandsControllerEffect;
|
||||
import mage.abilities.keyword.DeathtouchAbility;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.predicate.Predicates;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ThaliaAndTheGitrogMonster extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterPermanent("creatures and nonbasic lands your opponents control");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
CardType.CREATURE.getPredicate(),
|
||||
Predicates.and(
|
||||
Predicates.not(SuperType.BASIC.getPredicate()),
|
||||
CardType.LAND.getPredicate()
|
||||
)
|
||||
));
|
||||
filter.add(TargetController.OPPONENT.getControllerPredicate());
|
||||
}
|
||||
|
||||
public ThaliaAndTheGitrogMonster(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}{G}");
|
||||
|
||||
this.addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.FROG);
|
||||
this.subtype.add(SubType.HORROR);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// First strike
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Deathtouch
|
||||
this.addAbility(DeathtouchAbility.getInstance());
|
||||
|
||||
// You may play an additional land on each of your turns.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield)
|
||||
));
|
||||
|
||||
// Creatures and nonbasic lands your opponents control enter the battlefield tapped.
|
||||
this.addAbility(new SimpleStaticAbility(new PermanentsEnterBattlefieldTappedEffect(filter)));
|
||||
|
||||
// Whenever Thalia and The Gitrog Monster attacks, sacrifice a creature or land, then draw a card.
|
||||
Ability ability = new AttacksTriggeredAbility(new SacrificeControllerEffect(
|
||||
StaticFilters.FILTER_CONTROLLED_ARTIFACT_OR_CREATURE_SHORT_TEXT, 1, null
|
||||
));
|
||||
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private ThaliaAndTheGitrogMonster(final ThaliaAndTheGitrogMonster card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ThaliaAndTheGitrogMonster copy() {
|
||||
return new ThaliaAndTheGitrogMonster(this);
|
||||
}
|
||||
}
|
|
@ -310,6 +310,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Temporal Cleansing", 80, Rarity.COMMON, mage.cards.t.TemporalCleansing.class));
|
||||
cards.add(new SetCardInfo("Tenured Oilcaster", 126, Rarity.COMMON, mage.cards.t.TenuredOilcaster.class));
|
||||
cards.add(new SetCardInfo("Terror of Towashi", 331, Rarity.RARE, mage.cards.t.TerrorOfTowashi.class));
|
||||
cards.add(new SetCardInfo("Thalia and The Gitrog Monster", 255, Rarity.MYTHIC, mage.cards.t.ThaliaAndTheGitrogMonster.class));
|
||||
cards.add(new SetCardInfo("The Argent Etchings", 12, Rarity.MYTHIC, mage.cards.t.TheArgentEtchings.class));
|
||||
cards.add(new SetCardInfo("The Broken Sky", 241, Rarity.RARE, mage.cards.t.TheBrokenSky.class));
|
||||
cards.add(new SetCardInfo("The Grand Evolution", 213, Rarity.MYTHIC, mage.cards.t.TheGrandEvolution.class));
|
||||
|
|
Loading…
Reference in a new issue