Template:Sideicon Template:Enemy Template:See Also The Cactuar is an enemy from Final Fantasy IX found on the Outer Continent's Donna Plains and the Forgotten Continent's Mainland. 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 burrows above ground or escapes.
It is recommended to do high damage-dealing attacks when it 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. Heat and Freeze are also effective.
Quina can learn 1000 Needles from eating a Cactuar, which is reasonably powerful when it is first encountered.
Stats
Template:FFIX Enemy 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 ( #SV_EnemyTeam == 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
Template:FFIX Tetra Master
Gallery
Etymology
(サボテンダー, Sabotendā?) is derived from mixing the Japanese word for cactus (サボテン, saboten?) and the English word "pretender" (プリテンダー, puritendā?).
Sabotender