implement [M3C] Tarmogoyf Nest (#12377)

This commit is contained in:
grimreap124 2024-06-04 19:19:53 +10:00 committed by GitHub
parent 24b184c28f
commit 7ee897eb26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 102 additions and 0 deletions

View file

@ -0,0 +1,42 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount;
import mage.abilities.effects.common.continuous.SetBasePowerToughnessPlusOneSourceEffect;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
/**
* @author LoneFox
*/
public final class TarmogoyfToken extends TokenImpl {
private static final DynamicValue powerValue = CardTypesInGraveyardCount.ALL;
public TarmogoyfToken() {
super("Tarmogoyf Token",
"Tarmogoyfs power is equal to the number of card types among cards in all graveyards and its toughness is equal to that number plus 1.");
manaCost = new ManaCostsImpl<>("{1}{G}");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add(SubType.LHURGOYF);
power = new MageInt(0);
toughness = new MageInt(1);
// Tarmogoyfs power is equal to the number of card types among cards in all
// graveyards and its toughness is equal to that number plus 1.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessPlusOneSourceEffect(powerValue)));
}
private TarmogoyfToken(final TarmogoyfToken token) {
super(token);
}
@Override
public TarmogoyfToken copy() {
return new TarmogoyfToken(this);
}
}