[ONE] Implement Tablet of Compleation

This commit is contained in:
theelk801 2023-01-14 22:05:42 -05:00
parent 4bf303e1d2
commit 4e8b8a69c9
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,62 @@
package mage.cards.t;
import java.util.UUID;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.common.ActivateIfConditionActivatedAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.mana.BasicManaEffect;
import mage.abilities.mana.ActivateIfConditionManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ManaType;
import mage.constants.Zone;
import mage.counters.CounterType;
/**
* @author TheElk801
*/
public final class TabletOfCompleation extends CardImpl {
private static final Condition condition1 = new SourceHasCounterCondition(CounterType.OIL, 2);
private static final Condition condition2 = new SourceHasCounterCondition(CounterType.OIL, 5);
public TabletOfCompleation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {T}: Put an oil counter on Tablet of Compleation.
this.addAbility(new SimpleActivatedAbility(
new AddCountersSourceEffect(CounterType.OIL.createInstance()), new TapSourceCost()
));
// {T}: Add {C}. Activate only if Tablet of Compleation has two or more oil counters on it.
this.addAbility(new ActivateIfConditionManaAbility(
Zone.BATTLEFIELD, new BasicManaEffect(new Mana(ManaType.COLORLESS)), new TapSourceCost(), condition1
));
// {1}, {T}: Draw a card. Activate only if Tablet of Compleation has five or more oil counters on it.
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
new GenericManaCost(1), condition2
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
private TabletOfCompleation(final TabletOfCompleation card) {
super(card);
}
@Override
public TabletOfCompleation copy() {
return new TabletOfCompleation(this);
}
}

View file

@ -43,6 +43,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
cards.add(new SetCardInfo("Seachrome Coast", 258, Rarity.RARE, mage.cards.s.SeachromeCoast.class));
cards.add(new SetCardInfo("Skrelv's Hive", 34, Rarity.RARE, mage.cards.s.SkrelvsHive.class));
cards.add(new SetCardInfo("Swamp", 274, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Tablet of Compleation", 245, Rarity.RARE, mage.cards.t.TabletOfCompleation.class));
cards.add(new SetCardInfo("The Monumental Facade", 255, Rarity.RARE, mage.cards.t.TheMonumentalFacade.class));
}