[AFR] Implemented Goblin Morningstar

This commit is contained in:
Evan Kranzler 2021-07-01 22:15:22 -04:00
parent f2f9a96fa2
commit c6d270e4e4
2 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.g;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenAttachSourceEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.RollDieWithResultTableEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.permanent.token.GoblinToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class GoblinMorningstar extends CardImpl {
public GoblinMorningstar(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{R}");
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature gets +1/+0 and has trample.
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(1, 0));
ability.addEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT));
this.addAbility(ability);
// Equip {1}{R}
this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{1}{R}")));
// When Goblin Morningstar enters the battlefield, roll a d20.
RollDieWithResultTableEffect effect = new RollDieWithResultTableEffect();
this.addAbility(new EntersBattlefieldTriggeredAbility(effect));
// 1-9 | Create a 1/1 red Goblin creature token.
effect.addTableEntry(1, 9, new CreateTokenEffect(new GoblinToken()));
// 10-20 | Create a 1/1 red Goblin creature token, then attach Goblin Morningstar more it.
effect.addTableEntry(10, 20, new CreateTokenAttachSourceEffect(new GoblinToken()));
}
private GoblinMorningstar(final GoblinMorningstar card) {
super(card);
}
@Override
public GoblinMorningstar copy() {
return new GoblinMorningstar(this);
}
}

View file

@ -68,6 +68,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
cards.add(new SetCardInfo("Froghemoth", 184, Rarity.RARE, mage.cards.f.Froghemoth.class));
cards.add(new SetCardInfo("Gloom Stalker", 16, Rarity.COMMON, mage.cards.g.GloomStalker.class));
cards.add(new SetCardInfo("Gnoll Hunter", 185, Rarity.COMMON, mage.cards.g.GnollHunter.class));
cards.add(new SetCardInfo("Goblin Morningstar", 145, Rarity.UNCOMMON, mage.cards.g.GoblinMorningstar.class));
cards.add(new SetCardInfo("Grazilaxx, Illithid Scholar", 60, Rarity.RARE, mage.cards.g.GrazilaxxIllithidScholar.class));
cards.add(new SetCardInfo("Green Dragon", 186, Rarity.UNCOMMON, mage.cards.g.GreenDragon.class));
cards.add(new SetCardInfo("Grim Wanderer", 107, Rarity.UNCOMMON, mage.cards.g.GrimWanderer.class));