STEAM GROUP
Final Fantasy - Modding FF-Modding
STEAM GROUP
Final Fantasy - Modding FF-Modding
137
IN-GAME
1,510
ONLINE
Founded
26 July, 2015
Language
English
Location
United States 
All Discussions > Final Fantasy IX > Topic Details
WarpedEdge 8 May, 2016 @ 6:13am
Blank, Marcus, Cinna, and Beatrix all playable?
I want to know if anyone can work on a mod that will allow us to not only have Beatrix in the party, but to allow the Tantalus Troupe as well.. I know someone made a mod for Beatrix...But I seriously would love to go through the game as the Tantalus Troupe and I am sure there are others like me. I am very active so I will respond daily to any thing... Just please make this happen.
< >
Showing 1-15 of 22 comments
Moogy 8 May, 2016 @ 6:36am 
i would rather have the "FFIX Unleashed" insane awesome mod that changes difficulty, added new skills and maybe chars, probably not hard. But i wouldnt care too much about it since they would only be in battle anyway.

Steiner and Eiko have all of Beatrix skills and the Tantalus groups are cool but they dont have skills like Zidane.

Now if this "FFIX Unleashed" PSX mod would come to Steam, also with the character mods, surely they could add more skills to the Tantalus group like was added to the regular characters.
Why not just add that old mod, instead of thinking of something new, all there needs to be done is configuring for Steam (which is probably complicated lol)
WarpedEdge 8 May, 2016 @ 7:57am 
Um once the Hades Workshop comes into steam version, I will be able to apply that mod to it.
Also on another note, You can change the skills to match with other characters, which would mean Blank or Marcus could have Steiner's or Zidane's skills.
Last edited by WarpedEdge; 8 May, 2016 @ 7:58am
Moogy 8 May, 2016 @ 10:00am 
Originally posted by Lil™Blank:
Um once the Hades Workshop comes into steam version, I will be able to apply that mod to it.
Also on another note, You can change the skills to match with other characters, which would mean Blank or Marcus could have Steiner's or Zidane's skills.


That would be so awesome !
Seriously, cant wait for that
WarpedEdge 8 May, 2016 @ 3:23pm 
Yeah I really hope someone replies here about that.
Tirlititi 29 May, 2016 @ 1:43am 
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).
Last edited by Tirlititi; 29 May, 2016 @ 2:07am
Moogy 29 May, 2016 @ 2:52am 
Originally posted by Tirlititi:
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).

Wait sorry, so what is this ?
Tirlititi 29 May, 2016 @ 4:32am 
An answer to the post right above mine.
Moogy 29 May, 2016 @ 5:37am 
Originally posted by Tirlititi:
An answer to the post right above mine.

Yes but what is it about ? Is it a mod available ?
Albeoris 29 May, 2016 @ 10:53am 
It has turned out .
https://i.imgur.com/5hjIbTY.png
https://youtu.be/jQpFdtVxaW0

Originally posted by Tirlititi:
Here is how it works :

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.

Can you tell me more about this?
What is a magic link between "25" (the "Fire" ability index) and "56" (the "Fire" ability id)?
Because _FF9BMenu_ComAbil contains duplicate entries and may not link all of the 191 active abilities.
Tirlititi 29 May, 2016 @ 11:25am 
"56" is the index of the spell ID "25" inside the Command Ability list.
I reproduce that Command Ability list here and I add a line break before all the indices that are present in the _FF9FAbil_ComData setup :

rdata._FF9BMenu_ComAbil = new int[]{ 49, 51, 53, 55, 58, 60, 62, 64, 1, 2, 3, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 49, 51, 53, 55, 58, 60, 62, 64, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 68, 66, 72, 74, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 50, 52, 54, 56, 57, 59, 61, 63, 65, 75, 76, 189, 191, 149, 150, 151, 152, 149, 150, 151, 152, 2, 5, 6, 10, 14, 16, 19, 24, 25, 29, 33, 174, 173, 175, 173 };

"56" here is the index of the "25" at the start of the 6th line. If you want to change Zidane's ability, it's better to modify the "101" in this list instead of changing the index in _FF9FAbil_ComData.
If you want to modify the amount of abilities (giving 16 to Zidane instead of 8, for instance), you can't avoid computing that list again, though.
Last edited by Tirlititi; 29 May, 2016 @ 11:28am
Albeoris 29 May, 2016 @ 11:32am 
Oh, I see. Thank you.
It should be easy to generate automatically.
Albeoris 30 May, 2016 @ 3:11pm 
No more indices. Only ability ids. (:
1 25 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48 # Blk Mag
Last edited by Albeoris; 30 May, 2016 @ 3:12pm
WarpedEdge 1 Jun, 2016 @ 7:17pm 
Holy crap some real progress between you two. I hope to see the HW working for steam real soon <3
WarpedEdge 4 Jun, 2016 @ 4:21am 
@Tirlititi Are you still working on HW?
< >
Showing 1-15 of 22 comments
Per page: 1530 50

All Discussions > Final Fantasy IX > Topic Details