Author Topic: [FF9] General editor - Hades Workshop (0.38)  (Read 160561 times)

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #925 on: 2017-10-14 12:57:34 »
Thanks you Satoh for this other animation list :D

I think the "IsButton" worked well for directions in the PSX version. That'd be a shame if they don't work anymore :/
Here's a list of the buttons :
Code: [Select]
0 : Select
3 : Start
4 : Up
5 : Right
6 : Down
7 : Left
8 : L2
9 : R2
10 : L1
11 : R1
12 : Triangle
13 : Circle
14 : Cross
15 : Square
16 : Cancel
17 : Confirm
19 : Moogle
20 : L1 Ex
21 : R1 Ex
22 : L2 Ex
23 : R2 Ex
24 : Menu
25 : Select Ex
Use the power of 2 for the number in the script.
For instance, "8" corresponds to 2^3 -> Start button. "40" corresponds to 2^3 + 2^5 -> Start or Right button.

You see that there seems to be duplicates: there is "Square" but also "Moogle". In fact, the first will always react to a square button input while the second one will react depending on the player's settings (in FF9 config menu). Same for the L/R buttons and there "Ex" counterpart.
Maybe you can try both "Select Ex" and "Select". However, I know that my controller's select button has trouble with several games and FF9 is part of them.

The "Start" button, at least in PSX, is triggered if the player pauses the game and then unpause it, but it triggers only once.

Satoh

  • Insane poster
  • *
  • Posts: 385
  • Karma: 3
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #926 on: 2017-10-16 02:38:19 »
Well, I was trying to put it all inside the Zidane_Loop function... which maybe is too much code for that and won't work...
I noticed that a lot of stuff prefers to call synchronous code inside the Loop function, instead of letting the code be inside it...

Maybe I just need to rethink everything I was doing from the ground up.

Although, I didn't know about the Ex versions of the buttons... I wonder why there are two copies.

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #927 on: 2017-10-16 09:47:08 »
The copies are for the remapping of the buttons: you can remap them in FF9 config menu just like the others. I think the "Ex" version is the remapped button while the normal is the controller button ignoring the remapping.
I don't think there's any limit on the code you can put/execute in a loop function. However, I thought that maybe "IsButton" doesn't work with the directional arrows and only "IsButtonDown" works with them.

The theoritical difference can be seen in this kind of loops:
Code: [Select]
while (1) {
    if (IsButton(16)) {
        AddItem( 1, 1 ) // Add 1 Dagger everytime the player presses "Up"
    }
    if (IsButtonDown(16)) {
        AddGil( 1 ) // Add 1 gil every frame as long as the button "Up" is pressed
    }
    Wait(1)
}
In practice, maybe they disabled the check of "IsButton" on the arrows for some reason. They use "IsButtonDown" for sure for special windows such as the Treno Action bidding (for selecting the amount of gil you want to bid).

Satoh

  • Insane poster
  • *
  • Posts: 385
  • Karma: 3
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #928 on: 2017-10-20 19:59:28 »
This is an unrelated comment to my previous ones, but I have a suggestion to help with editing.

Show the ID numbers somewhere in the Strings and Fields lists so they can be easily compared with the numbered text file exports.

The Fields especially take a really long time to load in the editor when it first opens, so opening the editor to check one small detail can actually take some time
(I clocked it at about 5 minutes to load all the fields, during which time the editor was busy and couldn't be used, so I had to wait for it to finish. Also each field in the list seems to take about 2 times as long to load as the previous one, which gets quite slow after going through 817 fields twice. I'm assuming that's a limitation of how they're stored, and can't be fixed.)

Having the Field names and ID numbers export to text would be helpful, and so would being able to see the ID numbers in the editor, so the names would match up.

I often use the text dump to do a mass text search to find the code I want to inspect, but once I find the right text file in the scripts, I have to figure out which field it is in the editor by counting from the top of the list.

Simply listing ' 1 Prima Vista/Cargo Room ' instead of only ' Prima Vista/Cargo Room ' in the list box or somewhere on the editor panel would help a lot.
I'm sure the same is true with Strings, but I haven't looked far into those yet.


Back on the subject of animations, it seems like some characters Jump animations might not work in every field. I'm still trying to figure out if that's the case or if I'm just doing something wrong. This is why I started the animation tester in the first place, funny enough, if only I could get it to work haha.

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #929 on: 2017-10-20 20:39:40 »
About the ID, I'll do things like that if I think about it.

About the jump animation, they are very special: the script code "SetJumpAnimation" is the only one that doesn't check if the animation is loaded in the RAM. In case that the animation was not loaded, it bugs instead of loading it. You can use things like:
Code: [Select]
SetStandAnimation( JUMP_ANIM )
SetStandAnimation( STAND_ANIM )
SetJumpAnimation( JUMP_ANIM )
This will force the jump animation to load up in the RAM so it can be used.

The "Preloading" data should be the one that preloads the animations if things were done in a clean way. But preloading data for Steam is not very good for now (you can't add a model and its animations to the preloading list).

Satoh

  • Insane poster
  • *
  • Posts: 385
  • Karma: 3
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #930 on: 2017-10-20 20:57:38 »
About the ID, I'll do things like that if I think about it.

About the jump animation, they are very special: the script code "SetJumpAnimation" is the only one that doesn't check if the animation is loaded in the RAM. In case that the animation was not loaded, it bugs instead of loading it. You can use things like:
Code: [Select]
SetStandAnimation( JUMP_ANIM )
SetStandAnimation( STAND_ANIM )
SetJumpAnimation( JUMP_ANIM )
This will force the jump animation to load up in the RAM so it can be used.
I see! That is helpful advice, thank you for sharing. I'll have to try that.

EDIT:
That worked perfectly, thank you so much for that tip.
« Last Edit: 2017-10-20 21:16:21 by Satoh »

march

  • Fast newbie
  • *
  • Posts: 30
  • Karma: -3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #931 on: 2017-11-06 19:19:54 »
Hi there !

I'm working on a Final Fantasy IX modding tool called Hades Workshop. It is aiming to allow to edit most of Final Fantasy IX's content. Quite a big project and I don't know if I will ever decide when it's finished  ;D

//============== THE TOOL =================//

The features so far :
- Can open Final Fantasy IX PSX files, in .bin format and in any language version,
- Now works with the Steam version,
- Read and edit datas about :
--- Spells the party can cast,
--- Supporting abilities the party can use,
--- Commands the party has,
--- Default stats of the party members,
--- Items' features,
--- Items sold in shops,
--- Statistics, attacks and AI of enemies,
--- Tetra Master cards,
--- Text, dialogs and charmap,
--- Game's script,
--- MIPS script and CIL script,
--- Model exporting (Battle Scenes only for PSX, more for Steam),
--- Backgrounds (view only in PSX, view/replace in Steam),
--- Steam resources exporter/importer,
--- Spell animation sequencing.
- Works under Windows only (you may recompile the source code I redistribute or use wine under linux).

It may be a good idea to have a look at the help (F2).

Also, I recommend to the new Steam users to go easy with this tool. Several features are easy to get familiar with, but due to the power of this program and the complexity of FF9, there are subtilities and traps to avoid.
You should read this post to get to know some of them.
Important : Hades Workshop doesn't work if Albeoris's Memoria tool was used. The other tool called Memoria (seriously Albeoris...) by gjoerulv works just fine.

Credits :
I made the program, obviously, but I got helped a lot by your wiki (http://wiki.qhimm.com/view/FF9) for cluster datas format and by http://finalfantasy.wikia.com/ occasionally.

Other than that, LandonRay and Zande made quiet an useful work in data finding, Zidane_2 wrote most of the other tools about FFIX before me.

The background image has been drawn by Maxa'. You can check his Deviant-Art page here.

Please tell me if you get any suggestion/bug report/feedback to share ^^

Here are the download links :

HADES WORKSHOP

Github project

The older versions can be found here

Thank you for your attention  :)

//=============== THE MODS =================//

Here are Final Fantasy IX mods made using Hades Workshop. I won't speak of LandonRay's mod because it is not related to it, but it's also worth a look ^^
Difficulty Tweak : Made by Iamthehorker, this mod increases the MP cost of the abilities and make the battles tougher. The gameplay itself is preserved, so it really is an increase of difficulty for an augmented playthrough. If you think that the boss battles end too quickly or if you never saw the use of the ethers/elixirs, this mod is a way to go. It also allows Steiner to equip the Save of the Queen in the end-game.
Final Fantasy Formula IX : A mod made by Aidolu with completly different spells and commands. I particulary like how commands have been re-invested to make spells like Songs or Cooking moves. The new spells are mostly taken from other Final Fantasy with few changes sometimes because of the limitation of my program or of FFIX battle mechanics.
Save The Queen : A mod made by ThisGuyAreSick2. It allows Steiner to use the allmighty Save The Queen. It also changes the way you synthesize it (it's made in the Black Mage Village in disc 4).
FF9.2.2 : A mod made by Vir to improve the Perfect Stats challenge balancing. It removes the forced exp battle so a true lvl 1 game can be made. It also fixes the Thunder Slash glitch. Vir also made a Fixed Stats Mod which removes the primary stat variations from games to games and have a normalized stat progression.
Alternate Fantasy : My own mod. It modifies a bit of everything in the game but mostly change the abilities and the gameplay in battles.

Also, you can find here the different tiny mods I made over the years.

//============== HELP AND TIPS =================//

This topic is now more than 30 pages long. Different people asked for help at different points and I always tried to give a complete answer. You can thus find details in this topic about subtilities of the game, or how a feature of HW works, or how to do some precise thing. Since I don't want everyone to read the whole topic thoroughly, here are links to answers to these kind of questions.

Side effects of Initial/Auto-statuses
A list of spells specially handled by the engine
Bypass the enemies' Max HP limit
Checking if a character is in the team in-battle
Enabling an enemy attack depending on the party stats
Make Zorn & Thorn battle more difficult
About the random encounter rate
Removing Dagger's depression effect in-battle
About Ragtime Mouse quizz and reward script
Unlocking manually a few of the "Hidden Scenes"
Skipping the script that makes Dagger unlearn her summons
Make Mini-Theater Ship obtainable as a key item
Removing Excalibur II time condition manually
Making temporary characters available in the party menu (1)
Making temporary characters available in the party menu (2)
Changing properly the content of a chest
Ensure that characters enter the party at level 1
How to use "GetRandom" to generate a random number in a range
List of animation IDs and who use them
Declaring local and global variables in scripts
Typical NPC dialog script
Add NPC and PC on the field
Manually extracting a Beatrix mod out of Alternate Fantasy
How to mix some of the standard mods
A word about background and walkmeshes
HW format for text file batching
Helping with the development of HW
Bug when making a multi-hit spell animation (PSX)
Adding custom text font (PSX)
Using Memory card saves after modding (PSX)
Fixing "The Collector" Tetra Master bug (PSX)
Change the initial items + hex-hack to give supporting abilities to Beatrix (PSX)
MIPS editing + controlling someone else than Zidane in fields for PSX
Grudge's MIPS spell formula (PSX)
Using the Background Editor (Steam)
Properly adding a new enemy to a battle (Steam)
Removing (some of) the bubbles appearing when you get close to NPC on Steam
Removing the stat growth of characters (Steam)
Modding Magic Stone growth of characters (Steam)
Modding spell effect: explanation (Steam)
Modding Supporting Abilities: HP/MP +X% (Steam)
Modding Supporting Abilities: Auto-status and Immunes (Steam)
Skipping the last two cinematics of the game (Steam)

//================ BONUS =================//

Simplified Game Scripts

Here are some scripts of systems or mini-games that are of some interest if you wish to know how the game works in-depth.
FFIX Code Folder

Hidden dialogs

Here are some few interesting secret dialogs, never used in the game.
I've also made a patch to enable some of them in-game :
Hidden Dialogs (PSX)
Hidden Dialogs (PC)
And a video showing the patch's content.

Don't hesitate to tell me if you find more unused dialogs : I'll add them to the list ^^

Alexandria [Over the roofs...] :
Puck “So, Vivi... Is this your first time in Alexandria?”
Vivi “Uh...  Um...  Yeah. I bought my ticket from a moogle wearing a hat...”
Puck “Bad luck!  If I ever find that moogle, I'll hurt him plenty!”
Vivi “Uh... Thanks...”
Puck “Alright!  Just a little farther 'til we can see the stage!”

Ruined Prima Vista [Steiner's bitterness] :
[1/3]
Steiner “Those bastards... If they plan to demand a ransom, they're wasting their time.  I'll see to it that they receive nothing!”
[2/3]
Steiner “Wretched thieves... I'll see them all hanged!”
[3/3]
Steiner “Those bastards... They will never get away with this!”

Observatory Mountain [Good and Evil with Grampa Morrid] :
Steiner “Alexandria, off course! Burmecia started the war, and we lost our king as a result.”
Morrid “Many wars were fought before the Lindblum Airship Revolution.”
Morrid “Alexandria intiated some of the wars against Burmecia. Now, can you tell me who was right or wrong?”
Steiner “I-I am not talking about the past! I am talking about the future!”
Morrid “What will you do if Alexandria starts a war?”
Steiner “When will the cargo ship arrive!?”

Gizamaluke's Grotto [Entering Burmecia] :
Burmecian Soldier “This is the Gizamaluke's Grotto. It is Burmecia's border.”
Burmecian Soldier “No one is allowed inside without the king's permission.”

Cleyra [Meeting with the King and the High Priest] translated from japanese by luksy :
Freya “It has been some time, Your Majesty.”
King of Burmecia “Ah, Freya, well met.”
King of Burmecia “The High Priest and I welcome you.”
High Priest of Cleyra “My Lady.”
High Priest of Cleyra “It would appear that this predicament no longer concerns Burmecia alone.”
Freya “I understand, Your Holiness.”
Freya “And yet...”
Freya “I fear my strength alone may not suffice.”
King “Freya...I know what troubles you.”
King “I must apologize for earlier.”
King “Can you ever forgive me?”
King “No! off course you cannot.”
King “But the fate of the people of Burmecia now hangs by but a thread.”

Occupied Lindblum Castle [Reaching Cid] :
Don't get caught by the enemy!
Jump out when she looks away!
Man “The regent is waiting for you at the Base Level.”
Man “The enemy is busy loading supplies. Go down on the lift, now!”
Man “Once you get on the lift, my comrades will take care of the rest.”
Zidane “So, I just take the lift to the Base Level without getting caught?”
Yeah...
Zidane “Piece o' cake! Leave everything to me.”
Huh?
Is anybody there...?
A tail?
Meeow!
Oh, it's only a cat...
Zidane (Wow, that was a close one.)
Man “(You idiot!)”
Man “Whatever you do, don't get caught!”
Man “What's wrong? The regent is waiting at the Base Level.”
Man “Go now, or you'll get caught!”
Zidane “I gotta run while she's looking away.”

Occupied Lindblum Castle [The Ancient World Map] :
Regent Cid “That is a national treasure of Lindblum!”
Regent Cid “It was passed down through my ancestors, since the days of the first regent.”
Regent Cid “It was probably made before our continent was covered in the Mist...”
Regent Cid “That is an ancient map of the entire world!”

Alexandria [Balloon Mini-game] translated from french by me :
Girl “You want to play with us?”
Girl “You've got some time to gather balloons and give them to the boys behind us!”
Girl “You get more time depending on the color of the balloon that you bring.”
Green → 5 more seconds
Yellow → 10 more seconds
Blue → 15 more seconds
Red → 30 more seconds
Girl “All the three of us have a balloon and we are somewhere on the square.”
Girl “Well... Start!”
Boy “X more seconds! You have Y points!”

Final [The 2 worlds' fusion] :
The Iifa Tree could not be stopped...
Gaia and Terra's fusion
caused global chaos,
destroying many cities and
taking many lives...


dude , i thank you for how efficient is this program , but in the lutest version of hadesworkshop the bosses aren't editable , they don't show up in the list of enemies , please , fix that , but maybe this bug only occur wen hadesworkshop open the psx version of the game , the italian version in my case
« Last Edit: 2017-11-06 19:57:49 by march »

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #932 on: 2017-11-06 21:07:37 »
Yes it does. However, for the PSX version, not all the battles are present in all the discs. So if you opened disc 1 you only have the bosses of disc 1. Same for the other discs with a few exceptions (Gizamaluke is present on all the discs because the Grotto fields are still there as well).

Also, no need to quote a whole message of 215 lines (yeah, I checked that) for a 3 lines long reply. That's like subcontracting your speech, somehow :p

march

  • Fast newbie
  • *
  • Posts: 30
  • Karma: -3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #933 on: 2017-11-07 00:29:26 »
Yes it does. However, for the PSX version, not all the battles are present in all the discs. So if you opened disc 1 you only have the bosses of disc 1. Same for the other discs with a few exceptions (Gizamaluke is present on all the discs because the Grotto fields are still there as well).

Also, no need to quote a whole message of 215 lines (yeah, I checked that) for a 3 lines long reply. That's like subcontracting your speech, somehow :p

lol , and is true , i checked the disk 4 just now and both ozma and kuja are there in the list , thanks for the clarification , also , i hope that the successive versions of hades workshop will include also : the auto-status of the equipment ( like reflex ring ) so we could even get all the good status at once and permanently :D  , and the modofication of the support abilities , so we can finally chose to have a proper ribbon that make us immune from every negative status
« Last Edit: 2017-11-07 01:22:16 by march »

march

  • Fast newbie
  • *
  • Posts: 30
  • Karma: -3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #934 on: 2017-11-07 21:14:24 »
Yes it does. However, for the PSX version, not all the battles are present in all the discs. So if you opened disc 1 you only have the bosses of disc 1. Same for the other discs with a few exceptions (Gizamaluke is present on all the discs because the Grotto fields are still there as well).

Also, no need to quote a whole message of 215 lines (yeah, I checked that) for a 3 lines long reply. That's like subcontracting your speech, somehow :p

come to think about it , there is also another thing that hadesworkshop need to make possible : set at 255 the stats of the cards , since for now you set the maximum at 127 while it can reach 255 :D

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #935 on: 2017-11-08 16:39:24 »
No, that's not really possible. These numbers are divided by 2 for the minimal randomized stat. I didn't add a limit for fun.

march

  • Fast newbie
  • *
  • Posts: 30
  • Karma: -3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #936 on: 2017-11-08 17:57:52 »
No, that's not really possible. These numbers are divided by 2 for the minimal randomized stat. I didn't add a limit for fun.

i see , but i noticed that the save editor always allow to set 255 for every parameter for every card , maybe this information can show you how the problem can be solved  :o , but besides that , i hope that the next version of hadesworkshop will allow to modify\select the effect of the auto stat , so for example , instead of have haeste in an equipment , we can have the effect of vanish or banish i don't remember witch is the useful one , but you got what i mean lol , and as i said in the previous message , even the modification of the auto abilities would be great , so one singe auto ability will finally grant the immunity to all the negative status  :D , you know , your program is more precious than it may appear , since the so called " pro gamers " are mostly listened to from developers , most of the games are essentially a bunch of limitations and restrictions rather than something to have fun with , so the only possibility of solve all the problems caused by the pro-gaming epidemy are software who allow stable modifications that allow even us to enjoy a game , because is not like everyone are supposed to give a fern about be pro gamers , for me for example , is just stupid , i sometimes watch some pro gaming sessions , well , they completely forgot that video games are made to have fun , and not something that cause rage , hysteria , and that put a person against the other one , and certainly isn't something to take seriousely , and of course isn't some kind of matter of honor , still , their tragic way to play wouldn't be a problem if they were not so bossy and intrusive , nowdays , some games have a lot more protections to prevent gameplay modifications rather than any form of interest in make the game stable and well functioning , i mean , sometimes developers put more effort to prevent us to play like we want ( and that should be considered our inviolable right ) rather than prevent bugs , for example , i purchased a game recently , and guess what ? the game is bugged , despite the fact that i updated it with official stuff , but wen i try to modify it in order to play like i want , i immediately get errors and crashed , is just unfair and also stupid , be bossy and intrusive isn't a good way to keep the purchasers
« Last Edit: 2017-11-08 18:23:17 by march »

gledson999

  • Fast newbie
  • *
  • Posts: 44
  • Karma: 2
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #937 on: 2017-11-14 02:17:45 »
The latest tool crash on Environment

Prima vista, when you click on Received 0 gil, sure is the dark..., etc

DanTsukasa

  • Cool newbie
  • *
  • Posts: 52
  • Karma: 2
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #938 on: 2017-11-14 04:25:11 »
i see , but i noticed that the save editor always allow to set 255 for every parameter for every card , maybe this information can show you how the problem can be solved  :o , but besides that , i hope that the next version of hadesworkshop will allow to modify\select the effect of the auto stat , so for example , instead of have haeste in an equipment , we can have the effect of vanish or banish i don't remember witch is the useful one , but you got what i mean lol , and as i said in the previous message , even the modification of the auto abilities would be great , so one singe auto ability will finally grant the immunity to all the negative status  :D , you know , your program is more precious than it may appear , since the so called " pro gamers " are mostly listened to from developers , most of the games are essentially a bunch of limitations and restrictions rather than something to have fun with , so the only possibility of solve all the problems caused by the pro-gaming epidemy are software who allow stable modifications that allow even us to enjoy a game , because is not like everyone are supposed to give a fern about be pro gamers , for me for example , is just stupid , i sometimes watch some pro gaming sessions , well , they completely forgot that video games are made to have fun , and not something that cause rage , hysteria , and that put a person against the other one , and certainly isn't something to take seriousely , and of course isn't some kind of matter of honor , still , their tragic way to play wouldn't be a problem if they were not so bossy and intrusive , nowdays , some games have a lot more protections to prevent gameplay modifications rather than any form of interest in make the game stable and well functioning , i mean , sometimes developers put more effort to prevent us to play like we want ( and that should be considered our inviolable right ) rather than prevent bugs , for example , i purchased a game recently , and guess what ? the game is bugged , despite the fact that i updated it with official stuff , but wen i try to modify it in order to play like i want , i immediately get errors and crashed , is just unfair and also stupid , be bossy and intrusive isn't a good way to keep the purchasers

That was... difficult to read.

Games are made by developers to sell, we don't make games for the 'pro gamers' or the 'casual gamers' unless its a specific game type aimed at one of those 2 groups.

This game is 17 years old, and its a JRPG, nobody was listening to pro-gamers at the time, the game hasn't been edited since.
The game is designed to be played the way it was designed to be played.

A developer specifying the way you play it isn't violating any 'right' you have, you purchase a product, and if you don't use it a certain way then it doesn't work, that isn't unfair, thats how its supposed to work. If you wanted to play FF9 as an open world game, thats not possible, if you wanted to change your camera angles, not really possible either, you can't expect a game to cater for everything everyone does, because thats an insane amount of work for those of us who're sitting at work and making the games you're playing.

I apologise for hijacking the thread here, I do not intend to get into a discussion on the matter.

Tirlititi, I'm really looking forward to the model importer, again you're doing great work here.

savokgear

  • Newbie
  • *
  • Posts: 1
  • Karma: 1
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #939 on: 2017-11-14 08:11:49 »
(I apologize for Google translation). There is somewhere a MOD for changing the combat system without a delayed ABT? To characters executed orders without delay as in 8 FF, or at all without ABT as in 10 FF. Or in the extreme case, that the characters and enemies attacked simultaneously and most importantly without DELAY as in 10-2 FF?
The main thing is that your orders are due to a pile of animations not a minute later.

Loseless

  • Fast newbie
  • *
  • Posts: 43
  • Karma: 0
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #940 on: 2017-11-14 17:30:42 »
Hello! I've been reading a few things here and there. I'd very much like to change the magic stones growth curve, but I'm having some trouble figuring out how. I've located the CIL script that handles the function, but I can't figure what to change in order to increase how fast stones are gained...

Perhaps if I changed one of the values in bold below?

Does anyone here have a clue?

The Magic Stone progression is defined in the CIL Code, so it's a bit tedious to change. It's the method "ff9level::FF9Level_GetCap" :
Code: [Select]
public static int FF9Level_GetCap(int slot_id, int lv, bool lvup) {
PLAYER pLAYER = FF9StateSystem.Common.FF9.player[slot_id];
FF9LEVEL_BONUS bonus = pLAYER.bonus;
FF9LEVEL_BASE fF9LEVEL_BASE = ff9level._FF9Level_Base[ff9play.FF9Play_GetCharID((int)pLAYER.info.menu_type)];
if (lvup) {
int num = (pLAYER.cur.capa != 0) ? 0 : 5;
int num2 = 0;
FF9LEVEL_BONUS expr_53 = bonus;
expr_53.cap += (ushort)(num + num2);
}
int num3 = (int)fF9LEVEL_BASE.cap + lv * 4 / 10 + (bonus.cap >> 5);
if (num3 > 99) {
num3 = 99;
}
return num3;
}
In term of CIL Code, the main operation ("int num3 = ...") is those lines:
Code: [Select]
ldloc.3 // fF9LEVEL_BASE
ldfld 0x4000890 // FF9LEVEL_BASE::cap
ldarg.1 // lv
[b]ldc.i4.4 // Multiply by 4[/b]
mul
[b]ldc.i4.s 10 // Divide by 10[/b]
div
add
[b]ldloc.2 // bonus[/b]
ldfld 0x400088B // FF9LEVEL_BONUS::cap
[b]ldc.i4.5 // Right-shift by 5 ( = Divide by 32)[/b]
shr
add
stloc.0

I have no idea of where the font used is defined.
« Last Edit: 2017-11-14 17:34:25 by Loseless »

Tirlititi

  • Insane poster
  • *
  • Posts: 420
  • Karma: 55
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #941 on: 2017-11-14 18:34:12 »
@savokgear: You ask for changing the battle engine in-depth. Hades Workshop cannot do that. Albeoris's Memoria tool is more suited for that but it is unfortunatly not compatible with HW yet.
http://steamcommunity.com/groups/ff-modding/discussions/13/357284131804133221/

@Loseless: The important line, defining the Magic Stone progression, is this C# line:
Code: [Select]
int num3 = (int)fF9LEVEL_BASE.cap + lv * 4 / 10 + (bonus.cap >> 5);"fF9LEVEL_BASE.cap" is the base number at lvl 1 that you can set in the "Party->Stats" panel.
"lv * 4 / 10" means that you'll get +0.4 Magic Stone every level (so +1 after 3 levels and +1 after the next 2 levels).
"bonus.cap >> 5" is useless. It may add 5/32 = 0 Magic Stone (since it is an integer division) in certain situation (I think that's when your character has 0 available Magic Stone but I'm not sure). For info, "X >> n" is the same as "X/(2^n)" mathematically.

So in term of CIL Code that you can see and edit in HW, the easy way is to change those "4" and "10" numbers:
Code: [Select]
ldc.i4.4 -> Change it to ldc.i4.s 9 for instance
ldc.i4.s 10 -> Change it to ldc.i4.s 2 for instance
With these figures, you would get +4.5 Magic Stone every level (so +4 Magic Stone on odd levels and +5 on even levels).

Loseless

  • Fast newbie
  • *
  • Posts: 43
  • Karma: 0
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #942 on: 2017-11-14 20:29:00 »
Thank you so much, Tirlititi! It was exactly what I needed.

Another thing I am considering: Is there a way to change the steal rates and to edit the AP required to learn skills and abilities?

And while at it, how can I make spells like Protect and Shell affect the entire party? There's no multi animation for them.
« Last Edit: 2017-11-15 12:09:24 by Loseless »

Kefka

  • Crazy poster
  • *
  • Posts: 124
  • Karma: 4
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #943 on: 2017-11-15 16:11:30 »
Another thing I am considering: Is there a way to change the steal rates and to edit the AP required to learn skills and abilities?

The required AP for each ability can be edited in the stats panel, there should be a field called 'AP requirement' right next to each party member's ability list.

As for the steals, you can change the slots of each stealable item for each enemy, thus indirectly increasing/decreasing your success rate. I don't know if it's possible to modify the basic steal probability for each of the four slots, but maybe something can be done with MIPS code (if the code for the steal subroutine has been discovered yet, not sure).

Loseless

  • Fast newbie
  • *
  • Posts: 43
  • Karma: 0
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #944 on: 2017-11-15 16:49:40 »
Thanks, Kefka. I though I had seen the AP thing somewhere but couldn't remember. Searched everywhere else but the stats tab.

The steal rate was asked by some players. Moving some items from the 4th to the 3rd slot helps in a few cases, but in some instances, even the third slot can get tricky in difficult fights.
« Last Edit: 2017-11-15 17:47:36 by Loseless »