Refactored counters on permanents counting

Added BecomeMonstrousTriggeredAbility 
Added Target and Filter class for creature an opponent controls
This commit is contained in:
Styxo 2016-09-03 12:38:58 +02:00
parent 0c89b81da0
commit 2aec9f2ca7
77 changed files with 331 additions and 172 deletions

View file

@ -0,0 +1,45 @@
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 CounterType counter;
public CountersSourceCount(CounterType counter) {
this.counter = counter;
}
public CountersSourceCount(final CountersSourceCount countersCount) {
this.counter = countersCount.counter;
}
@Override
public int calculate(Game game, Ability sourceAbility, Effect effect) {
Permanent permanent = game.getPermanentOrLKIBattlefield(sourceAbility.getSourceId());
if (permanent != null) {
return permanent.getCounters().getCount(counter);
}
return 0;
}
@Override
public CountersSourceCount copy() {
return new CountersSourceCount(this);
}
@Override
public String toString() {
return "1";
}
@Override
public String getMessage() {
return counter.getName() + " counter on {this}";
}
}