Final Fantasy Wiki
Register
Advertisement

Quale is an optional boss in Final Fantasy IX fought after having caught 99 frogs in the frog catching minigame. Defeating Quale earns Quina's ultimate weapon, the Gastro Fork.

Stats[]

Battle[]

Quale's stats are low, other than their HP, which is the highest in the game tied with the friendly Yan. Quale casts spells that inflict status effects, such as Poison, Darkness, Confuse, Silence, and Mini. Quale absorbs Water damage and uses Water spells that hit the whole party. Quale's physical attack is called Rolling Attack, and it is quite powerful.

Quale fights using a Silver Fork, which is Quina's third strongest weapon.

Strategy[]

Immunity abilities, like Antibody, Bright Eyes, Clear Headed, and Loudmouth, can be equipped as a counter measure to Quale's status-inflicting attacks. One cannot protect against Mini, but Quina's Blue Magic, Angel's Snack, can be used to cure it easily.

If the party does not have enough abilities/ability stones to adequately protect against Quale's status attacks, Auto-Reflect can be used to bounce the spells back, but this will also reflect Quale's Water spells, which they will absorb. For the same reason, if Vivi/Amarant are in the party, they should not be equipped with the Return Magic ability, unless Vivi also equips Mag Elem Null.

It is possible to stop Quale from casting their status inflicting spells by draining their MP with Quina's Magic Hammer ability. However, this causes Quale to continuously attack with their powerful Rolling Attack.

Quina's LV4 Holy works against Quale, and they can also protect the party with Mighty Guard. As this is the conclusion of the frog catching minigame, Quina's Frog Drop is very powerful at this point and likely consistently their best attack; it does the same damage even if Quina has Mini. Vivi can use Thundaga, and if Steiner is in the party, he can pitch in with Thundaga Sword. Eiko can heal and bestow the party with buffs with Carbuncle, depending what jewel she has equipped. Dagger can heal the party and summon Ramuh or another powerful eidolon, though Quale is weak to Lightning damage.

AI script[]

Function Quale_Init
   set phase1attacklist = [ Rolling Attack ; Water ; Aqua Breath ; Water ; Mini ; Poison ; Confuse ; Blind ]
   set phase2attacklist = [ Silence ; Mini ; Poison ; Confuse ; Blind ; Silence ; Aqua Breath ; Water ]


Function Quale_ATB
   set phaseswitch = ~phaseswitch & 1
   if ( phaseswitch )
      set selectedattack = RandomAttack( phase1attacklist )
      if ( selectedattack == Rolling Attack )
         set SV_Target = RandomInTeam(SV_PlayerTeam)
      elseif ( selectedattack == Water )
         set SV_Target = RandomInTeam(SV_PlayerTeam)
      elseif ( selectedattack == Aqua Breath )
         set SV_Target = SV_PlayerTeam
      elseif ( selectedattack == Water )
         set SV_Target = SV_PlayerTeam
      elseif ( selectedattack == Mini )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | MINI | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
      elseif ( selectedattack == Poison )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | POISON | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
      elseif ( selectedattack == Confuse )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | CONFUSE | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
      elseif ( selectedattack == Blind )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | DARKNESS | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
      Attack( selectedattack )
   else
      if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP| MINI) ) == 0 )
         set minitarget = 0
      else
         set minitarget = SV_PlayerTeam
      if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP| POISON) ) == 0 )
         set poisontarget = 0
      else
         set poisontarget = SV_PlayerTeam
      if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP| CONFUSE) ) == 0 )
         set confusetarget = 0
      else
         set confusetarget = SV_PlayerTeam
      if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP| DARKNESS) ) == 0 )
         set blindtarget = 0
      else
         set blindtarget = SV_PlayerTeam
      if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP| SILENCE) ) == 0 )
         set silencetarget = 0
      else
         set silencetarget = SV_PlayerTeam
      set selectedattack = RandomAttack( phase2attacklist )
      if ( selectedattack == Silence )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | SILENCE | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
      elseif ( selectedattack == Mini )
         set SV_Target = minitarget
      elseif ( selectedattack == Poison )
         set SV_Target = poisontarget
      elseif ( selectedattack == Confuse )
         set SV_Target = confusetarget
      elseif ( selectedattack == Blind )
         set SV_Target = blindtarget
      elseif ( selectedattack == Silence )
         set SV_Target = silencetarget
      elseif ( selectedattack == Aqua Breath )
         set SV_Target = SV_PlayerTeam
      elseif ( selectedattack == Water )
         set SV_Target = SV_PlayerTeam
      Attack( selectedattack )


Gallery[]

Advertisement