// Flying
this.addAbility(FlyingAbility.getInstance());
// As long as Pristine Angel is untapped, it has protection from artifacts and from all colors.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new ConditionalContinousEffect(
new GainAbilitySourceEffect(new ProtectionAbility(filter), Duration.WhileOnBattlefield),
new InvertCondition(new SourceTappedCondition()),
"As long as {this} is untapped, it has protection from artifacts and from all colors")));
// Whenever you cast a spell, you may untap Pristine Angel.
this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), true));
}