new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(0), new PermanentsTargetOpponentControlsCount(), true), 1);
ability1.addTarget(new TargetOpponent());
this.addAbility(ability1);
// 0: Until end of turn, Gideon becomes an indestructible Human Soldier creature with power and toughness each equal to the number of loyalty counters on him. He's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LoyaltyAbility ability2 = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonChampionOfJusticeToken(), "planeswalker", Duration.EndOfTurn), 0);
ability2.addEffect(new PreventAllDamageToSourceEffect(Duration.EndOfTurn));
this.addAbility(ability2);
// -15: Exile all other permanents.
this.addAbility(new LoyaltyAbility(new GideonExileAllOtherPermanentsEffect(), -15));