DarthKitty (talk | contribs) (→Formations: Make sorting actually work) Tag: sourceedit |
(Add AI) |
||
Line 81: | Line 81: | ||
|} |
|} |
||
|} |
|} |
||
+ | |||
+ | == AI Script == |
||
+ | Using general variable Batlle_WyerdStrikeCounter |
||
+ | |||
+ | Function Main_Init |
||
+ | :set strikecounter = Batlle_WyerdStrikeCounter |
||
+ | :if ( !strikecounter ) |
||
+ | ::set strikecounter = 1 |
||
+ | :if ( strikecounter < 3 ) |
||
+ | ::set strikecounter++ |
||
+ | :else |
||
+ | ::if ( strikecounter == 4 ) |
||
+ | :::set strikecounter = 5 |
||
+ | :set Batlle_WyerdStrikeCounter = strikecounter |
||
+ | |||
+ | |||
+ | Function Wyerd_Loop |
||
+ | :if ( !initflag ) |
||
+ | ::set SV_FunctionEnemy[MAX_HP] = 12345 |
||
+ | ::set initflag++ |
||
+ | :else |
||
+ | ::if ( initflag == 1 ) |
||
+ | :::if ( #( SV_FunctionEnemy[HP] == 0 ) ) |
||
+ | ::::if ( ( SV_EnemyTeam[MODEL] ==$ SV_FunctionEnemy[MODEL] ) == SV_FunctionEnemy ) |
||
+ | :::::set SV_FunctionEnemy[STOP_ANIM] = 2 |
||
+ | :::::set SV_FunctionEnemy[PLAY_ANIM_ONCE] = 0 |
||
+ | :set strikecounter = Batlle_WyerdStrikeCounter |
||
+ | :if ( ( strikecounter == 3 ) || ( strikecounter == 4 ) ) |
||
+ | ::set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB] |
||
+ | :Wait( 1 ) |
||
+ | :loop |
||
+ | |||
+ | |||
+ | Function Wyerd_ATB |
||
+ | :set strikecounter = Batlle_WyerdStrikeCounter |
||
+ | :if ( ( strikecounter == 3 ) || ( strikecounter == 4 ) ) |
||
+ | ::set SV_Target = RandomInTeam(SV_PlayerTeam) |
||
+ | ::if ( strikecounter == 3 ) |
||
+ | :::Attack( StrikeB ) |
||
+ | ::else |
||
+ | :::Attack( StrikeC ) |
||
+ | ::set strikecounter++ |
||
+ | ::set Batlle_WyerdStrikeCounter = strikecounter |
||
+ | :if ( GetRandom & 1 ) |
||
+ | ::set SV_Target = SV_PlayerTeam |
||
+ | ::if ( #( SV_Target & 1 ) ) |
||
+ | :::if ( FirstOf(1[HP]) < FirstOf(SV_FunctionEnemy[HP]) ) |
||
+ | ::::set SV_Target &= ( ~1 ) |
||
+ | ::if ( #( SV_Target & 2 ) ) |
||
+ | :::if ( FirstOf(2[HP]) < FirstOf(SV_FunctionEnemy[HP]) ) |
||
+ | ::::set SV_Target &= ( ~2 ) |
||
+ | ::if ( #( SV_Target & 4 ) ) |
||
+ | :::if ( FirstOf(4[HP]) < FirstOf(SV_FunctionEnemy[HP]) ) |
||
+ | ::::set SV_Target &= ( ~4 ) |
||
+ | ::if ( #( SV_Target & 8 ) ) |
||
+ | :::if ( FirstOf(8[HP]) < FirstOf(SV_FunctionEnemy[HP]) ) |
||
+ | ::::set SV_Target &= ( ~8 ) |
||
+ | ::set SV_Target = RandomInTeam(SV_Target) |
||
+ | ::if ( #SV_Target ) |
||
+ | :::Attack( HP Switching ) |
||
+ | ::else |
||
+ | :::if ( !( GetRandom % 3 ) ) |
||
+ | :::set SV_Target = RandomInTeam(SV_PlayerTeam) |
||
+ | ::::Attack( HP Switching ) |
||
+ | :if ( ( SV_FunctionEnemy[MP] < 6 ) || #Matching(SV_FunctionEnemy[STATUS_CURRENT], SILENCE) && ( GetRandom & 1 ) ) |
||
+ | ::set SV_Target = RandomInTeam(SV_PlayerTeam) |
||
+ | ::Attack( Strike ) |
||
+ | :set SV_Target = RandomInTeam(SV_PlayerTeam) |
||
+ | :Attack( Blizzard ) |
||
+ | |||
== [[Tetra Master (minigame)|Tetra Master]] == |
== [[Tetra Master (minigame)|Tetra Master]] == |
Revision as of 17:26, 1 March 2018
Template:Sideicon Template:Enemy The Wyerd is an enemy from Final Fantasy IX. The party can find it in the Ice Cavern. Every time it uses its physical attack it will utter one of these two phrases: "The wind lays out my path." or "Get out of my way" (this is a reference to the small icy winds blowing through the Ice Cavern. Wyerds are only encountered by touching these winds when they appear, so they can be effectively avoided with careful timing).
Otherwise, it can be a bit tricky to fight, as its HP Switching attack exchanges its HP with the targets, typically restoring their own HP and placing the target in critical health. Compounding this problem is the fact that Wyerd often uses Blizzard on weakened party members, possibly killing them.
Note that even though it has few Hit Points, its maximum HP is tremendously high, able to reach up to 9999 HP if it switches HP with a party member with 9999 HP.
Stats
Template:FFIX Enemy Stats
Formations
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
???? |
|
AI Script
Using general variable Batlle_WyerdStrikeCounter
Function Main_Init
- set strikecounter = Batlle_WyerdStrikeCounter
- if ( !strikecounter )
- set strikecounter = 1
- if ( strikecounter < 3 )
- set strikecounter++
- else
- if ( strikecounter == 4 )
- set strikecounter = 5
- if ( strikecounter == 4 )
- set Batlle_WyerdStrikeCounter = strikecounter
Function Wyerd_Loop
- if ( !initflag )
- set SV_FunctionEnemy[MAX_HP] = 12345
- set initflag++
- else
- if ( initflag == 1 )
- if ( #( SV_FunctionEnemy[HP] == 0 ) )
- if ( ( SV_EnemyTeam[MODEL] ==$ SV_FunctionEnemy[MODEL] ) == SV_FunctionEnemy )
- set SV_FunctionEnemy[STOP_ANIM] = 2
- set SV_FunctionEnemy[PLAY_ANIM_ONCE] = 0
- if ( ( SV_EnemyTeam[MODEL] ==$ SV_FunctionEnemy[MODEL] ) == SV_FunctionEnemy )
- if ( #( SV_FunctionEnemy[HP] == 0 ) )
- if ( initflag == 1 )
- set strikecounter = Batlle_WyerdStrikeCounter
- if ( ( strikecounter == 3 ) || ( strikecounter == 4 ) )
- set SV_FunctionEnemy[ATB] = SV_FunctionEnemy[MAX_ATB]
- Wait( 1 )
- loop
Function Wyerd_ATB
- set strikecounter = Batlle_WyerdStrikeCounter
- if ( ( strikecounter == 3 ) || ( strikecounter == 4 ) )
- set SV_Target = RandomInTeam(SV_PlayerTeam)
- if ( strikecounter == 3 )
- Attack( StrikeB )
- else
- Attack( StrikeC )
- set strikecounter++
- set Batlle_WyerdStrikeCounter = strikecounter
- if ( GetRandom & 1 )
- set SV_Target = SV_PlayerTeam
- if ( #( SV_Target & 1 ) )
- if ( FirstOf(1[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- set SV_Target &= ( ~1 )
- if ( FirstOf(1[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- if ( #( SV_Target & 2 ) )
- if ( FirstOf(2[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- set SV_Target &= ( ~2 )
- if ( FirstOf(2[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- if ( #( SV_Target & 4 ) )
- if ( FirstOf(4[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- set SV_Target &= ( ~4 )
- if ( FirstOf(4[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- if ( #( SV_Target & 8 ) )
- if ( FirstOf(8[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- set SV_Target &= ( ~8 )
- if ( FirstOf(8[HP]) < FirstOf(SV_FunctionEnemy[HP]) )
- set SV_Target = RandomInTeam(SV_Target)
- if ( #SV_Target )
- Attack( HP Switching )
- else
- if ( !( GetRandom % 3 ) )
- set SV_Target = RandomInTeam(SV_PlayerTeam)
- Attack( HP Switching )
- if ( ( SV_FunctionEnemy[MP] < 6 ) || #Matching(SV_FunctionEnemy[STATUS_CURRENT], SILENCE) && ( GetRandom & 1 ) )
- set SV_Target = RandomInTeam(SV_PlayerTeam)
- Attack( Strike )
- set SV_Target = RandomInTeam(SV_PlayerTeam)
- Attack( Blizzard )
Tetra Master
Template:FFIX Tetra Master
Other appearances
Final Fantasy Record Keeper
Template:Sideicon