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 Pinnacle Rocks as well as various overworld areas of the Outer Continent: near Conde Petie, Desert Palace, and Mognet Central.
The Zaghnol can use Electrocute to charge itself up. Once electrocuted, it counters all attacks with Thundara that hits all party members. In the Festival of the Hunt, the player can steal the useful Needle Fork for Quina from it, and the outcome matters for the winner calculations, which determines the prize the player gets. In some versions, Freya cannot deal the finishing blow on the beast unless Zidane is KO'd (see AI script below). If both Freya and Zidane are defeated, Vivi wins the festival.
Quina's LV4 Holy works against the random encounter version of the enemy.
Stats[]
#35
#80
Formations[]
| |||||||
---|---|---|---|---|---|---|---|
???? |
| ||||||
???? |
| ||||||
???? |
|
AI script[]
Festival of the Hunt[]
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[]
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[]
Final Fantasy Airborne Brigade[]
Final Fantasy Record Keeper[]
Tetra Master[]
Tetra Master |
---|
#005 Location: Treno |
Gallery[]
Etymology[]
The Zaghnal is an Indian war hammer or axe.