FANDOM


The 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.

StatsEdit

Formations Edit

Enemies Frequency AP
????
Can't escape.
Plant Brain 100% 5

Battle Edit

After a certain amount of time has passed, or if Plant Brain takes a total of 533 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. Plant Brain's Pollen ability can blind 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 Edit

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 Edit

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 appearancesEdit

Pictlogica Final FantasyEdit

Baknamy FFTA2This article or section is a stub about an enemy in Pictlogica Final Fantasy. You can help the Final Fantasy Wiki by expanding it.

Final Fantasy Record Keeper Edit

FFRK Plant Brain FFIX
Baknamy FFTA2This article or section is a stub about an enemy in Final Fantasy Record Keeper. You can help the Final Fantasy Wiki by expanding it.


Gallery Edit