The Zaghnol is an enemy from Final Fantasy IX. Two versions of the enemy are fought, the first as the boss of the Festival of the Hunt, and the second as a random encounter in Lindblum and on Pinnacle Rocks, as well as the Donna Plains on the Outer Continent.

It can use Electrocute to charge itself up. Once electrocuted, it counters all attacks with Thundara that hits all party members.

Stats[edit | edit source]

#35

#80

Formations[edit | edit source]

Enemies Frequency AP
????
Can't escape. Defeat does not result in Game Over. Characters do not pose on victory. No rewards given.
Zaghnol (#035) 100% 3
????
None
Zaghnol (#080) 100% 2
????
None
Zaghnol (#080) 100% 3

AI script[edit | edit source]

Festival of the Hunt[edit | edit source]

Using global variable zidane
Using global variable freya
Using general variable Hunt_ZidaneFailZaghnol
Using general variable Hunt_FreyaFailZaghnol
Using general variable Hunt_ZidaneFinishZaghnol

Function Zaghnol_Init
   set attacklist = [ Heave ; Thunder ; Electrocute ; Thunder ]


Function Zaghnol_Loop
   if ( !initflag )
      set initflag = TRUE
      set lasthp = SV_FunctionEnemy[HP]
      set zidane = ( SV_PlayerTeam[MODEL_TYPE] == 0 )
      set zidane |= ( SV_PlayerTeam[MODEL_TYPE] == 1 )
      set freya = ( SV_PlayerTeam[MODEL_TYPE] == 12 )
   if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & zidane ) )
      set Hunt_ZidaneFailZaghnol = FALSE
   else
      set Hunt_ZidaneFailZaghnol = TRUE
   if ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & freya ) )
      set Hunt_FreyaFailZaghnol = FALSE
   else
      set Hunt_FreyaFailZaghnol = TRUE
   if ( SV_FunctionEnemy[HP] <= 10000 )
      set SV_FunctionEnemy[HP] = 0
   Wait( 1 )
   loop


Function Zaghnol_ATB
   if ( electrocuteflag )
      set thundertarget = RandomInTeam(SV_PlayerTeam)
      set electrocutetarget = 0
      set multithundertarget = SV_PlayerTeam
   else
      set thundertarget = 0
      set electrocutetarget = SV_FunctionEnemy
      set multithundertarget = 0
   set selectedattack = RandomAttack( attacklist )
   if ( selectedattack == Heave )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
   elseif ( selectedattack == Thunder )
         set SV_Target = thundertarget
   elseif ( selectedattack == Electrocute )
         set SV_Target = electrocutetarget
   elseif ( selectedattack == Thunder )
         set SV_Target = multithundertarget
   Attack( selectedattack )


Function Zaghnol_CounterEx
   if (GetAttackId == Electrocute )
      set SV_FunctionEnemy[ELEMENT_HALF] &= ~THUNDER
      set SV_FunctionEnemy[ELEMENT_ABSORB] |= THUNDER
      set electrocuteflag = 1
      return
   set healhp = 0
   set hp = SV_FunctionEnemy[HP]
   if ( lasthp > hp )
      set healhp = ( lasthp - hp )
   set lasthp = hp
   if ( healcounter > 10 )
      return
   if ( SV_FunctionEnemy[HP] > 10000 )
      return
   if ( GetAttacker == zidane )
      set Hunt_ZidaneFinishZaghnol = TRUE
      return
   set Hunt_ZidaneFinishZaghnol = FALSE
   if ( !( #( SV_PlayerTeam & zidane ) ) )
      return
   if ( #Matching(zidane[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) )
      return
   if ( !healhp )
      return
   set SV_FunctionEnemy[HP] += healhp
   set lasthp = SV_FunctionEnemy[HP]
   if ( healcounter < 255 )
      set healcounter++


Random encounter[edit | edit source]

Function Zaghnol_Init
   set attacklist = [ Heave ; Thundara ; Electrocute ]
   set hplimitmultithundara = SV_FunctionEnemy[HP] / 4


Function Zaghnol_ATB
   if ( electrocuteflag )
      set thundaratarget = RandomInTeam(SV_PlayerTeam)
      set electrocutetarget = 0
   else
      set thundaratarget = 0
      set electrocutetarget = ( SV_Target = SV_FunctionEnemy )
   set selectedattack = RandomAttack( attacklist )
   if ( selectedattack == Heave )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
   elseif ( selectedattack == Thundara )
      set SV_Target = thundaratarget
   elseif ( selectedattack == Electrocute )
      set SV_Target = electrocutetarget
   Attack( selectedattack )


Function Zaghnol_Counter
   if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
      return
   if ( !multithundaraflag && electrocuteflag && ( SV_FunctionEnemy[HP] < hplimitmultithundara ) )
      set multithundaraflag = TRUE
      if ( SV_FunctionEnemy[MP] >= 12 )
         set SV_Target = SV_PlayerTeam
         Attack( Thundara )


Function Zaghnol_CounterEx
   if ( GetAttackId == Electrocute )
      set SV_FunctionEnemy[ELEMENT_HALF] &= ~THUNDER
      set SV_FunctionEnemy[ELEMENT_ABSORB] |= THUNDER
      set electrocuteflag = TRUE


Other appearances[edit | edit source]

Final Fantasy Airborne Brigade[edit | edit source]

Zaghnol Brigade.png
Baknamy FFTA2.pngThis section about an enemy in Final Fantasy Airborne Brigade is empty or needs to be expanded. You can help the Final Fantasy Wiki by expanding it.


Final Fantasy Record Keeper[edit | edit source]

FFRK Ultimate++ Zaghnol FFIX.png
Baknamy FFTA2.pngThis section about an enemy in Final Fantasy Record Keeper is empty or needs to be expanded. You can help the Final Fantasy Wiki by expanding it.


Tetra Master[edit | edit source]

Tetra Master
Zaghnol
#005
Location: Treno

Gallery[edit | edit source]

Etymology[edit | edit source]

The Zaghnal is an Indian war hammer or axe.

Community content is available under CC-BY-SA unless otherwise noted.