FANDOM


Resistance is futile.
—Black Waltz No. 2

Black Waltz No. 2 is a boss from Final Fantasy IX. It attacks the party on the airfield at Dali. It has a taunting manner and is only interested in capturing Dagger and will not even converse with Steiner, Vivi, or Zidane. When the battle is over, Dagger will attempt to get information from the dying construct but to no avail.

StatsEdit

Formations Edit

Enemies Frequency AP
????
Can't escape.
Black Waltz 2 100% 5

Battle Edit

The Black Waltz will not attack Dagger, but if she is the last party member standing, the Black Waltz will cast Hypnotize on her, and it will be Game Over.

This Black Waltz uses second level Black Magic (Fira, Thundara, Blizzara). The Black Waltz No. 2 rarely casts its level two magic, but halfway through the battle, will cast one, usually Fira, after saying, "My mission is to take back the princess!" If magic is cast on it by Vivi, it will taunt him by using the next spell up. For example, if Vivi uses Thunder, the Black Waltz will counter with Thundara, claiming, "This is how you use Thunder!" It does not retaliate in this way if Steiner's Sword Magic is used against him.

Once its HP drops under 515 HP and Vivi is still alive, the Black Waltz No. 2 will cast Fira on the entire party, bar Dagger.

Strategy Edit

Dagger should continuously heal the other party members as she doesn't need to fear being attacked. Vivi and Steiner can combine their forces to use Sword Magic against the Black Waltz.

AI Script Edit

Using global variable dagger

Function Black_Waltz_2_Init
   set attacklist = [ Fire ; Blizzard ; Thunder ; Teleport ; Teleport ]


Function Black_Waltz_2_Loop
   if ( !initflag )
      set initflag = TRUE
      set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB] - 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 )
      while ( GetBattleState != 1 )
         Wait( 1 )
      set SV_Target = SV_FunctionEnemy
      AttackSpecial( Appearance )
      while ( IsAttacking != 0 )
         Wait( 1 )
      RunBattleCode( Enable ATB )
      while ( GetBattleState != 4 )
         Wait( 1 )
   if ( SV_FunctionEnemy[HP] <= 10000 )
      while ( IsAttacking != 0 )
         Wait( 1 )
      RunBattleCode( Disable ATB )
      while ( GetBattleState != 1 )
         Wait( 1 )
      set SV_Target = SV_FunctionEnemy
      RunBattleCode( Run Camera, 9 )
      AttackSpecial( Die )
      set SV_FunctionEnemy[DEFEATED_ON] = 1
      while ( IsAttacking != 0 )
         Wait( 1 )
      RunBattleCode( End Battle, Victory )
   if ( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == dagger ) && #Matching(dagger[STATUS_CURRENT], SLEEP) )
      while ( IsAttacking != 0 )
         Wait( 1 )
      RunBattleCode( Disable ATB )
      while ( GetBattleState != 1 )
         Wait( 1 )
      set SV_Target = SV_FunctionEnemy
      AttackSpecial( End )
      while ( IsAttacking != 0 )
         Wait( 1 )
      RunBattleCode( 34, 0 ) // Game Over
   if ( ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & lasttarget ) == 0 ) && ( lasttarget != SV_FunctionEnemy ) && ( lasttarget != 0 ) )
      set SV_FunctionEnemy[PREVENT_ATTACK] = 1
   if ( ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) > 1 ) && ( lastattack == MES1 ) )
      set SV_FunctionEnemy[PREVENT_ATTACK] = 1
      set hypnotizecounter = 0
   if ( ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) > 1 ) && ( lastattack == Hypnotize ) )
      set SV_FunctionEnemy[PREVENT_ATTACK] = 1
      set hypnotizecounter = 0
   Wait( 1 )
   loop


Function Black_Waltz_2_ATB
   set lastattack = 255
   if ( #( SV_PlayerTeam & dagger ) && ( #Matching(dagger[STATUS_CURRENT], SLEEP) == 0 ) && ( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == dagger ) )
      if ( hypnotizecounter < 255 )
         set hypnotizecounter++
      if ( hypnotizecounter == 1 )
         if ( !mes1flag )
            set SV_Target = SV_FunctionEnemy
            set lasttarget = SV_Target
            set lastattack = MES1
            Attack( MES1 )
         else
            set SV_Target = 0
            set lasttarget = SV_Target
            set lastattack = Fire
            Attack( Fire )
      elseif ( hypnotizecounter == 2 )
         set SV_Target = dagger
         set lasttarget = SV_Target
         set lastattack = Hypnotize
         Attack( Hypnotize )
   if ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == 2 )
      set validtarget = NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & ~dagger
      if ( #( SV_PlayerTeam & validtarget ) && #Matching(validtarget[STATUS_CURRENT], LOW_HP) && !skipturnflag && !( GetRandom & 1 ) )
         set skipturnflag = TRUE
         set SV_Target = 0
         set lasttarget = SV_Target
         set lastattack = Fire
         Attack( Fire )
   set hypnotizecounter = 0
   set skipturnflag = FALSE
   if ( !teleportflag )
      set SV_Target = SV_PlayerTeam & ~dagger
      set SV_Target = RandomInTeam( NotMatching(SV_Target[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
      set lasttarget = SV_Target
      set teleportflag = TRUE
      set lastattack = Teleport
      Attack( Teleport )
   set selectedattack = RandomAttack( attacklist )
   if ( selectedattack == Fire )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set mpcost = 6
   elseif ( selectedattack == Blizzard )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set mpcost = 6
   elseif ( selectedattack == Thunder )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set mpcost = 6
   elseif ( selectedattack == Teleport )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set mpcost = 0
   elseif ( selectedattack == Teleport )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set mpcost = 0
   if ( ( GetRandom % 3 ) && ( SV_FunctionEnemy[MP] <= mpcost ) )
      set selectedattack = Osmose
   set SV_Target = SV_PlayerTeam & ~dagger
   set SV_Target = RandomInTeam( NotMatching(SV_Target[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
   set lasttarget = SV_Target
   set lastattack = selectedattack
   Attack( selectedattack )


Function Black_Waltz_2_Counter
   if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
      return
   if ( ( SV_FunctionEnemy[HP] - 10000 ) < ( SV_FunctionEnemy[MAX_HP] - 10000 ) / 2 )
      set firatarget = SV_FunctionEnemy
   else
      set firatarget = 0
   if ( #firatarget && !firaflag )
      set firaflag = TRUE
      set SV_Target = SV_PlayerTeam & ~dagger
      set SV_Target = RandomInTeam( NotMatching(SV_Target[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
      Attack( Fira )
   if ( ( GetAttackCommandId != Blk Mag ) && ( GetAttackCommandId != Dbl Blk ) )
      return
   set SV_Target = SV_PlayerTeam & ~dagger
   set SV_Target = RandomInTeam( NotMatching(SV_Target[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
   if ( GetAttackId == Fire )
      Attack( Fire )
   elseif ( GetAttackId == Fira )
      Attack( Fira )
   elseif ( GetAttackId == Blizzard )
      Attack( Blizzard )
   elseif ( GetAttackId == Blizzara )
      Attack( Blizzara )
   elseif ( GetAttackId == Thunder )
      Attack( Thunder )
   elseif ( GetAttackId == Thundara )
      Attack( Thundara )


Function Black_Waltz_2_CounterEx
   if ( GetAttackId == MES1 )
      set mes1flag = TRUE
      set lastattack = 255
   if ( SV_FunctionEnemy[HP] == 0 )
      if ( ( SV_EnemyTeam[MODEL] ==$ SV_FunctionEnemy[MODEL] ) == SV_FunctionEnemy )
         set SV_FunctionEnemy[STOP_ANIM] = 2
         set SV_FunctionEnemy[PLAY_ANIM_ONCE] = 0

Other appearancesEdit

Pictlogica Final FantasyEdit

PFF BlackWaltz2
Baknamy FFTA2This article or section is a stub about an enemy in Pictlogica Final Fantasy. You can help the Final Fantasy Wiki by expanding it.


Final Fantasy Trading Card Game Edit

BlackWaltz2 TCG

Black Waltz 2 appears with a Fire-elemental card

Triple Triad Edit

187a Black Waltz 2

Black Waltz 2 appears on a Triple Triad card in the version playable via Final Fantasy Portal App.

Gallery Edit

TriviaEdit

  • Dagger can't have Insomniac at this point in a normal playthrough, but were the player to use hacks and equip that on her, and then let the other party members perish, Black Waltz 2 would try to hypnotize her. After failing at this, it would not try again and would stop acting for a lack of valid targets, unless another party member is revived.

Related enemies Edit