Rock on ! An AI editor sounds like the second coming of Jesus Christ
Well.....I hope it doesn't mean the end of everything.
As for its interface... ...Do you know FF3USME ? It's a multi-editor for the FFVI rom, and it's the only one I know that can edit the monsters' AI. Its interface is really good, and very noob-friendly.
Here is a screenshot, in case it gives you ideas.
Yes I DO know of FF3usme and have used it to modify several bosses; Including making a harder MagiMaster and a counter-attack-only Dark Chadernook. HOWEVER...The AI of FF7 is infinitely more complicated than FFVI's. FFVI's has a patterned AI, but FFVII's is much more high-leveled than that.
EX:
Most enemies of FFVI have little more than a list of attacks to choose from. Take the "Dark Force" for example. He has a very simple script:
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
Wait until next turn
Perform one of three actions
End Script (wait until next turn to start over)
End Script (this is the counter attack script, which he doesn't have)
And that's the sum total of his script. It takes ~36 bytes of code to do this. However, in FF7, it would take probably 150 bytes (likely more) to do this since it has fewer built-in functions.
Now let's look at Rufus' script:
AI: Main
{
If ((Rufus' HP > 200) AND (TempVar:HPDiff < 100) AND (1/3 Chance)) Then
{
Print Message [Rufus "Heh, Heh, Heh..."]
Choose Self
Use <> on Target
} Else {
Choose Random Opponent
Use Shotgun on Target
}
}
AI: Counter - General
{
TempVar:HPDiff = TempVar:PrevHP - Rufus' HP
TempVar:PrevHP = Rufus' HP
}
AI: Counter - Death
{
Print Message [Rufus "Heh... That's all for today..."]
Choose Self
Use <(Report)> on Target
If (Dark Nation doesn't have Death Status) Then
{
Remove Dark Nation
}
}
Some of this can't be done in FFVI, but this script takes 199 bytes and executes the entire main script in one turn.
FFVII doesn't have a "choose one of the following three attacks" built in to it. All those "choose one"s have to be randomly selected using if statements which are made more difficult because we have to write it in assembler. I know of no way to make this noob-friendly, but I'll probably make some tutorials (in the helpfile and otherwise) on how to do certain things like if-conditions, random choices, loops, etc.
EDIT: Speaking of scripting, now that this is close to being able to edit scripts (it's so close now I can smell it. Continue being patient) I feel a tutorial needs to be made on how to do such things. I've started making one in the helpfile, but I think it needs to be more centralized than that. I was thinking of making something like
Morrowind's Scripting for Dummies guide. It's 230 pages long, but since there are less than 100 opcodes available to us in FFVII, we'd have fewer pages.
Would anyone with advanced scripting knowledge like to help me write one or, at least, proof-read my tutorials to make sure they're correct?