You're no match for me! Ignorant fools.
Beatrix in Burmecia
Beatrix appears thrice as a boss in Final Fantasy IX. She has many strong attacks, and can heal herself with White Magic. Beatrix does not fall in battle even when her HP is supposedly depleted.
Stats[]
#58
#71
#76
Battle[]
Beatrix is immune to status ailments except Slow.
The party must try to survive until Beatrix uses an unblockable finishing move that knocks everyone down to 1 HP; either Stock Break or Climhazzard. She uses this when her HP hits 0, or after getting ten turns. She will use powerful attacks like Shock to deal massive damage to a single party member, usually KO'ing them. If the party is defeated before Beatrix uses her finishing attack, it will be a Game Over.
Beatrix has many good items to steal, although it is difficult to get all the items before she finishes the battle. The player characters can enter Trance after Beatrix uses her final attack, effectively wasting it.
When the battles with Beatrix end in the mobile and following versions, the menu disappears so the player cannot see everyone's HP reduce to 1 when Beatrix uses Stock Break and Climhazzard.
Strategy[]
Vivi can learn Slow from the Magus Hat and the Ice Staff, to use it on Beatrix the first two times she is fought.
If the player is not concerned about stealing her items, and Quina is in the party (optional for the first and second battles, impossible for the third), they can KO Quina before the battle, save, use a Phoenix Down on them and reset until the Phoenix Down restores exactly 1 of Quina's HP, and then have Quina open the battle with Limit Glove, which will defeat Beatrix and force her to use Stock Break. In the second battle, having Quina cast Auto-Life on themself can emulate this effect. Quina can also use Vanish to protect some party members against Beatrix's attacks.
AI script[]
First battle[]
Function Beatrix_Init
set attacklist = [ Attack ; Attack ; Attack ; Attack ; Thunder Slash ; Thunder Slash ; Shock ; Shock ]
Function Beatrix_Loop
if ( !endflag )
if ( SV_FunctionEnemy[HP] <= 10000 )
set finishfightflag = TRUE
if ( finishfightflag )
set SV_FunctionEnemy[HP] = SV_FunctionEnemy[MAX_HP]
set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
if ( stockbreakwaiting )
if ( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) )
set stockbreakwaiting = FALSE
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
else
if ( GetAttacker == SV_FunctionEnemy )
if ( GetTarget && #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP) ) )
set endflag = TRUE
Wait( 5 )
RunBattleCode( Disable ATB )
while ( GetBattleState != 1 )
Wait( 1 )
set SV_Target = SV_FunctionEnemy
AttackSpecial( Talk )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( End Battle, Victory )
else
if ( !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
Wait( 1 )
loop
Function Beatrix_ATB
if ( turncounter < 10 )
set turncounter++
else
set finishfightflag = TRUE
if ( finishfightflag && ( !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) ) )
set stockbreakwaiting = TRUE
set SV_Target = SV_PlayerTeam
Attack( Stock Break )
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash)
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash)
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
Attack( selectedattack )
Second battle[]
Function Beatrix_Init
set attacklist = [ Attack ; Attack ; Attack ; Attack ; Thunder Slash ; Thunder Slash ; Shock ; Shock ]
Function Beatrix_Loop
if ( !endflag )
if ( SV_FunctionEnemy[HP] <= 10000 )
set finishfightflag = 1
if ( finishfightflag )
set SV_FunctionEnemy[HP] = SV_FunctionEnemy[MAX_HP]
set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
if ( stockbreakwaiting )
if ( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) )
set stockbreakwaiting = 0
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
else
if ( GetAttacker == SV_FunctionEnemy )
if ( GetTarget && #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
set endflag = 1
Wait( 5 )
RunBattleCode( Disable ATB )
while ( GetBattleState != 1 )
Wait( 1 )
set SV_Target = SV_FunctionEnemy
AttackSpecial( Talk )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( End Battle, Victory )
else
if ( !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
Wait( 1 )
loop
Function Beatrix_ATB
if ( turncounter < 10 )
set turncounter++
else
set finishfightflag = 1
if ( finishfightflag && !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) )
set stockbreakwaiting = 1
set SV_Target = SV_PlayerTeam
Attack( Stock Break )
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
if ( SV_FunctionEnemy[HP] - 10000 < ( SV_FunctionEnemy[MAX_HP] - 10000 ) / 2 )
set curetarget = SV_FunctionEnemy
else
set curetarget = 0
if ( #curetarget && !cureflag )
set cureflag = TRUE
set SV_Target = SV_FunctionEnemy
Attack( Cure )
Attack( selectedattack )
Third battle[]
Function Beatrix_Init
set attacklist = [ Attack ; Attack ; Attack ; Attack ; Thunder Slash ; Thunder Slash ; Shock ; Shock ]
Function Beatrix_Loop
if ( !endflag )
if ( SV_FunctionEnemy[HP] <= 10000 )
set finishfightflag = 1
if ( finishfightflag )
set SV_FunctionEnemy[HP] = SV_FunctionEnemy[MAX_HP]
set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
if ( climhazzardwaiting )
if ( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) )
set climhazzardwaiting = 0
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
else
if ( GetAttacker == SV_FunctionEnemy )
if ( GetTarget && #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP) )
set endflag = 1
Wait( 5 )
RunBattleCode( Disable ATB )
while ( GetBattleState != 1 )
Wait( 1 )
set SV_Target = SV_FunctionEnemy
AttackSpecial( Talk )
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( End Battle, Victory )
else
if ( !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
Wait( 1 )
loop
Function Beatrix_ATB
if ( turncounter < 10 )
set turncounter++
else
set finishfightflag = 1
if ( finishfightflag && !( #Matching(SV_PlayerTeam[STATUS_CURRENT], JUMP) ) )
set climhazzardwaiting = 1
set SV_Target = SV_PlayerTeam
Attack( Climhazzard )
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Attack )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder Slash )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Shock )
set SV_Target = RandomInTeam(SV_PlayerTeam)
if ( SV_FunctionEnemy[HP] - 10000 < ( SV_FunctionEnemy[MAX_HP] - 10000 ) / 2 )
set curatarget = SV_FunctionEnemy
else
set curatarget = 0
if ( #curatarget && !curaflag )
set curaflag = TRUE
set SV_Target = SV_FunctionEnemy
Attack( Cura )
Attack( selectedattack )
Musical themes[]
The battle theme in the first two battles against Beatrix is "The Wavering Blade"/"Sword of Doubt" (迷いの剣, Mayoi no Tsurugi?).