package mage.abilities.dynamicvalue.common;
import mage.abilities.Ability;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.effects.Effect;
import mage.counters.CounterType;
import mage.game.Game;
import mage.game.permanent.Permanent;
public class CountersSourceCount implements DynamicValue {
private final String counterName;
public CountersSourceCount(CounterType counter) {
this.counterName = counter.getName();
}
public CountersSourceCount(String counterName) {
this.counterName = counterName;
}
public CountersSourceCount(final CountersSourceCount countersCount) {
this.counterName = countersCount.counterName;
}
@Override
public int calculate(Game game, Ability sourceAbility, Effect effect) {
Permanent permanent = game.getPermanentOrLKIBattlefield(sourceAbility.getSourceId());
if (permanent != null) {
return permanent.getCounters(game).getCount(counterName);
}
return 0;
}
@Override
public CountersSourceCount copy() {
return new CountersSourceCount(this);
}
@Override
public String toString() {
return "1";
}
@Override
public String getMessage() {
return counterName + " counter on {this}";
}
}