// {tap}: Exchange control of two target nonlegendary creatures. You can't activate this ability during combat.
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
new ExchangeControlTargetEffect(Duration.EndOfGame, rule),
new TapSourceCost(),
new InvertCondition(new IsPhaseCondition(TurnPhase.COMBAT)));
ability.addTarget(new TargetCreaturePermanent(2,2, filter, false));
this.addAbility(ability);
}