Create common implementation for predefined tokens (#11065)

* adds token abilities

* updated cards to use new abilities
This commit is contained in:
Vivian Greenslade 2023-08-29 21:58:21 -02:30 committed by GitHub
parent d67539746e
commit 2cd8bc6f6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 112 additions and 134 deletions

View file

@ -0,0 +1,28 @@
package mage.abilities.token;
import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.GainLifeEffect;
import mage.constants.Zone;
public class FoodAbility extends ActivatedAbilityImpl {
public FoodAbility(boolean named) {
super(Zone.BATTLEFIELD, new GainLifeEffect(3), new GenericManaCost(2));
// {2}, {T}, Sacrifice this artifact: You gain 3 life.
this.addCost(new TapSourceCost());
this.addCost(new SacrificeSourceCost().setText("sacrifice " + (named ? "{this}" : "this artifact")));
}
private FoodAbility(final FoodAbility ability) {
super(ability);
}
@Override
public FoodAbility copy() {
return new FoodAbility(this);
}
}