package net.demilich.metastone.game.spells.trigger;
import net.demilich.metastone.game.entities.Entity;
import net.demilich.metastone.game.events.DiscardEvent;
import net.demilich.metastone.game.events.GameEvent;
import net.demilich.metastone.game.events.GameEventType;
import net.demilich.metastone.game.spells.desc.trigger.EventTriggerArg;
import net.demilich.metastone.game.spells.desc.trigger.EventTriggerDesc;
import net.demilich.metastone.game.targeting.EntityReference;
public class DiscardTrigger extends GameEventTrigger {
public DiscardTrigger(EventTriggerDesc desc) {
super(desc);
}
@Override
protected boolean fire(GameEvent event, Entity host) {
DiscardEvent discardEvent = (DiscardEvent) event;
EntityReference target = (EntityReference) desc.get(EventTriggerArg.TARGET);
if (target == EntityReference.SELF && discardEvent.getCard() != host) {
return false;
}
return true;
}
@Override
public GameEventType interestedIn() {
return GameEventType.DISCARD;
}
}