Qhimm.com Forums

Final Fantasy 7 => Troubleshooting => Topic started by: Raziel80 on 2019-11-20 12:27:50

Title: [FF7] How can be edited the formula for ultimate weapons?
Post by: Raziel80 on 2019-11-20 12:27:50
How can be edited the formula for ultimate weapons for Death Penalty and Premium Heart? How does the formulas look like in bytes in the .exe file?
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: nfitc1 on 2019-11-20 13:23:49
All the ultimate weapons have "AX" damage formula types which just means "use 11 damage type and a special modifier". You can change the modifier in the exe to perform different checks. If you want details  you'll need to be more specific on what exactly you want it to do.
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: Raziel80 on 2019-11-20 14:20:25
If you want details  you'll need to be more specific on what exactly you want it to do.
A7 formula for Death Penalty: (10 + [Character's Kills / 128]) / 16, which of these values (10, 128, 16) can be changed in the exe file? The formula is somewhere in the offset 0x1DC920 in the FF7.exe: in bytes, it's around here: 24 99 83 E2 7F 03 C2 C1 F8 07 8B 15 0C CE 99 00. Where does the formula begin and end? For example: The value 128 in the formula can be changed, if you change 07 at offset 0x1DC929. 128 is bit 7, which means (0x80=128), is it true? Can the values ​​10 or 16 in the formula be changed?
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: nfitc1 on 2019-11-20 16:24:47
You're using the real hex addresses not the virtual ones. That's going to throw me off...

The DP modifier starts at 0x1DC916. Changing that 7 will change the divisor for the kills, but it can only be powers of 2 (1, 2, 4, 8, 16, etc). A little further down at 0x1DC93D is the instruction C1 F8 04 which is the /16 and the following instruction at 0x1DC40 is 83 C0 0A which is your +10.

The actual modifier formula is ([power * kills / 128] / 16) + 10. not (10 + [power * kills / 128]) / 16.
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: Raziel80 on 2019-11-20 17:22:29
The DP modifier starts at 0x1DC916. Changing that 7 will change the divisor for the kills, but it can only be powers of 2 (1, 2, 4, 8, 16, etc). A little further down at 0x1DC93D is the instruction C1 F8 04 which is the /16 and the following instruction at 0x1DC40 is 83 C0 0A which is your +10.
How are these instructions ("C1 F8 04 which is the /16" and  "83 C0 0A which is the +10") displayed in RAM(virtual addresses)?
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: nfitc1 on 2019-11-20 18:00:13
0x5DD53D and 0x5DD540
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: Raziel80 on 2019-11-20 19:14:33
0x5DD53D and 0x5DD540
Thanks a lot. Can you help also find out same addresses in RAM for Premium Heart, because this is a bad formula: (1 + [Limit Level * Limit Units / 16]) / 16, for ultimate weapon. It would be nice, if value 1 or value 16 near Limit Units (Limit Units / 16) , in the formula could be changed.

Seems to have found values ​​for the formula:
 Limit Units / 16: value 16 is at the offset 0x005DD56A
second value 16 is at the offset 0x005DD580
value 1 is at the offset 0x005DD583
Title: Re: [FF7] How can be edited the formula for ultimate weapons?
Post by: Superbledur on 2025-08-13 21:34:45
Hello

Sorry for the dig up but I'm presently searching for the Conformer formula. This one is quite simple (Avg enemy levels/16) but maybe that's because of this I can't find it. I'm searching around the 5DD56A and tried every division by 16 I found (basically with the C1 F8 04 pattern) without success even if I may have found some formula that somewhat resemble to Ultimate Weapon/HP Shout or Venus Gospel... And obtained some bugs too. It seems that either the division for Conformer is written differently or is far away from the other special formulas. My aim was simply to put 05 instead of 04 (division by 32 instead of 16) to nerf it a little.

I'm not very experienced in hex edition so would be happy if someone could bring me some help for that matter.

Edit : after some studying, it seems that division by 16 may be not present, as shown here https://qhimm-modding.fandom.com/wiki/FF7/Battle/Damage_Calculation maybe because basic attack power is 16 anyway ? If it's the case that would render kinda difficult to change the formula as it will require not to replace but to add some hexes. Not sure the .exe will like it.