mirror of
https://github.com/magefree/mage.git
synced 2026-01-24 12:19:59 -08:00
[ECL] Implement Mistmeadow Council (#14198)
* [ECL] Implement Mistmeadow Council * Clean up cost reduction implementation across a few cards to be consistent
This commit is contained in:
parent
32d1cf3e43
commit
7bf97179c8
4 changed files with 66 additions and 11 deletions
|
|
@ -9,16 +9,14 @@ import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
|||
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||
import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect;
|
||||
import mage.abilities.hint.ConditionHint;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static mage.filter.StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE;
|
||||
|
|
@ -28,11 +26,10 @@ import static mage.filter.StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE;
|
|||
*/
|
||||
public final class AcademyJourneymage extends CardImpl {
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control a Wizard");
|
||||
|
||||
static {
|
||||
filter.add(SubType.WIZARD.getPredicate());
|
||||
}
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterControlledPermanent(SubType.WIZARD, "you control a Wizard")
|
||||
);
|
||||
private static final Hint hint = new ConditionHint(condition, "You control a Wizard");
|
||||
|
||||
public AcademyJourneymage(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}");
|
||||
|
|
@ -42,10 +39,9 @@ public final class AcademyJourneymage extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// This spell costs {1} less to cast if you control a Wizard.
|
||||
Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
|
||||
Ability ability = new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(1, condition));
|
||||
ability.setRuleAtTheTop(true);
|
||||
ability.addHint(new ConditionHint(condition, "You control a Wizard"));
|
||||
ability.addHint(hint);
|
||||
this.addAbility(ability);
|
||||
|
||||
// When Academy Journeymage enters the battlefield, return target creature an opponent controls to its owner's hand.
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import java.util.UUID;
|
|||
public final class DraconicLore extends CardImpl {
|
||||
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterControlledPermanent(SubType.DRAGON, "you control a Dragon")
|
||||
new FilterControlledPermanent(SubType.DRAGON, "you control a Dragon")
|
||||
);
|
||||
private static final Hint hint = new ConditionHint(condition, "You control a Dragon");
|
||||
|
||||
|
|
|
|||
58
Mage.Sets/src/mage/cards/m/MistmeadowCouncil.java
Normal file
58
Mage.Sets/src/mage/cards/m/MistmeadowCouncil.java
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect;
|
||||
import mage.abilities.hint.ConditionHint;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author muz
|
||||
*/
|
||||
public final class MistmeadowCouncil extends CardImpl {
|
||||
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterControlledPermanent(SubType.KITHKIN, "you control a Kithkin")
|
||||
);
|
||||
private static final Hint hint = new ConditionHint(condition, "You control a Kithkin");
|
||||
|
||||
public MistmeadowCouncil(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}");
|
||||
|
||||
this.subtype.add(SubType.KITHKIN);
|
||||
this.subtype.add(SubType.ADVISOR);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// This spell costs {1} less to cast if you control a Kithkin.
|
||||
Ability ability = new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(1, condition));
|
||||
ability.setRuleAtTheTop(true);
|
||||
ability.addHint(hint);
|
||||
this.addAbility(ability);
|
||||
|
||||
// When this creature enters, draw a card.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
|
||||
}
|
||||
|
||||
private MistmeadowCouncil(final MistmeadowCouncil card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MistmeadowCouncil copy() {
|
||||
return new MistmeadowCouncil(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -193,6 +193,7 @@ public final class LorwynEclipsed extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Midnight Tilling", 182, Rarity.COMMON, mage.cards.m.MidnightTilling.class));
|
||||
cards.add(new SetCardInfo("Mirrorform", 308, Rarity.MYTHIC, mage.cards.m.Mirrorform.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mirrorform", 59, Rarity.MYTHIC, mage.cards.m.Mirrorform.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mistmeadow Council", 183, Rarity.COMMON, mage.cards.m.MistmeadowCouncil.class));
|
||||
cards.add(new SetCardInfo("Moonglove Extractor", 109, Rarity.COMMON, mage.cards.m.MoongloveExtractor.class));
|
||||
cards.add(new SetCardInfo("Morningtide's Light", 27, Rarity.MYTHIC, mage.cards.m.MorningtidesLight.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Morningtide's Light", 301, Rarity.MYTHIC, mage.cards.m.MorningtidesLight.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue