forked from External/mage
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method * updated triggered ability rules generation * renamed method * fixed a test failure * some more refactoring * simplified some instances of ability word usage
43 lines
1.2 KiB
Java
43 lines
1.2 KiB
Java
|
|
|
|
package mage.abilities.abilityword;
|
|
|
|
import mage.abilities.ActivatedAbilityImpl;
|
|
import mage.abilities.costs.common.DiscardTargetCost;
|
|
import mage.abilities.effects.Effect;
|
|
import mage.constants.AbilityWord;
|
|
import mage.constants.Zone;
|
|
import mage.filter.FilterCard;
|
|
import mage.filter.predicate.mageobject.AnotherCardPredicate;
|
|
import mage.filter.predicate.mageobject.NamePredicate;
|
|
import mage.target.common.TargetCardInHand;
|
|
|
|
/**
|
|
* @author emerald000
|
|
*/
|
|
|
|
public class GrandeurAbility extends ActivatedAbilityImpl {
|
|
|
|
protected final String cardName;
|
|
|
|
public GrandeurAbility(Effect effect, String cardName) {
|
|
super(Zone.BATTLEFIELD, effect);
|
|
this.cardName = cardName;
|
|
|
|
FilterCard filter = new FilterCard("another card named " + cardName);
|
|
filter.add(new NamePredicate(cardName));
|
|
filter.add(new AnotherCardPredicate());
|
|
this.addCost(new DiscardTargetCost(new TargetCardInHand(filter)));
|
|
setAbilityWord(AbilityWord.GRANDEUR);
|
|
}
|
|
|
|
public GrandeurAbility(final GrandeurAbility ability) {
|
|
super(ability);
|
|
this.cardName = ability.cardName;
|
|
}
|
|
|
|
@Override
|
|
public GrandeurAbility copy() {
|
|
return new GrandeurAbility(this);
|
|
}
|
|
}
|