Implemented Izoni, Thousand-Eyed

This commit is contained in:
Evan Kranzler 2018-09-10 21:46:04 -04:00
parent d6739f9073
commit f433d7c006
3 changed files with 105 additions and 0 deletions

View file

@ -0,0 +1,72 @@
package mage.cards.i;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.permanent.token.IzoniInsectToken;
import mage.target.common.TargetControlledPermanent;
/**
*
* @author TheElk801
*/
public final class IzoniThousandEyed extends CardImpl {
public IzoniThousandEyed(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}{G}{G}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELF);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(2);
this.toughness = new MageInt(3);
// Undergrowth When Izoni, Thousand-Eyed enters the battlefield, create a 1/1 black and green Insect creature token for each creature card in your graveyard.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new CreateTokenEffect(
new IzoniInsectToken(),
new CardsInControllerGraveyardCount(
StaticFilters.FILTER_CARD_CREATURE
)
), false, "<i>Undergrowth</i> &mdash; "
));
// {B}{G}, Sacrifice another creature: You gain 1 life and draw a card.
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new GainLifeEffect(1),
new ManaCostsImpl("{B}{G}")
);
ability.addEffect(
new DrawCardSourceControllerEffect(1).setText("and draw a card")
);
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE
)));
this.addAbility(ability);
}
public IzoniThousandEyed(final IzoniThousandEyed card) {
super(card);
}
@Override
public IzoniThousandEyed copy() {
return new IzoniThousandEyed(this);
}
}

View file

@ -46,6 +46,7 @@ public final class GuildsOfRavnica extends ExpansionSet {
cards.add(new SetCardInfo("Hypothesizzle", 178, Rarity.COMMON, mage.cards.h.Hypothesizzle.class));
cards.add(new SetCardInfo("Impervious Greatwurm", 273, Rarity.MYTHIC, mage.cards.i.ImperviousGreatwurm.class));
cards.add(new SetCardInfo("Island", 261, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Izoni, Thousand-Eyed", 180, Rarity.RARE, mage.cards.i.IzoniThousandEyed.class));
cards.add(new SetCardInfo("Legion Warboss", 109, Rarity.RARE, mage.cards.l.LegionWarboss.class));
cards.add(new SetCardInfo("March of the Multitudes", 188, Rarity.MYTHIC, mage.cards.m.MarchOfTheMultitudes.class));
cards.add(new SetCardInfo("Moodmark Painter", 78, Rarity.COMMON, mage.cards.m.MoodmarkPainter.class));

View file

@ -0,0 +1,32 @@
package mage.game.permanent.token;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.MageInt;
/**
*
* @author TheElk801
*/
public final class IzoniInsectToken extends TokenImpl {
public IzoniInsectToken() {
super("Insect", "1/1 black and green Insect creature token");
cardType.add(CardType.CREATURE);
color.setBlack(true);
color.setGreen(true);
subtype.add(SubType.INSECT);
power = new MageInt(1);
toughness = new MageInt(1);
}
public IzoniInsectToken(final IzoniInsectToken token) {
super(token);
}
public IzoniInsectToken copy() {
return new IzoniInsectToken(this);
}
}