forked from External/mage
[MOM] Implement Herbology Instructor / Malady Invoker
This commit is contained in:
parent
a60b1cc835
commit
c1919a15da
3 changed files with 104 additions and 0 deletions
47
Mage.Sets/src/mage/cards/h/HerbologyInstructor.java
Normal file
47
Mage.Sets/src/mage/cards/h/HerbologyInstructor.java
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
package mage.cards.h;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.TransformSourceEffect;
|
||||
import mage.abilities.keyword.TransformAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class HerbologyInstructor extends CardImpl {
|
||||
|
||||
public HerbologyInstructor(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||
|
||||
this.subtype.add(SubType.TREEFOLK);
|
||||
this.subtype.add(SubType.DRUID);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(3);
|
||||
this.secondSideCardClazz = mage.cards.m.MaladyInvoker.class;
|
||||
|
||||
// When Herbology Instructor enters the battlefield, you gain 3 life.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)));
|
||||
|
||||
// {6}{B/P}: Transform Herbology Instructor. Activate only as a sorcery.
|
||||
this.addAbility(new TransformAbility());
|
||||
this.addAbility(new ActivateAsSorceryActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{6}{B/P}")));
|
||||
}
|
||||
|
||||
private HerbologyInstructor(final HerbologyInstructor card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HerbologyInstructor copy() {
|
||||
return new HerbologyInstructor(this);
|
||||
}
|
||||
}
|
||||
55
Mage.Sets/src/mage/cards/m/MaladyInvoker.java
Normal file
55
Mage.Sets/src/mage/cards/m/MaladyInvoker.java
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.TransformIntoSourceTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.SignInversionDynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.SourcePermanentPowerCount;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class MaladyInvoker extends CardImpl {
|
||||
|
||||
private static final DynamicValue xValue
|
||||
= new SignInversionDynamicValue(new SourcePermanentPowerCount(false));
|
||||
|
||||
public MaladyInvoker(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
|
||||
|
||||
this.subtype.add(SubType.PHYREXIAN);
|
||||
this.subtype.add(SubType.TREEFOLK);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.color.setBlack(true);
|
||||
this.color.setGreen(true);
|
||||
this.nightCard = true;
|
||||
|
||||
// When this creature transforms into Malady Invoker, target creature an opponent controls gets -0/-X until end of turn, where X is Malady Invoker's power.
|
||||
Ability ability = new TransformIntoSourceTriggeredAbility(new BoostTargetEffect(
|
||||
StaticValue.get(0), xValue, Duration.EndOfTurn
|
||||
).setText("target creature an opponent controls gets -0/-X until end of turn, where X is {this}'s power"));
|
||||
ability.addTarget(new TargetOpponentsCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private MaladyInvoker(final MaladyInvoker card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaladyInvoker copy() {
|
||||
return new MaladyInvoker(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -98,6 +98,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Harried Artisan", 143, Rarity.UNCOMMON, mage.cards.h.HarriedArtisan.class));
|
||||
cards.add(new SetCardInfo("Heliod, the Radiant Dawn", 17, Rarity.RARE, mage.cards.h.HeliodTheRadiantDawn.class));
|
||||
cards.add(new SetCardInfo("Heliod, the Warped Eclipse", 17, Rarity.RARE, mage.cards.h.HeliodTheWarpedEclipse.class));
|
||||
cards.add(new SetCardInfo("Herbology Instructor", 189, Rarity.UNCOMMON, mage.cards.h.HerbologyInstructor.class));
|
||||
cards.add(new SetCardInfo("Ichor Drinker", 111, Rarity.COMMON, mage.cards.i.IchorDrinker.class));
|
||||
cards.add(new SetCardInfo("Infected Defector", 18, Rarity.COMMON, mage.cards.i.InfectedDefector.class));
|
||||
cards.add(new SetCardInfo("Injector Crocodile", 329, Rarity.COMMON, mage.cards.i.InjectorCrocodile.class));
|
||||
|
|
@ -116,6 +117,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Kor Halberd", 27, Rarity.COMMON, mage.cards.k.KorHalberd.class));
|
||||
cards.add(new SetCardInfo("Kroxa and Kunoros", 245, Rarity.MYTHIC, mage.cards.k.KroxaAndKunoros.class));
|
||||
cards.add(new SetCardInfo("Lithomantic Barrage", 152, Rarity.UNCOMMON, mage.cards.l.LithomanticBarrage.class));
|
||||
cards.add(new SetCardInfo("Malady Invoker", 189, Rarity.UNCOMMON, mage.cards.m.MaladyInvoker.class));
|
||||
cards.add(new SetCardInfo("Marauding Dreadship", 153, Rarity.COMMON, mage.cards.m.MaraudingDreadship.class));
|
||||
cards.add(new SetCardInfo("Marshal of Zhalfir", 246, Rarity.UNCOMMON, mage.cards.m.MarshalOfZhalfir.class));
|
||||
cards.add(new SetCardInfo("Meeting of Minds", 66, Rarity.COMMON, mage.cards.m.MeetingOfMinds.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue