this.color.setBlue(true);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
// <i>Heroic</i> - Whenever you cast a spell that targets Mindreaver, exile the top three cards of target player's library.
Ability ability = new HeroicAbility(new MindreaverExileEffect(), false);
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
// {U}{U}, Sacrifice Mindreaver: Counter target spell with the same name as a card exiled with mindreaver.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}{U}"));
FilterSpell filter = new FilterSpell("spell with the same name as a card exiled with mindreaver");
filter.add(new MindreaverNamePredicate(this.getId()));
ability.addTarget(new TargetSpell(filter));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}