foul-magics/Mage/src/main/java/mage/abilities/condition/common/SourceDealtDamageCondition.java
2023-11-30 00:59:21 -05:00

34 lines
897 B
Java

package mage.abilities.condition.common;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.game.Game;
import mage.watchers.common.DamageDoneWatcher;
/**
*
* @author LevelX2
*/
public class SourceDealtDamageCondition implements Condition {
private final int value;
/**
* Must add DamageDoneWatcher on card init
*/
public SourceDealtDamageCondition(int value) {
this.value = value;
}
@Override
public boolean apply(Game game, Ability source) {
DamageDoneWatcher watcher = game.getState().getWatcher(DamageDoneWatcher.class);
return watcher != null && watcher.damageDoneBy(source.getSourceId(), source.getSourceObjectZoneChangeCounter(), game) >= value;
}
@Override
public String toString() {
return "{this} has dealt " + value + " or more damage this turn" ;
}
}