Final Fantasy Wiki
Final Fantasy Wiki
Advertisement

I am the 'Water Chaos' Kraken... Your presence is forbidden!

Kraken

Kraken is a boss in Final Fantasy IX. It was created by Kuja from the crystal's memory of the Water Guardian whom Dagger and Eiko fought off-screen to release the Water Seal. Kraken appears deep in Memoria while the party is climbing the staircase that leads out of the ocean. A crystal form of this boss appears further into Crystal World.

Kraken is the only enemy where the player can acquire (steal) one of the two Genji Helmets. The other can be found with Choco by using a Dead Pepper at mountain crack on northeastern part of Forgotten Continent.

Stats[]

Boss

Crystal

  1. Although internally Kraken has 59,496 HP, it actually dies after losing 55,536 HP. This is due to the way the Final Fantasy IX handles bosses with unusual death animations, with the AI script triggering its death upon reaching a health threshold rather than upon reaching below 1 HP.

Battle[]

Kraken uses Water-gun from FFIX Remastered

Water-gun.

The Kraken has two tentacles. The right will use Water-gun and the left will use Ink. Kraken uses Water on the party and absorbs Water damage. Later in the battle, Kraken will cast Waterga, which hits all four party members. Most attacks will be countered with Ink or Water-gun. If the tentacles are destroyed, Kraken gains use of a leg attack and may counter with it. Kraken's counterattacks and rate depend on which tentacles are dead.

Kraken may also inflict the Freeze status. It can cast Waterga on itself to recover HP. Kraken is weak against Lightning.

Defeating it in the mobile/Steam version yields the All Washed Up achievement.

Strategy[]

Reflect is inadvisable, since Kraken absorbs Water. Similarly, one should not have Return Magic equipped if Vivi and/or Amarant are in the party, unless Vivi also has Mag Elem Null equipped. Equipping Body Temp is advised. Thundaga and Ramuh (with a stock of Peridots) will make quick work of Kraken. Quina's LV3 Def-less and LV4 Holy work against both versions of the Kraken, the boss and the crystal.

Crystal World incarnation[]

Crystal Kraken uses a physical attack from FFIX Remastered

Unlike the boss, the crystal Kraken lacks separate tentacle components and acts as one entity. It cannot use its Leg attack, but instead has a dangerous Trouble Counter counterattack, which should be remedied with a Annoyntment. Otherwise, a blitz of physical attacks and Lightning-elemental abilities are advised to bring it down. Zidane's Sargatanas combined with Soul Blade will bring it down instantly.

AI script[]

Boss[]

Using global variable openingdialogflag
Using global variable kraken
Using global variable rightarm
Using global variable leftarm
Using global variable armdeadbits

Function Kraken_Loop
   if ( !battlestate )
      set kraken = ( SV_EnemyTeam[ENEMY_ID] ==$ 0 )
      set rightarm = ( SV_EnemyTeam[ENEMY_ID] ==$ 1 )
      set leftarm = ( SV_EnemyTeam[ENEMY_ID] ==$ 2 )
      set hplimitkrakendeath = 65535L - kraken[HP]
      set hplimitfreeze = 65535L - kraken[HP] / 4
      set hplimitrightarmdeath = 55535L
      set hplimitleftarmdeath = 55535L
      set krakenhp = 65535L
      set rightarmhp = 65535L
      set leftarmhp = 65535L
      if ( hplimitkrakendeath < 10000 )
         set hplimitkrakendeath = 10000
      if ( hplimitrightarmdeath < 10000 )
         set hplimitrightarmdeath = 10000
      if ( hplimitleftarmdeath < 10000 )
         set hplimitleftarmdeath = 10000
      set kraken[MAX_HP] = 65535L
      set rightarm[MAX_HP] = 65535L
      set leftarm[MAX_HP] = 65535L
      set kraken[HP] = 65535L
      set rightarm[HP] = 65535L
      set leftarm[HP] = 65535L
      while ( GetBattleState != 1 )
         Wait( 1 )
      if ( !openingdialogflag )
         RunBattleCode( Run Camera, 9 )
         Wait( 10 )
         BattleDialog( "I am the ‘Water Chaos’ Kraken..." )
         Wait( 45 )
         BattleDialog( "Your presence is forbidden!" )
         Wait( 65 )
      RunBattleCode( Enable ATB )
      while ( GetBattleState != 4 )
         Wait( 1 )
      set battlestate = 1
   elseif ( battlestate == 1 )
      set armdeadbits = 0
      if ( #( SV_EnemyTeam & rightarm ) )
         if ( rightarm[HP] < hplimitrightarmdeath )
            set armdeadbits = ARM_RIGHT
      else
         set armdeadbits = ARM_RIGHT
      if ( #( SV_EnemyTeam & leftarm ) )
         if ( leftarm[HP] < hplimitleftarmdeath )
            set armdeadbits |= ARM_LEFT
      else
         set armdeadbits |= ARM_LEFT
      if ( !attackingflag )
         if ( GetAttacker == SV_FunctionEnemy )
            set attackingflag = TRUE
            set disablecounterflag = FALSE
      elseif ( attackingflag && ( GetAttacker != SV_FunctionEnemy ) )
         set attackingflag = FALSE
         if ( armdeadbits == 0 )
            set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
         elseif ( armdeadbits == ARM_RIGHT )
                  set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB] / 2
         elseif ( armdeadbits == ARM_LEFT )
                  set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB] / 2
      if ( armcounter )
         set armcounter = FALSE
      if ( krakencounter )
         set krakencounter = FALSE
      if ( kraken[HP] < hplimitkrakendeath )
         if ( #( SV_EnemyTeam & rightarm ) )
            set rightarm[TARGETABLE] = 0
            set rightarm[HP] = 0
         if ( #( SV_EnemyTeam & leftarm ) )
            set leftarm[TARGETABLE] = 0
            set leftarm[HP] = 0
         set kraken[HP] = 0
         set battlestate = 2
   Wait( 1 )
   loop


Function Kraken_ATB
   set armdeadbits = GetKrakenDeadArms
   if ( armdeadbits != ( ARM_RIGHT | ARM_LEFT ) )
      if ( ( kraken[HP] > hplimitfreeze ) && ( GetRandom % 4 ) && ( kraken[MP] >= 8 ) )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | FREEZE) )
         if ( #SV_Target )
            Attack( Freeze )
      if ( kraken[MP] >= 45 )
         set SV_Target = SV_PlayerTeam
         Attack( Waterga )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      Attack( Leg )
   else
      if ( ( GetRandom % 3 ) && ( kraken[MP] >= 45 ) )
         set SV_Target = SV_PlayerTeam
         Attack( Waterga )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      Attack( Leg )


Function Kraken_Counter
   if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
      return
   set armdeadbits = GetKrakenDeadArms
   if ( kraken[HP] < krakenhp )
      if ( ( rightarm[HP] < rightarmhp ) || ( leftarm[HP] < leftarmhp ) )
         set krakencounter = TRUE
      else
         set armcounter = TRUE
   set krakenhp = kraken[HP]
   set rightarmhp = rightarm[HP]
   set leftarmhp = leftarm[HP]
   if ( disablecounterflag )
      return
   set disablecounterflag = TRUE
   set SV_Target = SV_FunctionEnemy
   if ( armdeadbits == 0 )
      if ( krakencounter )
         if ( GetRandom & 1 )
            set SV_Target = SV_EnemyTeam
            Attack( Waterga )
         return
      if ( armcounter )
         set SV_Target = GetAttacker
         if ( #( SV_Target & NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) )
            if ( ( GetRandom & 1 ) && !( #Matching(SV_Target[STATUS_CURRENT], DARKNESS) ) )
               Attack( Ink )
            Attack( Water-gun )
      set disablecounterflag = FALSE
   elseif ( armdeadbits == ARM_RIGHT )
      if ( !rightarmdeadflag )
         if ( #rightarm )
            set rightarm[TARGETABLE] = 0
         set rightarmdeadflag = TRUE
         Attack( Right tentacle gone )
      if ( krakencounter )
         if ( GetRandom & 1 )
            set SV_Target = SV_EnemyTeam
            Attack( Waterga )
         return
      if ( armcounter )
         set SV_Target = GetAttacker
         if ( #( SV_Target & NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) )
            if ( ( GetRandom & 3 ) && !( #Matching(SV_Target[STATUS_CURRENT], DARKNESS) ) )
               Attack( Ink )
            Attack( Leg )
      set disablecounterflag = FALSE
   elseif ( armdeadbits == ARM_LEFT )
      if ( !leftarmdeadflag )
         if ( #leftarm )
            set leftarm[TARGETABLE] = 0
         set leftarmdeadflag = TRUE
         Attack( Left tentacle gone )
      if ( krakencounter )
         if ( GetRandom & 1 )
            set SV_Target = SV_EnemyTeam
            Attack( Waterga )
         return
      if ( armcounter )
         set SV_Target = GetAttacker
         if ( #( SV_Target & NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) )
            Attack( Water-gun )
      set disablecounterflag = FALSE
   else
      if ( !rightarmdeadflag || !leftarmdeadflag )
         set SV_FunctionEnemy[PREVENT_ATTACK] = 1
         set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
         if ( #rightarm )
            set rightarm[TARGETABLE] = 0
         if ( #leftarm )
            set leftarm[TARGETABLE] = 0
         set rightarmdeadflag = TRUE
         set leftarmdeadflag = TRUE
         if ( !rightarmdeadflag && !leftarmdeadflag )
            Attack( Both tentacles gone )
         elseif ( !rightarmdeadflag )
            Attack( Right tentacle gone )
         else
            Attack( Left tentacle gone )
      set SV_Target = GetAttacker
      if ( #( SV_Target & NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) && ( GetRandom % 3 ) )
         Attack( Leg )
      set disablecounterflag = FALSE


Function Kraken_CounterEx
   set armdeadbits = GetKrakenDeadArms
   set krakenhp = kraken[HP]
   set rightarmhp = rightarm[HP]
   set leftarmhp = leftarm[HP]
   if ( ( armdeadbits & ARM_RIGHT ) && !rightarmdeadflag && #rightarm )
      set rightarm[HP] = hplimitrightarmdeath
   if ( ( armdeadbits & ARM_LEFT ) && !leftarmdeadflag && #leftarm )
      set leftarm[HP] = hplimitleftarmdeath


Crystal World incarnation[]

Function Kraken_Init
   set attacklist = [ Waterga ; Ink ; Water-gun ; Freeze ]


Function Kraken_ATB
   set selectedattack = RandomAttack( attacklist )
   if ( selectedattack == Waterga )
      set SV_Target = SV_PlayerTeam
   elseif ( selectedattack == Ink )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | DARKNESS) )
   elseif ( selectedattack == Water-gun )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
   elseif ( selectedattack == Freeze )
         set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | FREEZE) )
   Attack( selectedattack )


Function Kraken_Counter
   if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
      return
   if ( GetRandom & 1 )
      set SV_Target = GetAttacker
      Attack( Trouble Counter )


Other appearances[]

Dissidia Final Fantasy Opera Omnia[]

Baknamy FFTA2This section about an enemy in Dissidia Final Fantasy Opera Omnia is empty or needs to be expanded. You can help the Final Fantasy Wiki by expanding it.

Pictlogica Final Fantasy[]

Baknamy FFTA2This section about an enemy in Pictlogica Final Fantasy is empty or needs to be expanded. You can help the Final Fantasy Wiki by expanding it.

Final Fantasy Record Keeper[]

FFRK Kraken FFIX

Kraken is a boss in the Final Fantasy IX Realm Dungeon "Memoria, Part 4", and represents the water element in the second difficulty set of Magicite dungeons. Defeating Kraken obtains him as a summonable magicite. He has also been featured as a boss in limited time events. He absorbs water-elemental attacks, is vulnerable to lightning-elemental attacks, and is able to "freeze" the player characters.

Final Fantasy Trading Card Game[]

Kraken2 TCG

Kraken appears with an aqua-elemental card depicting his artwork.

Behind the scenes[]

Water Guardian FFIX Art

Concept artwork of the Water Guardian.

Kraken, as well as the other guardians, alludes to the boss of the same name from the original Final Fantasy, one of the Four Fiends the guardians of Terra of Final Fantasy IX are based on.

The player never gets to see the Water Guardian in-game. While the other three teams are shown meeting their respective Guardians, Eiko and Dagger are only seen making their way through the Water Shrine. Data hacking shows that there are many gaps in the numerical sequence of battle formations and monster IDs, showing that many battle formations and monsters were deleted prior to the final version. In addition to many more, three missing monster IDs appear around the "Earth Guardian", making one suspect that in the original version the player was to fight all four of the guardians instead of only one (in the final game, the other three are defeated via cut-scenes, including the unseen Kraken). Design artwork for these other three guardians is known, as well as for deleted locations, which would probably have been where they were fought.

Gallery[]

Etymology[]

The Kraken were giant sea monsters, found in Norse and Icelandic mythology. Often depicted as gigantic octopuses or squids, they were thought to rise up from the deeps, grappling and then sinking small ships. Other myths held that the greatest dangers from the Kraken were the whirlpools left behind from their descent back into the deeps.

Related enemies[]

Advertisement