FlyingFlying is an evasion ability.
A creature with flying can’t be blocked except by creatures with flying and/or reach. A creature with flying can block a creature with or without flying. (See rule 509, “Declare Blockers Step,” and rule 702.17, “Reach.”)
Multiple instances of flying on the same creature are redundant. (CR 702.9),
vigilanceVigilance is a static ability that modifies the rules for the declare attackers step.
Attacking doesn’t cause creatures with vigilance to tap. (See rule 508, “Declare Attackers Step.”)
Multiple instances of vigilance on the same creature are redundant. (CR 702.20)
At the beginning of your end step, if you gained or lost life this turn, target opponent loses 3 life unless they
sacrificeTo sacrifice a permanent, its controller moves it from the battlefield directly to its owner’s graveyard. A player can’t sacrifice something that isn’t a permanent, or something that’s a permanent they don’t control. Sacrificing a permanent doesn’t destroy it, so regeneration or other effects that replace destruction can’t affect this action. (CR 701.21) a nonland permanent of their choice or
discardTo discard a card, move it from its owner’s hand to that player’s graveyard.
By default, effects that cause a player to discard a card allow the affected player to choose which card to discard. Some effects, however, require a random discard or allow another player to choose which card is discarded.
If a card is discarded, but an effect causes it to be put into a hidden zone instead of into its owner’s graveyard without being revealed, all values of that card’s characteristics are considered to be undefined. If a card is discarded this way to pay a cost that specifies a characteristic about the discarded card, that cost payment is illegal; the game returns to the moment before the cost was paid (see rule 733, “Handling Illegal Actions”). (CR 701.9) a card.