return true;
}
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
Zone fromZone = ((ZoneChangeEvent) event).getFromZone();
Card card = game.getCard(event.getTargetId());
UUID sourceId = event.getSourceId();
UUID controllerId = event.getPlayerId();
// Aura enters the battlefield attached
Object object = game.getState().getValue("attachTo:"+card.getId());
if (object != null && object instanceof PermanentCard) {
return false;
}
UUID targetId = null;
MageObject sourceObject = game.getObject(sourceId);
if (sourceObject instanceof Spell) {
if (fromZone.equals(Zone.EXILED)) {
// cast from exile (e.g. Neightveil Spector) -> no replacement
return false;
}
}
if (sourceObject instanceof StackAbility) {