Final Fantasy Wiki
Advertisement

The Mover is an enemy from Final Fantasy IX fought in Terra and Pandemonium. It appears in threes and has unique death behavior compared to other enemies in the game. They are dangerous when all three are present at once.

Stats[]

Middle

Right

Left

Battle[]

Movers are exceptionally dangerous when all three are present, as they can align into a formation that triggers the lethal Delta Attack spell. Destroying at least one of the Movers will eliminate this threat.

For some reason, Movers cannot die from a White Magic spell, an item, or a Mug: their AI specifically prevents it by setting their HP to 1 (or one more than their death threshold to be accurate). Two Movers cannot die together (they can all die together, but not just two of them). Using a spell that should kill exactly two Movers, will kill only one, while the other's HP is set to the threshold. Any attack after that will kill it, even a 0-damage Minus Strike.

Spells countered with Return Magic also cannot kill Movers unless they die together, because the death of one Mover is actually a counter, and it is not possible to counter a counter.

Movers are susceptible to Quina's LV4 Holy.

AI script[]

Function Mover_Loop
   if ( !initflag )
      set initflag = TRUE
      set mover1 = SV_EnemyTeam[ENEMY_ID] ==$ 0
      set mover2 = SV_EnemyTeam[ENEMY_ID] ==$ 1
      set mover3 = SV_EnemyTeam[ENEMY_ID] ==$ 2
      set mover1[SHADOW] = 0
      set mover2[SHADOW] = 0
      set mover3[SHADOW] = 0
      set hplimitdeath = 65535L - SV_FunctionEnemy[HP]
      set mover1[MAX_HP] = 65535L
      set mover2[MAX_HP] = 65535L - SV_FunctionEnemy[HP] / 2
      set mover3[MAX_HP] = 65535L
      set mover1[HP] = 65535L
      set mover2[HP] = mover2[MAX_HP]
      set mover3[HP] = 65535L
      RunBattleCode( Enable ATB )
      while ( GetBattleState != 4 )
         Wait( 1 )
   if ( waitingcounter && ( GetAttacker == SV_FunctionEnemy ) )
      set waitingcounter = FALSE
   Wait( 1 )
   loop


Function Mover_ATB
   if ( firstdown || seconddown )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      if ( ( GetRandom % 3 ) && ( SV_FunctionEnemy[MP] >= 24 ) )
         Attack( Firaga )
      else
         Attack( Virus Combo )
   elseif ( SV_FunctionEnemy[STAND_ANIMATION] == 0 )
      if ( GetRandom & 1 )
         set SV_Target = RandomInTeam(SV_PlayerTeam)
         Attack( Virus Combo )
      else
         set SV_Target = SV_FunctionEnemy
         Attack( Continue1 )
   else
      set SV_Target = SV_FunctionEnemy
      Attack( Continue2 )


Function Mover_Counter
   if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
      return
   if ( ( GetAttackCommandId == Item ) || ( GetAttackCommandId == Wht Mag ) || ( GetAttackCommandId == Dbl Wht ) || ( GetAttackCommandId == Steal ) )
      set downlist = 0
      if ( mover1[HP] < hplimitdeath )
         set downlist = 4
      if ( mover2[HP] < hplimitdeath )
         set downlist |= 1
      if ( mover3[HP] < hplimitdeath )
         set downlist |= 2
      if ( downlist & 4 )
         set mover1[HP] = hplimitdeath
      if ( !firstdown && ( downlist & 1 ) )
         set mover2[HP] = hplimitdeath
      if ( !seconddown && ( downlist & 2 ) )
         set mover3[HP] = hplimitdeath
      if ( downlist == 7 )
         set alldown = TRUE
         if ( #( SV_EnemyTeam & mover2 ) )
            set mover2[HP] = 0
         if ( #( SV_EnemyTeam & mover3 ) )
            set mover3[HP] = 0
         if ( #( SV_EnemyTeam & mover1 ) )
            set mover1[HP] = 0
   set downlist = 0
   set SV_Target = SV_FunctionEnemy
   if ( alldown )
      return
   if ( waitingcounter )
      if ( mover1[HP] < hplimitdeath )
         set mover1[HP] = hplimitdeath
      if ( ( mover2[HP] < hplimitdeath ) && !firstdown )
         set mover2[HP] = hplimitdeath
      if ( ( mover3[HP] < hplimitdeath ) && !seconddown )
         set mover3[HP] = hplimitdeath
      return
   if ( firstdown )
      if ( seconddown )
         if ( mover1[HP] < hplimitdeath )
            set alldown = TRUE
            if ( #( SV_EnemyTeam & mover2 ) )
               set mover2[HP] = 0
            if ( #( SV_EnemyTeam & mover3 ) )
               set mover3[HP] = 0
            if ( #( SV_EnemyTeam & mover1 ) )
               set mover1[HP] = 0
         return
      if ( mover1[HP] < hplimitdeath )
         if ( mover3[HP] < hplimitdeath )
            set alldown = TRUE
            if ( #( SV_EnemyTeam & mover2 ) )
               set mover2[HP] = 0
            if ( #( SV_EnemyTeam & mover3 ) )
               set mover3[HP] = 0
            if ( #( SV_EnemyTeam & mover1 ) )
               set mover1[HP] = 0
            return
         set mover1[HP] = mover3[HP]
         set mover3[HP] = hplimitdeath - 1
      if ( mover3[HP] >= hplimitdeath )
         return
      set mover1[STAND_ANIMATION] = 0
      set waitingcounter = TRUE
      set downlist = 2
      Attack( Spin )
   if ( seconddown )
      if ( mover1[HP] < hplimitdeath )
         if ( mover2[HP] < hplimitdeath )
            set alldown = TRUE
            if ( #( SV_EnemyTeam & mover2 ) )
               set mover2[HP] = 0
            if ( #( SV_EnemyTeam & mover3 ) )
               set mover3[HP] = 0
            if ( #( SV_EnemyTeam & mover1 ) )
               set mover1[HP] = 0
            return
         set mover1[HP] = mover2[HP]
         set mover2[HP] = hplimitdeath - 1
      if ( mover2[HP] >= hplimitdeath )
         return
      set mover1[STAND_ANIMATION] = 0
      set waitingcounter = TRUE
      set downlist = 1
      Attack( Spin )
   if ( mover1[HP] < hplimitdeath )
      set downlist = 4
   if ( mover2[HP] < hplimitdeath )
      set downlist |= 1
   if ( mover3[HP] < hplimitdeath )
      set downlist |= 2
   if ( ( downlist == 0 ) && ( mover1[STAND_ANIMATION] == 1 ) )
      set waitingcounter = TRUE
      set SV_Target = GetAttacker
      Attack( Delta Attack )
   elseif ( downlist == 1 )
      set mover1[STAND_ANIMATION] = 0
      set waitingcounter = TRUE
      set downlist = 1
      Attack( Spin )
   elseif ( downlist == 4 )
      set mover1[HP] = mover3[HP]
      set mover3[HP] = hplimitdeath - 1
   elseif ( downlist == 2 )
      set mover1[STAND_ANIMATION] = 0
      set waitingcounter = TRUE
      set downlist = 2
      Attack( Spin )
   elseif ( downlist == 5 )
      set mover1[HP] = mover3[HP]
      set mover3[HP] = hplimitdeath - 1
   elseif ( downlist == 6 )
      set mover1[HP] = mover2[HP]
      set mover2[HP] = hplimitdeath - 1
   elseif ( downlist == 3 )
      set mover1[STAND_ANIMATION] = 0
      set waitingcounter = TRUE
      set downlist = 3
      Attack( Spin )
   elseif ( downlist == 7 )
      set alldown = TRUE
      if ( #( SV_EnemyTeam & mover2 ) )
         set mover2[HP] = 0
      if ( #( SV_EnemyTeam & mover3 ) )
         set mover3[HP] = 0
      if ( #( SV_EnemyTeam & mover1 ) )
         set mover1[HP] = 0


Function Mover_CounterEx
   if ( GetAttackCommandId == Enemy Counter )
      set SV_FunctionEnemy[PREVENT_ATTACK] = 1
      if ( downlist & 1 )
         set firstdown = TRUE
         set mover2[TARGETABLE] = 0
         set mover1[MODEL_OFF] = 12
      if ( downlist & 2 )
         set seconddown = TRUE
         set mover3[TARGETABLE] = 0
         set mover1[MODEL_OFF] = 48
   set downlist = 0
   if ( mover1[HP] < hplimitdeath )
      set downlist = 4
   if ( mover2[HP] < hplimitdeath )
      set downlist |= 1
   if ( mover3[HP] < hplimitdeath )
      set downlist |= 2
   if ( downlist & 4 )
      set mover1[HP] = hplimitdeath
   if ( !firstdown && ( downlist & 1 ) )
      set mover2[HP] = hplimitdeath
   if ( !seconddown && ( downlist & 2 ) )
      set mover3[HP] = hplimitdeath
   if ( downlist == 7 )
      set alldown = TRUE
      if ( #( SV_EnemyTeam & mover2 ) )
         set mover2[HP] = 0
      if ( #( SV_EnemyTeam & mover3 ) )
         set mover3[HP] = 0
      if ( #( SV_EnemyTeam & mover1 ) )
         set mover1[HP] = 0


Tetra Master[]

Tetra Master
Mover
#050
Location: Black Mage Village (Black mage no.33)
Treno (Card Stadium)

Mover's card can be won from Black mage no.33 in the endgame, though they play it only rarely. Beast Master Gilbert uses it in the Treno Card Stadium in the endgame.


Gallery[]

Advertisement