The Mimic is an enemy from Final Fantasy IX. It can be found in a residence in Burmecia disguised as a treasure chest. The Mimic's Call ability summons a Magic Vice enemy to its side, and it always uses this move at the beginning of the battle. After this original Vice is defeated, the Mimic can continue to call more to help it, so defeating the Mimic first is a good idea.
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 Mimic_Loop
if ( !initflag )
set mimic = SV_FunctionEnemy
set calledviceindex = GetRandom % 3
if ( calledviceindex == 0 )
if ( #( SV_EnemyTeam & vice1 ) )
set calledvice = vice1
elseif ( calledviceindex == 1 )
if ( #( SV_EnemyTeam & vice2 ) )
set calledvice = vice2
elseif ( calledviceindex == 2 )
if ( #( SV_EnemyTeam & vice3 ) )
set calledvice = vice3
set SV_Target = SV_FunctionEnemy
AttackSpecial( Call )
set vicestate += 1 << ( calledviceindex * 4 )
set callcounter = 1
set initflag++
if ( !( #( vice1 & SV_EnemyTeam ) ) )
set vicestate = ( vicestate | 0xF ) & 0xFFF3
if ( !( #( vice2 & SV_EnemyTeam ) ) )
set vicestate = ( vicestate | 0xF0 ) & 0xFF3F
if ( !( #( vice3 & SV_EnemyTeam ) ) )
set vicestate = ( vicestate | 0xF00 ) & 0xF3FF
Wait( 1 )
loop
Function Mimic_ATB
if ( !( GetRandom % 3 ) )
set SV_Target = RandomInTeam( NotMatching(SV_PlayerTeam[STATUS_CURRENT], PETRIFY | DEATH | JUMP | POISON) )
if ( #SV_Target && ( SV_FunctionEnemy[MP] >= 8 ) )
Attack( Poison )
set SV_Target = RandomInTeam(SV_PlayerTeam)
Attack( Eat )
Function Mimic_Counter
if ( ( GetAttackCommandId == Skill ) && ( GetAttackId == What's That?! ) )
return
if ( #Matching(SV_FunctionEnemy[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP | SLEEP | HEAT | FREEZE) )
return
if ( !( #( NotMatching(SV_EnemyTeam[STATUS_CURRENT], PETRIFY | VENOM | DEATH | STOP) & SV_FunctionEnemy ) ) )
return
if ( ( --callcounter ) <= 0 )
set callcounter = 1
for ( i = 0 ; i <= 2 ; i++ )
if ( ( ( ( vicestate >> ( i * 4 ) ) & 0xF ) == 1 ) || ( ( ( vicestate >> ( i * 4 ) ) & 0xF ) == 2 ) )
break
if ( i <= 2 )
set calledviceindex = GetRandom % 3
for ( i = 0 ; i <= 2 ; i++ )
if ( ( ( vicestate >> ( calledviceindex * 4 ) ) & 0xF ) == 0 )
if ( calledviceindex == 0 )
if ( #( SV_EnemyTeam & vice1 ) )
set calledvice = vice1
elseif ( calledviceindex == 1 )
if ( #( SV_EnemyTeam & vice2 ) )
set calledvice = vice2
elseif ( calledviceindex == 2 )
if ( #( SV_EnemyTeam & vice3 ) )
set calledvice = vice3
set SV_Target = SV_FunctionEnemy
Attack( Call )
set calledviceappeared = 0
set calledvice[PREVENT_ATTACK] = 1
set calledvice[ATB] =$ calledvice[MAX_ATB]
set vicestate += 1 << ( calledviceindex * 4 )
if ( ++calledviceindex >= 3 )
set calledviceindex -= 3
set callcounter = 255
Tetra Master[]
Tetra Master |
---|
#012 Location: Treno, Gate area |
Other appearances[]
Pictlogica Final Fantasy[]
Final Fantasy Record Keeper[]