diff --git a/Mage.Sets/src/mage/cards/b/BrenardGingerSculptor.java b/Mage.Sets/src/mage/cards/b/BrenardGingerSculptor.java index 5e8a142e5ac..5a5f0df714f 100644 --- a/Mage.Sets/src/mage/cards/b/BrenardGingerSculptor.java +++ b/Mage.Sets/src/mage/cards/b/BrenardGingerSculptor.java @@ -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); diff --git a/Mage.Sets/src/mage/cards/c/CarrotCake.java b/Mage.Sets/src/mage/cards/c/CarrotCake.java index fea10dc1c2c..dbd1ba4c28e 100644 --- a/Mage.Sets/src/mage/cards/c/CarrotCake.java +++ b/Mage.Sets/src/mage/cards/c/CarrotCake.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/e/EriettesTemptingApple.java b/Mage.Sets/src/mage/cards/e/EriettesTemptingApple.java index 9711abc1f73..d659dd6e01f 100644 --- a/Mage.Sets/src/mage/cards/e/EriettesTemptingApple.java +++ b/Mage.Sets/src/mage/cards/e/EriettesTemptingApple.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/g/Gingerbrute.java b/Mage.Sets/src/mage/cards/g/Gingerbrute.java index b3b92fcc97c..c1fd73dc4b4 100644 --- a/Mage.Sets/src/mage/cards/g/Gingerbrute.java +++ b/Mage.Sets/src/mage/cards/g/Gingerbrute.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/g/GoldenEgg.java b/Mage.Sets/src/mage/cards/g/GoldenEgg.java index 6aa2dba566c..8bb4f7ec523 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenEgg.java +++ b/Mage.Sets/src/mage/cards/g/GoldenEgg.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/g/GourmandsTalent.java b/Mage.Sets/src/mage/cards/g/GourmandsTalent.java index 71c95175598..00339144a18 100644 --- a/Mage.Sets/src/mage/cards/g/GourmandsTalent.java +++ b/Mage.Sets/src/mage/cards/g/GourmandsTalent.java @@ -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; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/h/HeapedHarvest.java b/Mage.Sets/src/mage/cards/h/HeapedHarvest.java index 55d52307517..a1e5fe4725c 100644 --- a/Mage.Sets/src/mage/cards/h/HeapedHarvest.java +++ b/Mage.Sets/src/mage/cards/h/HeapedHarvest.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/i/InstantRamen.java b/Mage.Sets/src/mage/cards/i/InstantRamen.java new file mode 100644 index 00000000000..ddcece335cb --- /dev/null +++ b/Mage.Sets/src/mage/cards/i/InstantRamen.java @@ -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); + } +} diff --git a/Mage.Sets/src/mage/cards/k/KrovodHaunch.java b/Mage.Sets/src/mage/cards/k/KrovodHaunch.java index f216e6c6bc9..ba7128a2889 100644 --- a/Mage.Sets/src/mage/cards/k/KrovodHaunch.java +++ b/Mage.Sets/src/mage/cards/k/KrovodHaunch.java @@ -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( diff --git a/Mage.Sets/src/mage/cards/l/Lembas.java b/Mage.Sets/src/mage/cards/l/Lembas.java index ac3e80eed4a..4a746335157 100644 --- a/Mage.Sets/src/mage/cards/l/Lembas.java +++ b/Mage.Sets/src/mage/cards/l/Lembas.java @@ -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( diff --git a/Mage.Sets/src/mage/cards/s/ShelobChildOfUngoliant.java b/Mage.Sets/src/mage/cards/s/ShelobChildOfUngoliant.java index 51cd8a005ce..e55e73b6798 100644 --- a/Mage.Sets/src/mage/cards/s/ShelobChildOfUngoliant.java +++ b/Mage.Sets/src/mage/cards/s/ShelobChildOfUngoliant.java @@ -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); } } diff --git a/Mage.Sets/src/mage/cards/s/SugarCoat.java b/Mage.Sets/src/mage/cards/s/SugarCoat.java index 03f58ae25ca..dbd0c43030e 100644 --- a/Mage.Sets/src/mage/cards/s/SugarCoat.java +++ b/Mage.Sets/src/mage/cards/s/SugarCoat.java @@ -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; } } - diff --git a/Mage.Sets/src/mage/cards/t/ToughCookie.java b/Mage.Sets/src/mage/cards/t/ToughCookie.java index 0e7eaa28916..e7ef120c870 100644 --- a/Mage.Sets/src/mage/cards/t/ToughCookie.java +++ b/Mage.Sets/src/mage/cards/t/ToughCookie.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/y/YgraEaterOfAll.java b/Mage.Sets/src/mage/cards/y/YgraEaterOfAll.java index 99e53ef30ea..30f3321fe66 100644 --- a/Mage.Sets/src/mage/cards/y/YgraEaterOfAll.java +++ b/Mage.Sets/src/mage/cards/y/YgraEaterOfAll.java @@ -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; } } diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index c3fab586f89..d8cdc7e7ab9 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -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)); diff --git a/Mage/src/main/java/mage/abilities/token/FoodAbility.java b/Mage/src/main/java/mage/abilities/token/FoodAbility.java index ce58c9c0259..122ba2eee46 100644 --- a/Mage/src/main/java/mage/abilities/token/FoodAbility.java +++ b/Mage/src/main/java/mage/abilities/token/FoodAbility.java @@ -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); } - + } diff --git a/Mage/src/main/java/mage/game/permanent/token/FoodToken.java b/Mage/src/main/java/mage/game/permanent/token/FoodToken.java index 8e79edfae4a..18eb4b0ac34 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FoodToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FoodToken.java @@ -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) {