Plant Brain is a boss from Final Fantasy IX. The party fights it in the Evil Forest in order to rescue Princess Garnet who had been captured by Prison Cage.
After the battle, Evil Forest will begin to petrify.
Stats[]
Formations[]
| |||||||
---|---|---|---|---|---|---|---|
???? |
|
Battle[]
After a certain amount of time has passed (5 or 6 attacks of Plant Brain), or if Plant Brain takes a total of 916 damage, Blank will join the battle. Alternatively, Blank will arrive when Zidane is KOed or his health bar goes to a HP Critical state. Blank does not appear immediately if the player enters the battle with Zidane knocked out. Once Blank appears, Plant Brain's health resets to 458 HP whatever the mean by which Blank appeared: damage, time, or Zidane's state.
Plant Brain's Pollen ability can blinds the party and limit their physical attacking capabilities, although it will not hamper Steiner's Sword Magic.
Plant Brain's most damaging attack is Thunder that hits the whole party.
Strategy[]
At the start of the battle Zidane should attempt to steal Plant Brain's Iron Helm, while Vivi should use Focus and Steiner should be on standby to heal the party with Potions.
Once Blank arrives, he and Zidane should attack using normal physical attacks. Vivi and Steiner should cast Fire and Fire Sword, respectively.
AI script[]
Using global variable zidane
Using global variable vivi
Using global variable blank
Using global variable callblank
Using global variable plantbrainmaxhp
Using global variable plantbrain
Using global variable plantbrainadjustedhp
Using global variable zidanestartdeadcountering
Function Main_Init
InitObject( Plant_Brain )
set zidane = ( SV_PlayerTeam[MODEL_TYPE] ==$ 0 )
set zidane |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 1 )
set vivi = ( SV_PlayerTeam[MODEL_TYPE] ==$ 2 )
set blank = ( SV_PlayerTeam[MODEL_TYPE] ==$ 16 )
set blank |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 17 )
if ( #zidane )
if ( ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & zidane ) == 0 ) || #Matching(zidane[STATUS_CURRENT], LOW_HP) )
set zidanestartdeadcountering = TRUE
if ( #blank )
set blank[MODEL_OFF] = 65535L
set blank[SHADOW] = 0
while ( GetBattleState != 1 )
Wait( 1 )
if ( #blank )
set blank[PRESENCE_OFF] = 1
Wait( 1 )
RunBattleCode( Run Camera, 10 )
Wait( 30 )
RunBattleCode( Enable ATB )
while ( GetBattleState != 4 )
Wait( 1 )
Function Main_Loop
if ( callblank && !blankshownup )
set blankshownup = TRUE
while ( IsAttacking != 0 )
Wait( 1 )
RunBattleCode( Disable ATB )
while ( GetBattleState != 1 )
Wait( 1 )
if ( #( SV_EnemyTeam & plantbrain ) )
set plantbrain[HP] = plantbrainmaxhp
set plantbrain[MAX_HP] = plantbrainmaxhp
set plantbrainadjustedhp = TRUE
RunBattleCode( Run Camera, 9 )
set blank[PRESENCE_ON] = 1
set blank[MODEL_ON] = 65535L
set blank[SHADOW] = 1
set blank[ATB] = blank[MAX_ATB]
BattleDialog( "Blank “Whew, I made it just in time.”" )
Wait( 45 )
BattleDialog( "Blank “Step aside. I’ll take care of this.”" )
Wait( 45 )
RunBattleCode( Enable ATB )
while ( GetBattleState != 4 )
Wait( 1 )
Wait( 1 )
loop
Function Plant_Brain_Init
set attacklist = [ Right Tentacle ; Thunder ; Thunder ]
Function Plant_Brain_Loop
if ( !initflag )
set initflag = TRUE
set plantbrain = SV_FunctionEnemy
set plantbrainmaxhp = ( SV_FunctionEnemy[MAX_HP] - 10000 ) / 2
set SV_FunctionEnemy[SHADOW] = 0
if ( !blankcalled )
if ( turncounter > 5 )
set blankcalled = TRUE
set callblank = TRUE
elseif ( SV_FunctionEnemy[HP] <= 10000 )
set callblank = TRUE
elseif ( #( SV_PlayerTeam & zidane ) && !zidanestartdeadcountering && ( #Matching(zidane[STATUS_CURRENT], LOW_HP) || #Matching(zidane[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) )
set blankcalled = TRUE
set callblank = TRUE
if ( #( SV_PlayerTeam & zidane ) && ( zidanealivecounter > 5 ) && ( #Matching(zidane[STATUS_CURRENT], LOW_HP) == 0 ) )
set zidanestartdeadcountering = FALSE
if ( zidanestartdeadcountering && #( SV_PlayerTeam & zidane ) && ( zidanealivecounter < 10 ) && #( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & zidane ) )
set zidanealivecounter++
if ( multithunderqueued && ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == 1 ) )
set SV_FunctionEnemy[PREVENT_ATTACK] = 1
set multithunderqueued = FALSE
Wait( 1 )
loop
Function Plant_Brain_ATB
set turncounter++
if ( #NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == 1 )
set multithundertarget = 0
else
set multithundertarget = SV_PlayerTeam
set selectedattack = RandomAttack( attacklist )
if ( selectedattack == Right Tentacle )
set SV_Target = RandomInTeam(SV_PlayerTeam)
elseif ( selectedattack == Thunder )
set SV_Target = multithundertarget
elseif ( selectedattack == Thunder )
set SV_Target = RandomInTeam(SV_PlayerTeam) & ~vivi
if ( !blankcalled && #( SV_PlayerTeam & zidane ) && #NotMatching(zidane[STATUS_CURRENT], LOW_HP) && ( #SV_Target == 1 ) && ( GetRandom % 3 ) )
set SV_Target = zidane
if ( ( selectedattack == Right Tentacle ) && ( ( SV_Target[COLUMN] == 0 ) || ( SV_Target[COLUMN] == 1 ) ) )
set selectedattack = Left Tentacle
if ( !pollenflag )
set pollenflag = TRUE
set SV_Target = SV_PlayerTeam
set selectedattack = Pollen
if ( selectedattack == Thunder )
set multithunderqueued = TRUE
Attack( selectedattack )
Other appearances[]
Pictlogica Final Fantasy[]
Final Fantasy Record Keeper[]