Relevant information. With a brewing interest in exploring the game’s AI, I thought this’d be pertinent and another amazing potential discover for somebody more capable of discovering such things.
I’m wondering if there isn’t a similar setup for “seize points” for the seize throne AI, used in Ch15H and the Denning chapter, Ch29. Definitely worth looking into, non? And, if we really want to go balls deep, we could make it have a similar setup regardless? Because that’d be amazing.
Some of the second AI bytes like 0x1E (used in chapter 15) and 0x17 (chapter 31) make enemies move towards specific coordinates. Once an enemy reaches its destination it will then attack units that come into range. In chapter 15/31, the game over is activated by an enemy-triggered AREA event placed on the throne coordinates.
Second AI byte:
0x13 = Move to 03,13 (wyvern cluster in chapter 26)
0x14 = Move to 18,13 (wyvern cluster in chapter 26)
0x15 = Move to 10,24 (wyvern cluster in chapter 26)
0x16 = Move to 08,02 (wyvern cluster in chapter 26)
0x17 = Move to 06,02 (throne coordinates of chapter 31)
0x19 = Move to 06,09 (brigand in chapter 1)
0x1A = Move to 06,05 (unused?)
0x1D = Move to 15,17 (wyvern cluster in chapter 32)
0x1E = Move to 05,02 (throne coordinates of chapter 15)
Unfortunately, the fact that each coordinate set is assigned a different AI code makes me suspect the coordinates are hard coded in the AI instructions.
Other useful values for the second AI byte include 0xE and 0xF, used in chapter 12 only I believe.
0xE = Move to character of ID 0x1 (Eliwood by default)
0xF = Move to character of ID 0x2 (Hector by default)
There are a few more instances of 0x0E and 0x0F being used in the game. Some examples: NPC Wallace in Eliwood mode has 0x0E and the wyverns in HHM chapter 24 Lloyd have 0x0F (which helps keep them away from Wallace)
There’s additional AI with similar behavior:
0x21 = Move to character of ID 0x01 (Eliwood) - used by NPC Hawkeye in Eliwood mode
0x22 = Move to character of ID 0x02 (Hector) - used by NPC Hawkeye in Hector mode
So what is the difference between 0x0E/0x0F and 0x21/0x22?
I think enemy behavior is the same but NPC behavior appears different.
NPC unit with 0x21/0x22 moves towards the target character and stops when the target is inside the NPC’s range. The NPC will follow the target if it moves out of range. NPC unit with 0x0E/0x0F also moves to get the target within range, but afterwards it alternates between moving towards the nearest enemy and then moving back towards the target character.
Other “move to character” AI codes:
0x0D = Move to character of ID 0x28 (Merlinus)
0x10 = Move to character of ID 0x26 (Nils)
0x11 = Move to character of ID 0x7A (Zephiel)
NPC units with these codes follow the 0x0E/0x0F type of behavior. Actually, 0x0D through 0x11 are all assigned to enemies with 0x0E Wallace being the sole exception. Makes me wonder if Wallace was supposed to have 0x21 instead, because the NPC behavior with 0x0D through 0x11 is a bit weird.