package net.demilich.metastone.game.spells.trigger.types;
import net.demilich.metastone.game.Player;
import net.demilich.metastone.game.cards.Card;
import net.demilich.metastone.game.events.GameEvent;
import net.demilich.metastone.game.spells.desc.SpellDesc;
import net.demilich.metastone.game.spells.trigger.GameEventTrigger;
import net.demilich.metastone.game.spells.trigger.SpellTrigger;
public class Secret extends SpellTrigger {
private Card source;
public Secret(GameEventTrigger trigger, SpellDesc spell, Card source) {
super(trigger, spell);
this.source = source;
}
public Card getSource() {
return source;
}
@Override
protected void onFire(int ownerId, SpellDesc spell, GameEvent event) {
super.onFire(ownerId, spell, event);
Player owner = event.getGameContext().getPlayer(ownerId);
event.getGameContext().getLogic().secretTriggered(owner, this);
expire();
}
@Override
public void onGameEvent(GameEvent event) {
if (event.getGameContext().getActivePlayerId() == getOwner()) {
return;
}
super.onGameEvent(event);
}
}