package magic.model.trigger; import magic.model.MagicGame; import magic.model.MagicPermanent; import magic.model.MagicDamage; import magic.model.event.MagicEvent; public abstract class IfDamageWouldBeDealtTrigger extends MagicTrigger<MagicDamage> { public IfDamageWouldBeDealtTrigger(final int priority) { super(priority); } public boolean accept(final MagicPermanent permanent, final MagicDamage damage) { return damage.getAmount() > 0; } public MagicTriggerType getType() { return MagicTriggerType.IfDamageWouldBeDealt; } public static IfDamageWouldBeDealtTrigger CantBePrevented = new IfDamageWouldBeDealtTrigger(MagicTrigger.CANT_BE_PREVENTED) { @Override public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) { damage.setUnpreventable(); return MagicEvent.NONE; } }; }