Author Topic: Tool to vary status ailments  (Read 695 times)

MaxSchmidt1000

  • *
  • Posts: 2
    • View Profile
Tool to vary status ailments
« on: 2025-10-10 11:27:40 »
Hi,
Is there a tool or way to vary/change the effect of status ailments, such as poison damage (e .g. 25% per round instead of the usual 5%) or condemned countdown (e. g. 30 rounds instead of the usual 60)?
I'm talking about the PC/Steam version.

Best regards
Max

Superbledur

  • *
  • Posts: 16
    • View Profile
Re: Tool to vary status ailments
« Reply #1 on: 2025-10-11 08:37:16 »
Hello,

25% for poison? Smells FFX inspiration here.
As far as I know, there is no direct tool to modify such things, but it may be doable with some hex modification in the .exe file at the right place. Sadly, not all you asked is known. I've not tested it but for the condamned countdown, I could suggest you to :

-Open your ff7.exe file with an hex editor
-Go to the hex 003b60f2
-Replace the 3c value (60) by 1e (30)

Make a backup of your old ff7.exe just in case because I'm far of being sure it'll work...

For Poison damage don't know, but there is still a possible way to make the poison more deady by accelerating damage loss : maybe if you replace the 0a (10) value at the hex 003b60f6 by a lower one (let's say 02) poison damage will drop faster. Again, not certified so be careful.
« Last Edit: 2025-10-11 08:50:51 by Superbledur »

MaxSchmidt1000

  • *
  • Posts: 2
    • View Profile
Re: Tool to vary status ailments
« Reply #2 on: 2025-10-11 12:24:07 »
Thanks, the condemned countdown has worked so far. And it also affects the "slow-numb"-countdown for petrify, so I havent to look for that too.
I found the value in the German version at the position 003B64F2, but now I had a clue for which values I had to look for.
With the poison, It seems that the value determines when the first poison damage is suffered, after that the frequency is the same, at least that's my impression. I replaced the value with a very high one: It then took a while until the first poison damage followed, the others always followed the same.
The finalfantasy.fandom wiki says: "Afflicted [with poison] takes 1/32 of Max HP of physical Poison-elemental damage every 2.5 units of time."
What value could that be in the data file?
I used ChatGPT to orientate myself in the hex file. I think I learned quite a bit about such things, but not enough yet.^^
I'm not sure for example that I could find values for the amount of damage (1/32 --> 3D 00 00 00) or the frequence in "units of time" (2.5 --> 40 20 00 00) nearby in +/-100 bits or something like that. Or whether there is a single section for the status ailments as the condemned countdown and a whatever timer for poison are in the same offset.
Before today, none of this meant anything to me. :-D
« Last Edit: 2025-10-14 08:16:32 by MaxSchmidt1000 »

Superbledur

  • *
  • Posts: 16
    • View Profile
Re: Tool to vary status ailments
« Reply #3 on: Yesterday at 07:13:17 »
Hello,

Glad it works for D.Sentence, must confess I do not know much about this either. Done a little hex modification on another game before but apart from that I mostly use what is already known and apply some sort of fuzzy logic like "if the counters are there, then for death sentence I should find this sort of value around there" like you seem to do. Sometimes works, sometimes not... Many here are way more experienced in this stuff.

Congrats for your initiative and trying. Surprised me for the poison thing, I saw in a mod that modifying the 0a (10) hex by 14  (20) is supposed to make the poison Tick 50% slower (not only the first one), so thought that it was simply a time units multiplier. May be more subtle than that.
By the way, at the right (hex number 3b60f7) there is the sleep timer duration, if you put 32 instead of 64 it seems to divide the duration by 2.

For Poison damage, main problem is that in hex files, the same operations seems sometimes written very differently. For example if you look at Sadness (hex 1DDD70), you can see this c0 03 99 b9 0a which stands for damage = damage - 03/10*damage. In other words, maybe you can find an operation containing b9 20 for a division by 32 somewhere. But it could also be like C1 F8 05 (division by 2^5 = 32), hex 01dda47 could be a candidate, but sadly there are MANY candidates (hex 01ddeca is another one for example) as there are many instances for this operations so this could lead to many trial/errors (as modifying these values can sometime totally mess your game so be careful). Would not be much surprised if that's located near these addresses though.

Don't hesitate to put here your researches results, this can help many people.
« Last Edit: Yesterday at 07:19:18 by Superbledur »