Advertisement

    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

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

    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 Near Death 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

    FFRK Plant Brain FFIX


    Advertisement
    Community content is available under CC-BY-SA unless otherwise noted.