Black Waltz No. 3 is a boss from Final Fantasy IX. It is the third and final winged black mage manufactured by Zorn and Thorn to apprehend Princess Garnet.
Story[]
The third of the Black Waltz-type black mages, Black Waltz 3 is fought on the cargo ship when the party is on the way to Alexandria, just as Zidane implements his plan to steal the ship and go to Lindblum instead. When the regular black mages attempt to protect Vivi, it wipes them out in a Thundara attack, sending them flying off the ship.
Vivi becomes enraged, and a battle ensues. After being defeated, Black Waltz No. 3 refuses to accept it is not invincible and commandeers Zorn and Thorn's small airship. It pursues the cargo ship until it loses control of the craft and crashes into South Gate.
Later, Black Waltz No. 3 attacks the train containing Garnet, Marcus, and Steiner, greatly weakened but still seeking to capture Garnet. She attempts to question Black Waltz No. 3 of her mother's intentions, but it blindly attacks and is destroyed at last.
Stats[]
#31
#59
Formations[]
| |||||||
---|---|---|---|---|---|---|---|
???? |
| ||||||
???? |
|
Battle[]
First battle[]
Get out of my way! Do you dare fight a Black Waltz?
Black Waltz No. 3
The battle begins with Vivi going into Trance. Unlike Black Waltz No. 2, Black Waltz No. 3 doesn't counter Vivi's spells. Steiner should be using sword magic until he runs out of MP, or toss a potion if needed. Zidane should focus on passing around potions to the injured party member, or focus on stealing equipment off the boss.
Despite the Waltz's use of high level magic (Thundara, Blizzara, Fira), the only tough part is when it is airborne. To prevent this, none of the party members should attack, for this will cause the Black Waltz to fly into the air for some time and deal Thundara spell to all members of the party while also being immune to further normal attacks.
Second battle[]
Mission... retrieve... princess... alive...
Black Waltz No. 3
The Black Waltz is more volatile, and its attacks do more damage, but the player cannot lose this battle unless they command the characters to knock out Dagger, as Black Waltz No. 3 will never attack her, and if she is the only ally left, the boss will damage itself. It is recommended to keep Marcus alive, because this Black Waltz has some valuable items he can steal, which are useful for Vivi later on; plus, it helps add damage to Zidane's Thievery skill acquired much later.
AI script[]
First battle[]
Using global variable zidane
Using global variable vivi
Using global variable steiner
Function Black_Waltz_3_Init
set attacklist = [ Hit ; Fira ; Blizzard ; Thundara ]
Function Black_Waltz_3_Loop
if ( !initflag )
set initflag = 1
set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
set evade = SV_FunctionEnemy[EVADE]
set magicdefence = SV_FunctionEnemy[MAGIC_DEFENCE]
set zidane = ( SV_PlayerTeam[MODEL_TYPE] ==$ 0 )
set zidane |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 1 )
set vivi = ( SV_PlayerTeam[MODEL_TYPE] ==$ 2 )
set steiner = ( SV_PlayerTeam[MODEL_TYPE] ==$ 7 )
set steiner |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 8 )
if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & vivi ) )
set vivi[ATB] = 0
if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & zidane ) )
set zidane[ATB] = 0
if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & steiner ) )
set steiner[ATB] = 0
RunBattleCode( Enable ATB )
if ( SV_FunctionEnemy[HP] <= 10000 )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( Disable ATB)
while ( GetBattleState != 1 )
Wait( 1 )
if ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
set SV_Target = SV_FunctionEnemy
RunBattleCode( Run Camera, 9 )
AttackSpecial( WAITANIM )
while ( IsAttacking != 0 )
Wait( 1 )
AttackSpecial( Die1 )
Wait( 70 )
FadeFilter( FILTER_SUBTRACT, 20, BLACK )
else
set SV_Target = SV_FunctionEnemy
RunBattleCode( Run Camera, 10 )
AttackSpecial( WAITANIM )
while ( IsAttacking != 0 )
Wait( 1 )
AttackSpecial( Die2 )
Wait( 83 )
FadeFilter( FILTER_SUBTRACT, 20, BLACK )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( End Battle, INTERRUPTED )
return
if ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
set SV_FunctionEnemy[EVADE] = evade
set SV_FunctionEnemy[MAGIC_DEFENCE] = magicdefence
else
set SV_Target = SV_FunctionEnemy
set SV_FunctionEnemy[EVADE] = 99
set SV_FunctionEnemy[MAGIC_DEFENCE] = magicdefence - 3
Wait( 1 )
loop
Function Black_Waltz_3_ATB
set target = RandomInTeam(SV_PlayerTeam)
if ( !tranceflag )
set tranceflag = 1
if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | ZOMBIE | DEATH | STOP) & vivi ) )
set SV_Target = vivi
Attack( Trance Full )
if ( !allowtargetingvivi )
set allowtargetingvivi = 1
set target = RandomInTeam(SV_PlayerTeam) & ~vivi
if ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Hit )
set SV_Target = target
elseif ( selectedattack == Fira )
set SV_Target = target
elseif ( selectedattack == Blizzard )
set SV_Target = target
elseif ( selectedattack == Thundara )
set SV_Target = target
Attack( selectedattack )
elseif ( SV_FunctionEnemy[MP] < 12 )
set SV_Target = SV_FunctionEnemy
Attack( Continue2 )
set thundaracounter++
if ( thundaracounter >= 2 )
set thundaracounter = 0
set SV_Target = SV_PlayerTeam
Attack( Thundara )
set SV_Target = SV_PlayerTeam
Attack( Thundara )
Function Black_Waltz_3_CounterEx
if ( GetAttackId == Continue1 )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
Function Black_Waltz_3_Counter
if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
return
if ( SV_FunctionEnemy[MP] < 12 )
return
if ( GetAttackCommandId != Attack )
return
if ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
set SV_Target = SV_FunctionEnemy
Attack( Continue1 )
else
if ( !mes1flag )
set mes1flag = 1
set SV_Target = SV_FunctionEnemy
Attack( MES1 )
Second battle[]
Using global variable dagger
Function Black_Waltz_3_Init
set attacklist = [ Hit ; Fire ; Blizzard ; Thunder ; Freeze ; Hit ; Hit ; Hit ]
Function Black_Waltz_3_Loop
if ( !initflag )
set initflag = 1
set dagger = ( SV_PlayerTeam[MODEL_TYPE] ==$ 3 )
set dagger |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 4 )
set dagger |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 5 )
set dagger |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 6 )
RunBattleCode( Enable ATB )
while ( GetBattleState != 4 )
Wait( 1 )
if ( attackwaiting )
if ( !( #( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) | NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) & target ) ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
if ( GetAttacker == SV_FunctionEnemy )
set attackwaiting = 0
Wait( 1 )
loop
Function Black_Waltz_3_ATB
if ( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == dagger )
set SV_Target = SV_FunctionEnemy
if ( suicidecounter == 0 )
set suicidecounter = 1
Attack( Crack! )
elseif ( suicidecounter == 1 )
set suicidecounter = 2
Attack( MES use )
elseif ( suicidecounter == 2 )
set suicidecounter = 3
Attack( Crack! )
elseif ( suicidecounter == 3 )
set suicidecounter = 4
Attack( MES use )
elseif ( suicidecounter == 4 )
set suicidecounter = 5
Attack( Crack! )
elseif ( suicidecounter == 5 )
set suicidecounter = 6
Attack( MES use )
elseif ( selectedattack == 6 )
set suicidecounter = 7
Attack( Crack! )
elseif ( selectedattack == 7 )
set suicidecounter = 0
Attack( MES use )
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Hit )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger )
elseif ( selectedattack == Fire )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger )
elseif ( selectedattack == Blizzard )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger )
elseif ( selectedattack == Thunder )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger )
elseif ( selectedattack == Freeze )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | FREEZE) ) & ~dagger
elseif ( selectedattack == Hit )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger )
elseif ( selectedattack == Hit )
set SV_Target = RandomInTeam(Matching(SV_PlayerTeam[STATUS_CURRENT], FREEZE) & ~dagger
elseif ( selectedattack == Hit )
set SV_Target = RandomInTeam(Matching(SV_PlayerTeam[STATUS_CURRENT], FREEZE) & ~dagger
if ( SV_Target == dagger )
set SV_Target = 0
set attackwaiting = TRUE
set target = SV_Target
Attack( selectedattack )
Other appearances[]
Dissidia Final Fantasy Opera Omnia[]
Black Waltz No. 3 appears as an enemy boss in the ninth chapter.
Theatrhythm Final Fantasy[]
One of the elite black mages who serve Alexandria. It looks down on all creation as it sees destruction as the only purpose for its existence. It will go to any length to do its duty, a mad light dancing in its eyes...
CollectaCard
The Black Waltz No. 3 appears as an enemy.
Theatrhythm Final Fantasy Curtain Call[]
Black Waltz No.3 appears as an enemy in Battle Music Sequences.
Pictlogica Final Fantasy[]
Final Fantasy Airborne Brigade[]
Black Waltz 3 appears as an enemy during the second part of the "Shattered World" event. In battle, Black Waltz 3 uses Thundara.
Final Fantasy Record Keeper[]
Black Waltz 3 appears as an enemy.
Final Fantasy Brave Exvius[]
Final Fantasy Artniks[]
Final Fantasy Trading Card Game[]
Black Waltz 3 appears in Final Fantasy Trading Card Game as Lightning-elemental Forward cards.
Final Fantasy Portal App[]
Black Waltz 3 appears as a Triple Triad card.