STEAM GROUP
Final Fantasy - Modding FF-Modding
STEAM GROUP
Final Fantasy - Modding FF-Modding
258
IN-GAME
2,252
ONLINE
Founded
26 July, 2015
Language
English
Location
United States 
Showing 71-80 of 85 entries
22
Blank, Marcus, Cinna, and Beatrix all playable?
Here is how it works :

1) Commands : there are 48 different commands, like "Blue Magic" or "Item". The setup is in the file rdata.cs (_FF9FAbil_ComData). Modifying commands only change the castable abilities in battle ; it doesn't modify which ability whichever character can learn nor his ability list in the menu. If a command gives access to an ability list (like "White Magic" and unlike "Throw"), an external table is used, the "Command Ability list" and the datas of the command are the table position of the 1st ability + the amount of abilities.

2) Command Ability list : by default, it's a table of 192 numbers, which are identifiers of the abilities. The setup is in rdata.cs (_FF9BMenu_ComAbil). Beware that several data ranges are used by (two) different commands : Vivi's Black Magic and Double Black commands use both the same range for instance.

3) Character Command list : there are 20 command pairs, which are the character-specific commands available in battles, when Trance is off. The setup is also in rdata.cs (_FF9BMenu_MenuNormal). As some of the characters have two different command lists through the game (eg. Zidane can have his default commands or his SFX command), there are more command pairs than characters. The link "character - command pair" is made in the game script (external files of type .eb which are stored in the file p0data7.bin) ; here are those links :
- Zidane uses the command pairs 0 (default) and 16 (SFX)
- the other permanent party members use only one command pair, with the same ID as their character ID (1 = Vivi, 2 = Dagger, ...)
- Cinna uses the command pairs 8, 9 (both Steal) and 17 (SFX)
- Marcus uses the command pairs 10, 11 (both Steal) and 18 (SFX)
- Blank uses the command pairs 12, 13 (both Steal) and 19 (SFX)
- Beatrix uses the command pairs 14 and 15 (the same abilities overall but with different commands)

4) Character Trance Command list : same. The setup is in rdata.cs (_FF9BMenu_MenuTrance). There is a 3rd number here, indicating which command changes from normal to trance status (it's only used for AP learning ; the trance abilities of the indicated command are linked to the normal abilities).

5) Character Ability list : it consists of 16 lists, each containing 48 "PA_DATA", which are pairs Ability + AP required. The setup is in FF9/ff9abil.cs (_FF9Abil_PaData). It is the lists of abilities displayed (and usable) in the menu, both for the castable abilities and the supporting skills. It also defines the AP amount required for an ability to be learned. As for the character command lists, the link "character - ability list" is made in the game script and it is the same as the link "character - command pair" so refer to the list above. Note that there are 4 command pairs without abilities (the SFX ones) so nothing can be learned or displayed in the menu while the characters have these command pairs.
Also, another problem (annoying for the OP request) is that the supporting ability sub-menu is always disabled in-game for non-permanent characters. The check for enabling/disabling the supporting ability sub-menu is in FF9/ff9abil.cs at the function FF9Abil_HasAp :
public static bool FF9Abil_HasAp(PLAYER play) { return (play.category & 16) == 0 && play.info.menu_type < 8; }
Usually, both those conditions are met or both are not met, together (the only exception without modding is when Zidane uses his SFX commands).
41
We need these mods !
5
FFIX Discussions contains mods not listed here
867
1
Memoria - Engine modifications
5
Tell me where the game dialogues and how they can be edited?
11
Request for FF9
5
Modding Informations
Showing 71-80 of 85 entries