The Cactuar is an enemy from Final Fantasy IX, found on the dirt terrains on Outer Continent's Donna Plains and the Forgotten Continent's mainland. Cactuars are one of the few enemies in the game that can appear in groups of four. It will hide underground when attacked. While underground, it will cast Confuse and counter all attacks with 1000 Needles. If killed while underground, it will still counterattack before dying. It is safer to wait until it either appears aboveground or escapes.
It is recommended to do high damage-dealing attacks when the Cactuar is underground, or have everyone defend and Vivi use Focus. Iai Strike, LV5 Death and Odin can defeat a Cactuar with ease, and so can Fire-elemental attacks, such as Fira and Ifrit and Fira Sword. Heat and Freeze are also effective.
Quina can learn 1,000 Needles from eating a Cactuar, which is reasonably powerful when it is first encountered.
Stats[]
AI script[]
Use global variable deathneedlesflag
Function Cactuar_Init
set appearswitch = GetRandom & 1
Function Cactuar_Loop
if ( !initflag )
if ( #SV_EnemyTeam == 1 )
set isalone = 1
set SV_FunctionEnemy[MODEL_OFF] = 1
set SV_FunctionEnemy[SHADOW] = 0
set initflag = 1
if ( lastattack == Haste && ( !( #Matching(lasttarget[STATUS_CURRENT], CONFUSE) ) || #Matching(lasttarget[STATUS_CURRENT], HASTE) || #Matching(lasttarget[STATUS_AUTO], HASTE) || #Matching(lasttarget[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
set lastattack = 255
Wait( 1 )
loop
Function Cactuar_ATB
if ( #( SV_FunctionEnemy[STAND_ANIMATION] == 0 ) )
set appearswitch = ( ~appearswitch ) & 1
if ( appearswitch )
set SV_Target = SV_FunctionEnemy
set lastattack = Appearance
Attack( Appearance )
else
set SV_Target = RandomInTeam(SV_PlayerTeam)
set lasttarget = SV_Target
set lastattack = Confuse
Attack( Confuse )
else
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP | HASTE) & NotMatching(SV_PlayerTeam[STATUS_AUTO], HASTE) & Matching(SV_PlayerTeam[STATUS_CURRENT], CONFUSE) )
if ( SV_Target != 0 )
set lasttarget = SV_Target
set lastattack = Haste
Attack( Haste )
else
set SV_Target = RandomInTeam(SV_PlayerTeam)
set lasttarget = SV_Target
set lastattack = Head Attack
Attack( Head Attack )
Function Cactuar_CounterEx
if ( SV_FunctionEnemy == GetAttacker )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
set lastattack = 255
if ( GetAttackId == Appearance )
set SV_FunctionEnemy[SHADOW] = 1
if ( GetAttackId == Hide )
set SV_FunctionEnemy[SHADOW] = 0
Function Cactuar_Counter
if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
return
if ( ( ( GetAttackCommandId == Steal ) || ( GetAttackCommandId == Item ) ) || ( GetAttackCommandId == Cook ) )
return
if ( isalone && ( GetAttackCommandId != Attack) )
return
set SV_Target = GetAttacker
if ( !( #( SV_PlayerTeam & SV_Target ) ) )
return
if ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
Attack( 1,000 Needles )
else
set SV_Target = SV_FunctionEnemy
Attack( Hide )
Function Cactuar_Death
if ( deathneedlesflag )
return
if ( #Matching(SV_FunctionEnemy[STATUS_CURRENT], SILENCE) )
return
if ( #( SV_FunctionEnemy[STAND_ANIMATION] == 1 ) )
return
set SV_Target = GetAttacker
if ( !( #( SV_PlayerTeam & SV_Target ) ) )
return
Attack( 1,000 Needles )
set deathneedlesflag = 1
Tetra Master[]
Tetra Master |
---|
#024 Location: Lindblum, Business District "Young Lady" |
Gallery[]
Etymology[]
(サボテンダー, Sabotendā?) is derived from mixing the Japanese word for cactus (サボテン, saboten?) and the English word "pretender" (プリテンダー, puritendā?).
Sabotender