foul-magics/Mage/src/main/java/mage/abilities/keyword/CompanionAbility.java
Oleg Agafonov 1664ee01cf Fixed miss copy code in Game object (lki, cards), removed unused code. Possible fixes:
* simulated games was able to change objects from another games (ConcurrentModificationException, related to d202278ccd, details in 3a6cdd2615);
* AI: fixed cards disappear in multiplayer games with computer (details in #6738);
2021-08-12 00:08:08 +04:00

48 lines
1.2 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;
/**
* Allows card to be companion
*
* @author emerald000
*/
public class CompanionAbility extends SpecialAction {
private final CompanionCondition companionCondition;
public CompanionAbility(CompanionCondition companionCondition) {
super(Zone.OUTSIDE);
this.companionCondition = companionCondition;
this.addCost(new GenericManaCost(3));
this.addEffect(new CompanionEffect());
this.setTiming(TimingRule.SORCERY);
}
private CompanionAbility(final CompanionAbility ability) {
super(ability);
this.companionCondition = ability.companionCondition;
}
@Override
public CompanionAbility copy() {
return new CompanionAbility(this);
}
@Override
public String getRule() {
return "Companion — " + companionCondition.getRule();
}
public boolean isLegal(Set<Card> cards, int startingHandSize) {
return companionCondition.isLegal(cards, startingHandSize);
}
}