[KHM] Implemented Faceless Haven

This commit is contained in:
Evan Kranzler 2021-01-11 09:10:38 -05:00
parent 1e0ce2a8c2
commit eb51aa63da
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.f;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.VigilanceAbility;
import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SuperType;
import mage.game.permanent.token.TokenImpl;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class FacelessHaven extends CardImpl {
public FacelessHaven(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.addSuperType(SuperType.SNOW);
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {S}{S}{S}: Faceless Haven becomes a 4/3 creature with vigilance and all creature types until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new FacelessHavenToken(), "land", Duration.EndOfTurn
), new ManaCostsImpl("{S}{S}{S}")));
}
private FacelessHaven(final FacelessHaven card) {
super(card);
}
@Override
public FacelessHaven copy() {
return new FacelessHaven(this);
}
}
class FacelessHavenToken extends TokenImpl {
FacelessHavenToken() {
super("", "4/3 creature with vigilance and all creature types");
cardType.add(CardType.CREATURE);
setIsAllCreatureTypes(true);
power = new MageInt(4);
toughness = new MageInt(3);
addAbility(VigilanceAbility.getInstance());
}
private FacelessHavenToken(final FacelessHavenToken token) {
super(token);
}
public FacelessHavenToken copy() {
return new FacelessHavenToken(this);
}
}

View file

@ -72,6 +72,7 @@ public final class Kaldheim extends ExpansionSet {
cards.add(new SetCardInfo("Eradicator Valkyrie", 94, Rarity.MYTHIC, mage.cards.e.EradicatorValkyrie.class));
cards.add(new SetCardInfo("Esika's Chariot", 169, Rarity.RARE, mage.cards.e.EsikasChariot.class));
cards.add(new SetCardInfo("Esika, God of the Tree", 168, Rarity.MYTHIC, mage.cards.e.EsikaGodOfTheTree.class));
cards.add(new SetCardInfo("Faceless Haven", 255, Rarity.RARE, mage.cards.f.FacelessHaven.class));
cards.add(new SetCardInfo("Fire Giant's Fury", 389, Rarity.UNCOMMON, mage.cards.f.FireGiantsFury.class));
cards.add(new SetCardInfo("Firja, Judge of Valor", 209, Rarity.UNCOMMON, mage.cards.f.FirjaJudgeOfValor.class));
cards.add(new SetCardInfo("Forging the Tyrite Sword", 211, Rarity.UNCOMMON, mage.cards.f.ForgingTheTyriteSword.class));