Well... my time is almost up. Time to die, everyone!
Trance Kuja
Trance Kuja is one of the final bosses in Final Fantasy IX. The party fights him in the Crystal World after Deathguise has been defeated. Additionally, a cinematic Trance Kuja enemy can be fought atop Pandemonium.
Contents
Stats[edit | edit source]
Battle[edit | edit source]

Trance Kuja in battle.
Trance Kuja casts Curaga to replenish his HP and Reflect on himself in addition to Flare and Holy. He periodically casts Flare Star against the party and also as a counter when his HP becomes low.
If party members have Auto-Reflect, Trance Kuja will target only those without the Reflect status with Flare and Holy.
Upon defeat, Trance Kuja will cast Ultima on the party, who are sent to the Hill of Despair, where Necron is fought.
Strategy[edit | edit source]
For defense, it is best to use Shell although this will not mitigate the damage done by Flare Star. The support abilities, such as Auto-Regen, Auto-Haste, and Auto-Life, will provide extra defense but are not necessary.
It is best to equip the abilities Bird Killer and MP Attack to boost damage output when using normal physical attacks. If leveled up correctly, Zidane's Thievery skill, Freya's Dragon's Crest, and Quina's Frog Drop can all inflict maximum damage against Trance Kuja. Additionally, Steiner's Shock ability can deal an extreme amount of damage.
Vivi should cast Flare, or if the player has Shadow protection on all party members, Doomsday. Eiko and Dagger should concentrate on healing the party with Curaga and occasionally summon eidolons.
Amarant should equip his Kaiser Knuckles as they provide extra damage with their Wind element, or throw Wing Edges. He can also support the party by using his ability Aura to cast Regen and Auto-Life upon members.
The player should refrain from attacking too often when Trance Kuja's HP starts to run low as he counterattacks more frequently with Flare Star, which could spell disaster for the party if done twice in a row.
AI script[edit | edit source]
Using general variable Boss_SpecialAnimationFlag
Function Trance_Kuja_Init
set Boss_SpecialAnimationFlag = FALSE
set attacklist = [ Flare ; Holy ; Flare Star ; Reflect ; Flare ; Holy ; Reflect ; Flare ]
Function Trance_Kuja_Loop
if ( !initflag )
set initflag = TRUE
set SV_FunctionEnemy[SHADOW] = 0
RunBattleCode( Enable ATB )
while ( GetBattleState != 4 )
Wait( 1 )
if ( SV_FunctionEnemy[HP] < 10000 )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( Disable ATB )
while ( GetBattleState != 1 )
Wait( 1 )
set SV_Target = SV_PlayerTeam
AttackSpecial( Ultima )
while ( !Boss_SpecialAnimationFlag )
Wait( 1 )
RunBattleCode( Emphasize Music, 1 )
set Boss_SpecialAnimationFlag = FALSE
Wait( 1 )
while ( !Boss_SpecialAnimationFlag )
Wait( 1 )
FadeFilter( FILTER_ADD, 1, BLACK )
set Boss_SpecialAnimationFlag = FALSE
while ( IsAttacking != 0 )
Wait( 1 )
set SV_FunctionEnemy[DEFEATED_ON] = 1
RunBattleCode( End Battle, INTERRUPTED )
Wait( 1 )
loop
Function Trance_Kuja_ATB
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Flare )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
elseif ( selectedattack == Holy )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
elseif ( selectedattack == Flare Star )
set SV_Target = SV_PlayerTeam
elseif ( selectedattack == Reflect )
set SV_Target = RandomInTeam( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) )
elseif ( selectedattack == Flare )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
elseif ( selectedattack == Holy )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
elseif ( selectedattack == Reflect )
set SV_Target = RandomInTeam( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) )
elseif ( selectedattack == Flare )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) )
Attack( selectedattack )
Function Trance_Kuja_Counter
if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
return
if ( SV_FunctionEnemy[HP] - 10000 < ( SV_FunctionEnemy[MAX_HP] - 10000 ) / 2 )
set lowhpcountercheck = SV_FunctionEnemy
else
set lowhpcountercheck = 0
if ( lowhpcountercheck == SV_FunctionEnemy )
if ( !firstlowhpcounterflag )
set firstlowhpcounterflag = TRUE
set SV_Target = SV_PlayerTeam
Attack( Flare Star )
if ( SV_FunctionEnemy[MP] < 20 )
return
set rnd = GetRandom % 3
if ( rnd == 0 )
set SV_Target = RandomInTeam( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) )
Attack( Curaga )
elseif ( rnd == 1 )
set SV_Target = SV_PlayerTeam
Attack( Flare Star )
if ( SV_FunctionEnemy[MP] < 46 )
return
if ( #RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | REFLECT) & NotMatching(SV_PlayerTeam[STATUS_AUTO], REFLECT) ) )
return
set SV_Target = Matching(SV_FunctionEnemy[STATUS_CURRENT], REFLECT)
set rnd = GetRandom % 4
if ( rnd == 0 )
Attack( Holy )
if ( rnd == 1 )
Attack( Flare )
Musical themes[edit | edit source]
"The Darkness of Eternity", also known as "Dark Messenger", plays during this battle.
Merchandise[edit | edit source]

The limited edition Battle of Destiny statue released in March 2020 depicts Zidane with Trance Kuja in Crystal World. The central ring features a LED system with moving lights as if it were spinning around the crystal.
In the GBA, PSP, and mobile remakes of the original Final Fantasy, there is a town in the Whisperwind Cove where a child asks the party if they have a "Trance Kuja action figure," because it's the only one missing from his collection.
Other appearances[edit | edit source]
Final Fantasy Record Keeper[edit | edit source]

Monster Strike[edit | edit source]
