foul-magics/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java
emerald000 c40ef8b39f New Companion rule
"Once per game, any time you could cast a sorcery (during your main phase when the stack is empty), you can pay 3 generic mana to put your companion from your sideboard into your hand. This is a special action, not an activated ability."
2020-06-01 13:32:44 -04:00

46 lines
1.1 KiB
Java

package mage.abilities.keyword;
import mage.abilities.SpecialAction;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.keyword.CompanionEffect;
import mage.cards.Card;
import mage.constants.TimingRule;
import mage.constants.Zone;
import java.util.Set;
/*
* @author emerald000
*/
public class CompanionAbility extends SpecialAction {
private final CompanionCondition condition;
public CompanionAbility(CompanionCondition condition) {
super(Zone.OUTSIDE);
this.condition = condition;
this.addCost(new GenericManaCost(3));
this.addEffect(new CompanionEffect());
this.setTiming(TimingRule.SORCERY);
}
private CompanionAbility(final CompanionAbility ability) {
super(ability);
this.condition = ability.condition;
}
@Override
public CompanionAbility copy() {
return new CompanionAbility(this);
}
@Override
public String getRule() {
return "Companion — " + condition.getRule();
}
public boolean isLegal(Set<Card> cards, int startingSize) {
return condition.isLegal(cards, startingSize);
}
}