@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null && !game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.CLASH, controller.getId(), controller.getId()))) {
// choose opponent
Target target = new TargetOpponent(true);
target.setTargetName("an opponent to clash with");
if (controller.choose(Outcome.Benefit, target, source.getSourceId(), game)) {
Player opponent = game.getPlayer(target.getFirstTarget());
if (opponent != null) {
int cmcController = Integer.MIN_VALUE;
Card cardController = null;
boolean topController = true;
int cmcOpponent = Integer.MIN_VALUE;