Final Fantasy Wiki
Register
Advertisement

The Magic Vice is an enemy from Final Fantasy IX found in the Burmecia Suburbs. They can be difficult to deal with when they use Magic Hammer to deplete a magic-using character's MP. When at critical health, the Magic Vice will often flee the battle.

Like the standard Vice, Magic Vice can steal items from the party with Mug. Any stolen items are lost forever, even if the Magic Vice is subsequently defeated. This can be of considerable inconvenience as the only way to recover these items is to load a previous save file.

Stats[]

AI script[]

Using global variable mimic
Using global variable vice1
Using global variable vice2
Using global variable vice2
Using global variable viceindexcounter
Using global variable vicestate
Using global variable calledviceappeared

Function Magic_Vice_Init (without Mimic)
   set escapecounter = GetRandom % 3


Function Magic_Vice_Loop (with a Mimic)
   if ( !initflag )
      set SV_FunctionEnemy[SHADOW] = 0
      set SV_FunctionEnemy[TARGETABLE] = 0
      if ( viceindexcounter == 0 )
         set vice1 = SV_FunctionEnemy
      elseif ( viceindexcounter == 1 )
         set vice2 = SV_FunctionEnemy
      elseif ( viceindexcounter == 2 )
         set vice3 = SV_FunctionEnemy
      set viceindex = viceindexcounter++
      while ( GetBattleState != 4 )
         if ( ( ( vicestate >> ( viceindex * 4 ) ) & 0xF ) == 1 )
            set SV_Target = SV_FunctionEnemy
            AttackSpecial( Appearance )
            while ( IsAttacking == 0 )
               Wait( 1 )
            while ( IsAttacking != 0 )
               Wait( 1 )
            set SV_FunctionEnemy[TARGETABLE] = 1
            set vicestate += 1 << ( viceindex * 4 )
            while ( GetBattleState != 1 )
               Wait( 1 )
            RunBattleCode( Enable ATB )
            while ( GetBattleState != 4 )
               Wait( 1 )
         Wait( 1 )
      set initflag++
   elseif ( initflag == 1 )
      set appearancestate = ( vicestate >> ( viceindex * 4 ) ) & 0xF
      if ( ( appearancestate == 0 ) || ( ( appearancestate == 1 ) && !calledviceappeared ) )
         if ( !( #( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & mimic ) ) )
            while ( IsAttacking != 0 )
               Wait( 1 )
            set appearancestate = ( vicestate >> ( viceindex * 4 ) ) & 0xF
            if ( ( appearancestate == 0 ) || ( ( appearancestate == 1 ) && !calledviceappeared ) )
               if ( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == SV_FunctionEnemy )
                  if ( !IsRebirthFlameCasted )
                     if ( GetBattleState != 4 )
                        return
                     RunBattleCode( Disable ATB )
                     while ( GetBattleState != 1 )
                        Wait( 1 )
                     RunBattleCode( End Battle, Victory )
               else
                  set SV_FunctionEnemy[PRESENCE_OFF] = 1
      if ( appearancestate == 1 )
         if ( !( #Matching(SV_FunctionEnemy[MODEL_VISIBLE], TRUE) ) )
            set SV_FunctionEnemy[TARGETABLE] = 1
            set calledviceappeared = 1
            set vicestate += 1 << ( viceindex * 4 )
   Wait( 1 )
   loop


Function Magic_Vice_ATB (without Mimic)
   if ( escapecounter == 255 )
      set SV_Target = SV_FunctionEnemy
      Attack( Escape )
   elseif ( escapecounter )
      set escapecounter--
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      Attack( Magic Hammer )
   else
      set escapecounter = 255
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      set randnum = GetRandom % 15
      if ( randnum <= 7 )
         Attack( Mug Potion )
      elseif ( randnum <= 11 )
         Attack( Mug Hi-Potion )
      elseif ( randnum <= 13 )
         Attack( Mug Ether )
      else
         Attack( Mug Elixir )


Function Magic_Vice_ATB (with a Mimic)
   if ( ( ( vicestate >> ( viceindex * 4 ) ) & 0xF ) == 0 )
      set SV_Target = SV_FunctionEnemy
      Attack( No action )
   elseif ( ( ( vicestate >> ( viceindex * 4 ) ) & 0xF ) == 1 )
      set SV_Target = RandomInTeam(SV_PlayerTeam)
      Attack( Appearance )
   elseif ( ( ( vicestate >> ( viceindex * 4 ) ) & 0xF ) == 2 )
      if ( escapeflag )
         set SV_Target = SV_FunctionEnemy
         Attack( Escape )
      else
         set SV_Target = RandomInTeam(SV_PlayerTeam)
         set randnum = GetRandom % 15
         if ( randnum <= 7 )
            Attack( Mug Potion )
         elseif ( randnum <= 11 )
            Attack( Mug Hi-Potion )
         elseif ( randnum <= 13 )
            Attack( Mug Ether )
         else
            Attack( Mug Elixir )
         set escapeflag++
   elseif ( ( ( vicestate >> ( viceindex * 4 ) ) & 0xF ) == 3 )
      set SV_Target = SV_FunctionEnemy
      Attack( No action )


Function Magic_Vice_CounterEx
   if ( GetAttacker == SV_FunctionEnemy )
      if ( GetAttackId != Escape )
         return
      while ( IsAttacking != 0 )
         Wait( 1 )
      if ( ( #NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) ) > 1 )
         set SV_FunctionEnemy[TARGETABLE] = 0
      set SV_FunctionEnemy[MODEL_OFF] = 255
      Wait( 1 )
      if ( !( #( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & SV_FunctionEnemy ) ) )
         set SV_FunctionEnemy[DISAPPEAR] = 0
         return
      if ( #NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == 0 )
         set SV_FunctionEnemy[DISAPPEAR] = 0
      elseif ( #NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) == 1 )
         if ( GetBattleState != 4 )
         return
         RunBattleCode( Disable ATB )
         while ( GetBattleState != 1 )
            Wait( 1 )
         if ( GetExpGain )
            RunBattleCode( End Battle, Victory )
         else
            RunBattleCode( End Battle, Escape )
      else
         set SV_FunctionEnemy[PRESENCE_OFF] = 1


Gallery[]

Etymology[]

Magic or sorcery is an attempt to understand, experience and influence the world using rituals, symbols, actions, gestures and language that are believed to exploit supernatural forces.

Vice is a practice, behaviour, or habit generally considered immoral, sinful, criminal, rude, taboo, depraved, or degrading in the associated society.

Related enemies[]

Advertisement