[LCI] Implement Inverted Iceberg / Iceberg Titan

This commit is contained in:
theelk801 2023-11-04 10:43:48 -04:00
parent 36fe0f1103
commit abce666244
3 changed files with 86 additions and 0 deletions

View file

@ -0,0 +1,44 @@
package mage.cards.i;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.effects.common.MayTapOrUntapTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class IcebergTitan extends CardImpl {
public IcebergTitan(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "");
this.subtype.add(SubType.GOLEM);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
this.nightCard = true;
this.color.setBlue(true);
// Whenever Iceberg Titan attacks, you may tap or untap target artifact or creature.
Ability ability = new AttacksTriggeredAbility(new MayTapOrUntapTargetEffect());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE));
this.addAbility(ability);
}
private IcebergTitan(final IcebergTitan card) {
super(card);
}
@Override
public IcebergTitan copy() {
return new IcebergTitan(this);
}
}

View file

@ -0,0 +1,40 @@
package mage.cards.i;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.MillCardsControllerEffect;
import mage.abilities.keyword.CraftAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class InvertedIceberg extends CardImpl {
public InvertedIceberg(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{U}");
this.secondSideCardClazz = mage.cards.i.IcebergTitan.class;
// When Inverted Iceberg enters the battlefield, mill a card, then draw a card.
Ability ability = new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(1));
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
this.addAbility(ability);
// Craft with artifact {4}{U}{U}
this.addAbility(new CraftAbility("{4}{U}{U}"));
}
private InvertedIceberg(final InvertedIceberg card) {
super(card);
}
@Override
public InvertedIceberg copy() {
return new InvertedIceberg(this);
}
}

View file

@ -135,8 +135,10 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet {
cards.add(new SetCardInfo("Hulking Raptor", 191, Rarity.RARE, mage.cards.h.HulkingRaptor.class));
cards.add(new SetCardInfo("Hunter's Blowgun", 255, Rarity.COMMON, mage.cards.h.HuntersBlowgun.class));
cards.add(new SetCardInfo("Hurl into History", 59, Rarity.UNCOMMON, mage.cards.h.HurlIntoHistory.class));
cards.add(new SetCardInfo("Iceberg Titan", 60, Rarity.COMMON, mage.cards.i.IcebergTitan.class));
cards.add(new SetCardInfo("Idol of the Deep King", 155, Rarity.COMMON, mage.cards.i.IdolOfTheDeepKing.class));
cards.add(new SetCardInfo("Inti, Seneschal of the Sun", 156, Rarity.RARE, mage.cards.i.IntiSeneschalOfTheSun.class));
cards.add(new SetCardInfo("Inverted Iceberg", 60, Rarity.COMMON, mage.cards.i.InvertedIceberg.class));
cards.add(new SetCardInfo("Ironpaw Aspirant", 18, Rarity.COMMON, mage.cards.i.IronpawAspirant.class));
cards.add(new SetCardInfo("Island", 288, Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Island", 395, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));