mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[FIN] Implement Instant Ramen
This commit is contained in:
parent
2ea3278bdd
commit
94e579543c
17 changed files with 62 additions and 19 deletions
|
|
@ -108,7 +108,7 @@ class BrenardGingerSculptorEffect extends OneShotEffect {
|
|||
effect.setBecomesArtifact(true);
|
||||
effect.withAdditionalSubType(SubType.FOOD);
|
||||
effect.withAdditionalSubType(SubType.GOLEM);
|
||||
effect.addAdditionalAbilities(new FoodAbility(false));
|
||||
effect.addAdditionalAbilities(new FoodAbility());
|
||||
|
||||
player.moveCards(card, Zone.EXILED, source, game);
|
||||
effect.apply(game, source);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class CarrotCake extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}, {T}, Sacrifice Carrot Cake: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private CarrotCake(final CarrotCake card) {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class EriettesTemptingApple extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}, {T}, Sacrifice Eriette's Tempting Apple: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
|
||||
// {2}, {T}, Sacrifice Eriette's Tempting Apple: Target opponent loses 3 life.
|
||||
ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(3), new GenericManaCost(2));
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public final class Gingerbrute extends CardImpl {
|
|||
));
|
||||
|
||||
// {2}, {T}, Sacrifice Gingerbrute: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private Gingerbrute(final Gingerbrute card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GoldenEgg extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}, {T}, Sacrifice Golden Egg: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private GoldenEgg(final GoldenEgg card) {
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class GourmandsTalentEffect extends ContinuousEffectImpl {
|
|||
permanent.addSubType(game, SubType.FOOD);
|
||||
break;
|
||||
case AbilityAddingRemovingEffects_6:
|
||||
permanent.addAbility(new FoodAbility(true), source.getSourceId(), game);
|
||||
permanent.addAbility(new FoodAbility(), source.getSourceId(), game);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -113,4 +113,4 @@ class GourmandsTalentEffect extends ContinuousEffectImpl {
|
|||
public boolean hasLayer(Layer layer) {
|
||||
return layer == Layer.TypeChangingEffects_4 || layer == Layer.AbilityAddingRemovingEffects_6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class HeapedHarvest extends CardImpl {
|
|||
));
|
||||
|
||||
// {2}, {T}, Sacrifice Heaped Harvest: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private HeapedHarvest(final HeapedHarvest card) {
|
||||
|
|
|
|||
42
Mage.Sets/src/mage/cards/i/InstantRamen.java
Normal file
42
Mage.Sets/src/mage/cards/i/InstantRamen.java
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package mage.cards.i;
|
||||
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.keyword.FlashAbility;
|
||||
import mage.abilities.token.FoodAbility;
|
||||
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 InstantRamen extends CardImpl {
|
||||
|
||||
public InstantRamen(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
|
||||
|
||||
this.subtype.add(SubType.FOOD);
|
||||
|
||||
// Flash
|
||||
this.addAbility(FlashAbility.getInstance());
|
||||
|
||||
// When this artifact enters, draw a card.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
|
||||
|
||||
// {2}, {T}, Sacrifice this artifact: You gain 3 life.
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private InstantRamen(final InstantRamen card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstantRamen copy() {
|
||||
return new InstantRamen(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ public final class KrovodHaunch extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 0)));
|
||||
|
||||
// {2}, {T}, Sacrifice Krovod Haunch: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
|
||||
// When Krovod Haunch is put into a graveyard from the battlefield, you may pay {1}{W}. If you do, create two 1/1 white Dog creature tokens.
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class Lembas extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}, {T}, Sacrifice Lembas: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
|
||||
// When Lembas is put into a graveyard from the battlefield, its owner shuffles it into their library.
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ class ShelobChildOfUngoliantEffect extends OneShotEffect {
|
|||
token.addSubType(SubType.FOOD);
|
||||
|
||||
// {2}, {T}, Sacrifice this artifact: You gain 3 life.
|
||||
token.addAbility(new FoodAbility(false));
|
||||
token.addAbility(new FoodAbility());
|
||||
}).apply(game, source);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public final class SugarCoat extends CardImpl {
|
|||
// Based on MinimusContainmentEffect
|
||||
class SugarCoatEffect extends ContinuousEffectImpl {
|
||||
|
||||
private static final Ability ability = new FoodAbility(false);
|
||||
private static final Ability ability = new FoodAbility();
|
||||
|
||||
SugarCoatEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.LoseAbility);
|
||||
|
|
@ -112,4 +112,3 @@ class SugarCoatEffect extends ContinuousEffectImpl {
|
|||
return layer == Layer.TypeChangingEffects_4 || layer == Layer.AbilityAddingRemovingEffects_6;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public final class ToughCookie extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// {2}, {T}, Sacrifice Tough Cookie: You gain 3 life.
|
||||
this.addAbility(new FoodAbility(true));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private ToughCookie(final ToughCookie card) {
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class YgraEaterOfAllEffect extends ContinuousEffectImpl {
|
|||
permanent.addSubType(game, SubType.FOOD);
|
||||
break;
|
||||
case AbilityAddingRemovingEffects_6:
|
||||
permanent.addAbility(new FoodAbility(true), source.getSourceId(), game);
|
||||
permanent.addAbility(new FoodAbility(), source.getSourceId(), game);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ public final class FinalFantasy extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 385, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 458, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 530, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Instant Ramen", 259, Rarity.COMMON, mage.cards.i.InstantRamen.class));
|
||||
cards.add(new SetCardInfo("Ishgard, the Holy See", 283, Rarity.RARE, mage.cards.i.IshgardTheHolySee.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ishgard, the Holy See", 310, Rarity.RARE, mage.cards.i.IshgardTheHolySee.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Island", 297, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -9,11 +9,12 @@ import mage.constants.Zone;
|
|||
|
||||
public class FoodAbility extends ActivatedAbilityImpl {
|
||||
|
||||
public FoodAbility(boolean named) {
|
||||
public FoodAbility() {
|
||||
super(Zone.BATTLEFIELD, new GainLifeEffect(3), new GenericManaCost(2));
|
||||
|
||||
// {2}, {T}, Sacrifice this artifact: You gain 3 life.”
|
||||
this.addCost(new TapSourceCost());
|
||||
this.addCost(new SacrificeSourceCost().setText("sacrifice " + (named ? "{this}" : "this artifact")));
|
||||
this.addCost(new SacrificeSourceCost());
|
||||
}
|
||||
|
||||
private FoodAbility(final FoodAbility ability) {
|
||||
|
|
@ -24,5 +25,5 @@ public class FoodAbility extends ActivatedAbilityImpl {
|
|||
public FoodAbility copy() {
|
||||
return new FoodAbility(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public final class FoodToken extends TokenImpl {
|
|||
cardType.add(CardType.ARTIFACT);
|
||||
subtype.add(SubType.FOOD);
|
||||
|
||||
this.addAbility(new FoodAbility(false));
|
||||
this.addAbility(new FoodAbility());
|
||||
}
|
||||
|
||||
private FoodToken(final FoodToken token) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue