mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 04:42:07 -08:00
[FDN] Implement Midnight Snack
This commit is contained in:
parent
0563802da5
commit
44063a5ed8
2 changed files with 62 additions and 0 deletions
61
Mage.Sets/src/mage/cards/m/MidnightSnack.java
Normal file
61
Mage.Sets/src/mage/cards/m/MidnightSnack.java
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.condition.common.RaidCondition;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.common.ControllerGainedLifeCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.LoseLifeTargetEffect;
|
||||
import mage.abilities.hint.common.RaidHint;
|
||||
import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.AbilityWord;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.permanent.token.FoodToken;
|
||||
import mage.target.common.TargetOpponent;
|
||||
import mage.watchers.common.PlayerAttackedWatcher;
|
||||
import mage.watchers.common.PlayerGainedLifeWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ciaccona007
|
||||
*/
|
||||
public final class MidnightSnack extends CardImpl {
|
||||
|
||||
public MidnightSnack(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
|
||||
|
||||
|
||||
// Raid -- At the beginning of your end step, if you attacked this turn, create a Food token.
|
||||
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
||||
new CreateTokenEffect(new FoodToken())
|
||||
).withInterveningIf(RaidCondition.instance);
|
||||
this.addAbility(ability.setAbilityWord(AbilityWord.RAID).addHint(RaidHint.instance), new PlayerAttackedWatcher());
|
||||
|
||||
// {2}{B}, Sacrifice this enchantment: Target opponent loses X life, where X is the amount of life you gained this turn.
|
||||
Ability sacrificeAbility = new SimpleActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new LoseLifeTargetEffect(ControllerGainedLifeCount.instance),
|
||||
new ManaCostsImpl<>("{2}{B}")
|
||||
);
|
||||
sacrificeAbility.addCost(new SacrificeSourceCost());
|
||||
sacrificeAbility.addTarget(new TargetOpponent());
|
||||
ability.addHint(ControllerGainedLifeCount.getHint());
|
||||
this.addAbility(sacrificeAbility, new PlayerGainedLifeWatcher());
|
||||
}
|
||||
|
||||
private MidnightSnack(final MidnightSnack card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MidnightSnack copy() {
|
||||
return new MidnightSnack(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -325,6 +325,7 @@ public final class Foundations extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Meteor Golem", 256, Rarity.UNCOMMON, mage.cards.m.MeteorGolem.class));
|
||||
cards.add(new SetCardInfo("Micromancer", 158, Rarity.UNCOMMON, mage.cards.m.Micromancer.class));
|
||||
cards.add(new SetCardInfo("Midnight Reaper", 609, Rarity.RARE, mage.cards.m.MidnightReaper.class));
|
||||
cards.add(new SetCardInfo("Midnight Snack", 65, Rarity.UNCOMMON, mage.cards.m.MidnightSnack.class));
|
||||
cards.add(new SetCardInfo("Mild-Mannered Librarian", 228, Rarity.UNCOMMON, mage.cards.m.MildManneredLibrarian.class));
|
||||
cards.add(new SetCardInfo("Mindsparker", 628, Rarity.UNCOMMON, mage.cards.m.Mindsparker.class));
|
||||
cards.add(new SetCardInfo("Mischievous Mystic", 47, Rarity.UNCOMMON, mage.cards.m.MischievousMystic.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue