[MID] added tokens and images support

This commit is contained in:
Oleg Agafonov 2022-02-05 12:22:39 +04:00
parent 9015b156e5
commit 54a1efec63
24 changed files with 141 additions and 86 deletions

View file

@ -13,7 +13,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.token.ConsumingBlobToken;
import mage.game.permanent.token.ConsumingBlobOozeToken;
import java.util.UUID;
@ -34,7 +34,7 @@ public final class ConsumingBlob extends CardImpl {
// At the beginning of your end step, create a green Ooze creature token with "This creature's power is equal to the number of card types among cards in your graveyard and its toughness is equal to that number plus 1".
this.addAbility(new BeginningOfEndStepTriggeredAbility(
new CreateTokenEffect(new ConsumingBlobToken()), TargetController.YOU, false)
new CreateTokenEffect(new ConsumingBlobOozeToken()), TargetController.YOU, false)
);
}

View file

@ -10,9 +10,8 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TimingRule;
import mage.game.Game;
import mage.game.permanent.token.HungryForMoreToken;
import mage.game.permanent.token.HungryForMoreVampireToken;
import mage.game.permanent.token.Token;
import mage.target.targetpointer.FixedTargets;
@ -63,7 +62,7 @@ class HungryForMoreEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Token token = new HungryForMoreToken();
Token token = new HungryForMoreVampireToken();
token.putOntoBattlefield(1, game, source, source.getControllerId());
game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(
new SacrificeTargetEffect().setTargetPointer(new FixedTargets(

View file

@ -2,16 +2,13 @@ package mage.cards.o;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.token.OminousRoostToken;
import mage.game.stack.Spell;
import mage.target.common.TargetNonlandPermanent;
import mage.game.permanent.token.OminousRoostBirdToken;
import java.util.UUID;
@ -40,7 +37,7 @@ public final class OminousRoost extends CardImpl {
class OminousRoostTriggeredAbility extends TriggeredAbilityImpl {
OminousRoostTriggeredAbility() {
super(Zone.ALL, new CreateTokenEffect(new OminousRoostToken()));
super(Zone.ALL, new CreateTokenEffect(new OminousRoostBirdToken()));
}
private OminousRoostTriggeredAbility(final OminousRoostTriggeredAbility ability) {

View file

@ -7,7 +7,7 @@ import mage.abilities.keyword.FlashbackAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.game.permanent.token.RiseOfTheAntsToken;
import mage.game.permanent.token.RiseOfTheAntsInsectToken;
import java.util.UUID;
@ -20,7 +20,7 @@ public final class RiseOfTheAnts extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}{G}");
// Create two 3/3 green Insect creature tokens. You gain 2 life.
this.getSpellAbility().addEffect(new CreateTokenEffect(new RiseOfTheAntsToken(), 2));
this.getSpellAbility().addEffect(new CreateTokenEffect(new RiseOfTheAntsInsectToken(), 2));
this.getSpellAbility().addEffect(new GainLifeEffect(2).concatBy("."));
// Flashback {6}{G}{G}

View file

@ -13,7 +13,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.token.SeizeTheStormToken;
import mage.game.permanent.token.SeizeTheStormElementalToken;
import mage.players.Player;
import java.util.UUID;
@ -32,7 +32,7 @@ public final class SeizeTheStorm extends CardImpl {
// Create a red Elemental creature token with trample and "This creature's power and toughness are each equal to the number of instant and sorcery cards in your graveyard, plus the number of cards with flashback you own in exile."
this.getSpellAbility().addEffect(new CreateTokenEffect(
new SeizeTheStormToken(SeizeTheStormValue.instance, hint)
new SeizeTheStormElementalToken(SeizeTheStormValue.instance, hint)
));
this.getSpellAbility().addHint(hint);

View file

@ -14,7 +14,7 @@ import mage.constants.*;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.command.emblems.WrennAndSevenEmblem;
import mage.game.permanent.token.WrennAndSevenToken;
import mage.game.permanent.token.WrennAndSevenTreefolkToken;
import mage.players.Player;
import mage.target.common.TargetCardInHand;
@ -41,7 +41,7 @@ public final class WrennAndSeven extends CardImpl {
this.addAbility(new LoyaltyAbility(new WrennAndSevenLandEffect(), 0));
// 3: Create a green Treefolk creature token with reach and "This creature's power and toughness are each equal to the number of lands you control."
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new WrennAndSevenToken()), -3));
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new WrennAndSevenTreefolkToken()), -3));
// 8: Return all permanent cards from your graveyard to your hand. You get an emblem with "You have no maximum hand size."
Ability ability = new LoyaltyAbility(new WrennAndSevenReturnEffect(), -8);