|
Thread: How can i revert Dragon Strenght to 100 % in 3.55 | |
|
jakisa

 
Tavern Dweller
|
posted April 07, 2025 11:32 AM |
|
Edited by jakisa at 07:52, 08 Apr 2025.
|
How can i revert Dragon Strenght to 100 % in 3.55
So I like that in 3.55 Prayer affects not only Life Units, but I dislike that Dragon Strength is only 66% bonus.
So I thought I try to change Dragon Strenght
I found out that the change has to be in the h4.dll file, because when i use h4mod.exe from 3.51 with h4.dll from 3.55 it still applies 66%
So I tried to change and test seperately each 42(=66 dez) hex with 64(=100 dez) ... no change in Dragon Strenght
Then I tried the same with A6(= 166 dez) with C8(=200 dez), also no change
What else could I try?
Edit: Found a solution with that chinese tool from nosence
|
|
kkfkkkfk

 
 
Adventuring Hero
Nothing is impossible
|
posted April 08, 2025 09:59 PM |
|
|
This is not an integer, and in games, such percentage increases are related to floating-point numbers.
They always perform multiplication calculations.
The code is as follows:
//START
push ebx
push edx
push eax
cdq
xor ebx, ebx
mov bl, 3
idiv bx
shl eax, 1
pop ebx
add eax, ebx
pop edx
pop ebx
mov edi, eax
retn
//END
0x0003da7 in hex editor
mov bl, 3
//Change 3 to 2
mov bl, 2
The effect of Dragon Strength will not diminish.
|
|
jakisa

 
Tavern Dweller
|
posted April 10, 2025 08:53 AM |
|
|
thanks alot for your effort
|
|
jakisa

 
Tavern Dweller
|
posted April 17, 2025 09:42 AM |
|
|
kkfkkkfk said: This is not an integer, and in games, such percentage increases are related to floating-point numbers.
They always perform multiplication calculations.
The code is as follows:
//START
push ebx
push edx
push eax
cdq
xor ebx, ebx
mov bl, 3
idiv bx
shl eax, 1
pop ebx
add eax, ebx
pop edx
pop ebx
mov edi, eax
retn
//END
0x0003da7 in hex editor
mov bl, 3
//Change 3 to 2
mov bl, 2
The effect of Dragon Strength will not diminish.
since you know how this stuff works, can you tell how you would approach to change the adventure movement formula? let's say i want to change 12 + 0.44 creature movement to 18 + 0.44 creature movement?
is there a point using cheat engine, making a map with only one creature and then typing in current movement, move a little and then look what adress it shows?
or use ida and look for integer 12 and change and test?
|
|
kkfkkkfk

 
 
Adventuring Hero
Nothing is impossible
|
posted April 20, 2025 02:18 AM |
|
|
Check function 651180 in IDA.
It is responsible for calculating the creatures movement.
To modify some complex content, you need to have some knowledge of assembly and a high-level programming language.
Otherwise, you wouldn't even know where to start.
Many data are not integers because there are decimal points in their calculation process.
For example, 30 movment is represented as 3000 in memory.
At this time, it is not possible to search for this data through CE, it requires analyzing the function first.
If you need more information, you can browse my mod tutorials.
https://wiki.biligame.com/heroes4/Modtutorials
|
|
jakisa

 
Tavern Dweller
|
posted April 24, 2025 12:58 PM |
|
Edited by jakisa at 13:32, 24 Apr 2025.
|
Thank you again. I am really amazed how people like you know this stuff 
I actually do a coding course on boot.dev , but i still want to mod heroes 4 right away
how would you learn as a noob to understand assembly, any video recommendation?
i was able to find and change the 1200 movement floating point and change it to 1800, and while it displays new max movement in game(right number), the actual movement (left number) is still the same as before and not equal max movement at start of turn??
[url=https://postimg.cc/QVXdPVP8] [/url]
[url=https://postimg.cc/MXdp8q2y] [/url]
Edit: only day 1 the movement is lower/ as before change, maybe i can figure out why
|
|
jakisa

 
Tavern Dweller
|
posted April 24, 2025 01:40 PM |
|
|
yes i did it, thank you so much, you made my life
|
|
|
|