this.addAbility(VigilanceAbility.getInstance());
// {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToCreatureEffect(Duration.EndOfTurn, Integer.MAX_VALUE, false),
new ManaCostsImpl("{1}{W}"));
ability.addChoice(new ChoiceColor());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToPlayerEffect(Duration.EndOfTurn, Integer.MAX_VALUE, false),
new ManaCostsImpl("{5}{W}{W}"));
ability.addChoice(new ChoiceColor());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}