Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: Heroes 3 Hacking Reference Guide
Thread: Heroes 3 Hacking Reference Guide This thread is 42 pages long: 1 10 ... 14 15 16 17 18 ... 20 30 40 42 · «PREV / NEXT»
BTB
BTB


Famous Hero
Moist & Creamy
posted July 21, 2021 06:34 PM
Edited by BTB at 00:03, 22 Jul 2021.

Multiple retaliations:

03D6A2, 046E67: 04 (Griffin)
03D6AC, 046E7D: 01 (normal retaliation)
03D6B8, 046E89: 02 (Griffin retaliations)
03D6BE, 046E8F: 05 (Royal Griffin)
03D6C7, 046E98: 88 13 ("Infinite" retaliations)

"Growth" week odds are 25%. Can raise chances to 33% or 50% by changing 0C846C from 4 to 3 or 2, respectively.

Ignores Defense:

0422E5: 60 (Behemoths)
0422FB: 61 (Nasty Behemoths)

0422F1
D8 0D B0B86300 fmul dword ptr [0063B8B0] (0.40)
042307
D8 0D ACB86300 fmul dword ptr [0063B8AC] (0.80)

04223A: 45 > 5D - Frenzy to use ATK instead of dEF

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Saruman5000
Saruman5000

Tavern Dweller
posted July 21, 2021 06:51 PM
Edited by Saruman5000 at 18:54, 21 Jul 2021.

I have a question. Guide says:
"""""""""""
The growth bonuses of the Citadel and Castle can be changed to your liking with a long patch starting at 1BFFF7 and ending at 1C004F:
0F BF 44 90 44          movsx eax,[eax+edx*4+44]
8B 96 50 01 00 00       mov edx,[esi+150]
89 45 F8                mov [ebp-8],eax
89 D0                   mov eax,edx
23 05 E0 CD 66 00       and eax,[66CDE0]
89 F9                   mov ecx,edi
23 0D E4 CD 66 00       and ecx,[66CDE4]
09 C8                   or eax,ecx
74 0B                   je ???
DB 45 F8                fld dword ptr [ebp-8]
D8 0D 46 00 5C 00       fmul dword ptr [5C0046]
EB 26                   jmp ???
A1 D8 CD 66 00          mov eax,[66CDD8]
8B 0D DC CD 66 00       mov ecx,[66CDDC]
21 C2                   and edx,eax
21 CF                   and edi,ecx
09 FA                   or edx,edi
74 16                   je 5C004D
DB 45 F8                fld dword ptr [ebp-8]
D8 0D 42 00 5C 00       fmul dword ptr [5C0042]
EB 08 jmp 5C004A
XX XX XX XX
YY YY YY YY
DB 4D F8                fstp dword ptr [ebp-8]
8B 55 F8                mov edx,[ebp-8]
"""""""""""

But my *.exe has completely different data:
"""""""""""
.005BFFF7: 668B4C9044         mov cx, [eax][edx]*4[044]
.005BFFFC: 8D449044           lea eax, [eax][edx]*4[044]
.005C0000: 8B9650010000       mov edx, [esi][000000150]
.005C0006: 8945F8             mov [ebp][-8], eax
.005C0009: 66894DFC           mov [ebp][-4], cx
.005C000D: 8B0DE0CD6600       mov ecx, [00066CDE0] --↓1
.005C0013: 8BC2               mov eax, edx
.005C0015: 23C1               and eax, ecx
.005C0017: 8BCF               mov ecx, edi
.005C0019: 230DE4CD6600       and ecx, [00066CDE4] --↓2
.005C001F: 0BC1               or eax, ecx
.005C0021: 7407               jz .0005C002A --↓3
.005C0023: 8B55F8             mov edx, [ebp][-8]
.005C0026: 8B02               mov eax, [edx]
.005C0028: EB21               jmps .0005C004B --↓4
.005C002A: A1D8CD6600         3mov eax, [00066CDD8] --↓5
.005C002F: 8B0DDCCD6600       mov ecx, [00066CDDC] --↓6
.005C0035: 23D0               and edx, eax
.005C0037: 23F9               and edi, ecx
.005C0039: 0BD7               or edx, edi
.005C003B: 740C               jz .0005C0049 --↓7
.005C003D: 8B45F8             mov eax, [ebp][-8]
.005C0040: 8B00               mov eax, [eax]
.005C0042: 99                 cdq
.005C0043: 2BC2               sub eax, edx
.005C0045: D1F8               sar eax, 1
.005C0047: EB02               jmps .0005C004B --↓4
.005C0049: 33C0               7xor eax, eax
.005C004B: 8B55FC             3mov edx, [ebp][-4]
.005C004E: 03D0              add edx, eax
"""""""""""

I use HD version of a game as guide says.
Anyone knows what can cause problems? Maybe adresses are different?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted July 21, 2021 06:59 PM

Did you use the Heroes 3 HD launcher to generate a Heroes 3 HD.exe file?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Saruman5000
Saruman5000

Tavern Dweller
posted July 21, 2021 07:22 PM

BTB said:
Did you use the Heroes 3 HD launcher to generate a Heroes 3 HD.exe file?


Yes, on Heroes 3 Complete Version GOG.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted July 21, 2021 08:21 PM

Oh, I just actually read what you posted. One of the first paragraphs in the guide addresses this:

One thing you will need to keep in mind when editing the .exe file is that all values and addresses will
be in hexadecimal format (base 16) instead of decimal (base 10). Also note that any address specified in
this document will be as they would appear in a hex editor; runtime will offset by 400000. Thus, 23EA68
in a hex editor will actually be 63EA68 when the game is running. Any code example will use the runtime
addresses because it needs to, but the commentary will refer to them as they would be seen in an editor.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Saruman5000
Saruman5000

Tavern Dweller
posted July 22, 2021 06:13 AM

Yes, i understand.

As you can see i worked with 5BFFF7, while guide said 1BFFF7.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Saruman5000
Saruman5000

Tavern Dweller
posted July 23, 2021 06:50 PM
Edited by Saruman5000 at 16:54, 24 Jul 2021.

Ok, i finally get it.

I needed to type all that Hex code, that was in Guide, instead my already existing code.
And i thought i just needed to had that same code already and change it.

Finally!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted July 25, 2021 05:15 PM

So, I inadvertently found a way to make Wraiths behave like a more balanced version of Ghosts from Heroes 2. They'll create Wights (not more Wraiths >.> from every unit they kill, but it will only be temporary for the battle and they'll go away afterward.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted July 28, 2021 04:14 PM
Edited by BTB at 16:16, 28 Jul 2021.

If you want to customize the experience tables beyond the game's original formula of increasing every level requirement past 12 by 20%, there are three places you'll need to edit:

0DA69E~CF -------------------------------------------------------------------------
---------

83 FE 0C cmp esi,0C ; level 12 or higher?
7C 0C jl 004DA6AF ; if no, jump to "EAX = 1,000"
83 FE 14 cmp esi,14 ; level 20 or higher?
7C 0E jl 004DA6B6 ; if no, jump to "EAX = 5,000"
83 FE 19 cmp esi,19 ; level 25 or higher?
7C 10 jl 004DA6BD ; if no, jump to "EAX = 10,000"
EB 15 jmp 004DA6C4 ; jump to fourth "EAX = 25,000"
B8 E8030000 mov eax,000003E8 ; experience between levels (EAX) = 1,000
EB 13 jmp 004DA6C9 ; jump to cleanup
B8 88130000 mov eax,00001388 ; experience between levels (EAX) = 5,000
EB 0C jmp 004DA6C9 ; jump to cleanup
B8 10270000 mov eax,00002710 ; experience between levels (EAX) = 10,000
EB 05 jmp 004DA6C9 ; jump to cleanup
B8 A8610000 mov eax,000061A8 ; experience between levels (EAX) = 25,000
5F pop edi ; cleanup
5E pop esi ; ""
5B pop ebx ; ""
8B E5 mov esp,ebp ; ""
5D pop ebp ; ""
C3 ret ; exit

0E37C4~807 -------------------------------------------------------------------------
----------
31 D2 xor edx,edx ; EDX = 0
3B DA cmp ebx,edx ; is hero's experience (EBX) less than EDX?
0F 8C 97000000 jl 004E3865 ; if yes, exit (raise hero's level to ECX-1)
41 inc ecx ; ECX +1 (this value starts at 1)
83 F9 0C cmp ecx,0C ; level 12 or higher?
7C 14 jl 004E37E8 ; if no, jump to "EDX +1,000"
83 F9 14 cmp ecx,14 ; level 20 or higher?
7C 17 jl 004E37F0 ; if no, jump to "EDX +5,000"
83 F9 19 cmp ecx,19 ; level 25 or higher?
7C 1A jl 004E37F8 ; if no, jump to "EDX +10,000"
83 F9 1E cmp ecx,1E ; level 30 or higher?
7E 1D jle 004E3800 ; if no, jump to "EDX +25,000"
E9 7D000000 jmp 004E3865 ; exit (maximum level has been reached)
81 C2 E8030000 add edx,000003E8 ; EDX +1,000
EB D6 jmp 004E37C6 ; return to "is EBX less than EDX?"
81 C2 88130000 add edx,00001388 ; EDX +5,000
EB CE jmp 004E37C6 ; return to "is EBX less than EDX?"
81 C2 10270000 add edx,00002710 ; EDX +10,000
EB C6 jmp 004E37C6 ; return to "is EBX less than EDX?"
81 C2 A8610000 add edx,000061A8 ; EDX +25,000
EB BE jmp 004E37C6 ; return to "is EBX less than EDX?"

0DA9BB~FE -------------------------------------------------------------------------
---------
31 D2 xor edx,edx ; EDX = 0
39 D7 cmp edi,edx ; is hero's experience (EDI) less than EDX?
0F8C 10010000 jl 004DAAD5 ; if yes, exit (raise hero's level to ECX-1)
41 inc ecx ; ECX +1 (this value starts at 1)
83 F9 0C cmp ecx,0C ; level 12 or higher?
7C 14 jl 004DA9DF ; if no, jump to "EDX +1,000"
83 F9 14 cmp ecx,14 ; level 20 or higher?
7C 17 jl 004DA9E7 ; if no, jump to "EDX +5,000"
83 F9 19 cmp ecx,19 ; level 25 or higher?
7C 1A jl 004DA9EF ; if no, jump to "EDX +10,000"
83 F9 1E cmp ecx,1E ; level 30 or higher?
7E 1D jle 004DA9F7 ; if no, jump to "EDX +25,000"
E9 F6000000 jmp 004DAAD5 ; exit (maximum level has been reached)
81 C2 E8030000 add edx,000003E8 ; EDX +1,000
EB D6 jmp 004DA9BD ; return to "is EDI less than EDX?"
81 C2 88130000 add edx,00001388 ; EDX +5,000
EB CE jmp 004DA9BD ; return to "is EDI less than EDX?"
81 C2 10270000 add edx,00002710 ; EDX +10,000
EB C6 jmp 004DA9BD ; return to "is EDI less than EDX?"
81 C2 A8610000 add edx,000061A8 ; EDX +25,000
EB BE jmp 004DA9BD ; return to "is EDI less than EDX?"

(Goddamn, the formatting on these forums is ass)

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
deathstare
deathstare


Adventuring Hero
posted August 03, 2021 08:51 AM

Hello, I have some questions and I would appreciate it if someone could tell me how to solve them by hex edit.

1. I found a bug that the basic FORGETFULNESS had no effect at all. Is there a way to correct this?

2. I found a bug that the mass cure spell could not remove the hypnotize spell. Is there a way to correct this?

3. Can I make RESURRATION spell work the same as principle of Vampire's Absorption avillity? For example, if the power of RESURRACTION is 200HP, it doesn't operate for Titan at all, but I want to that it can recover health point, at least.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Phoenix4ever
Phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted August 03, 2021 12:27 PM

Basic Forgetfulness only affects half a stack, there is no bug.

Cure was never able to remove Hypnotize, you need Dispel or Anti-Magic, again there is no bug.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
deathstare
deathstare


Adventuring Hero
posted August 03, 2021 03:12 PM

Phoenix4ever said:
Basic Forgetfulness only affects half a stack, there is no bug.

Cure was never able to remove Hypnotize, you need Dispel or Anti-Magic, again there is no bug.



No, I don't know if it's just me, but I've played it a some times, but basic forgetfulness doesn't change the shooting damage at all.

And I've checked to cure remove Hypnotize when it's a single target, such as basic or advanced. But It can't remove Hypnotize only when it's the mass version. Then I think it's a bug.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted August 03, 2021 07:43 PM
Edited by phoenix4ever at 20:00, 03 Aug 2021.

Okay I just tested it. Basic Forgetfulness seems to be working exactly like it should and I can't seem to recreate your bug.

Hypnotize however: Without Water Magic, with Basic Water Magic and with Advanced Water Magic, I was able to heal Hypnotize with Cure, but for some reason Expert Cure does'nt work. That actually seems to be a bug.

@BTB Are you familiar with the above mentioned bug with Mass Cure not healing Hypnotize?, and is there some small chance you might know a fix for it?

Edit: Just noticed that Mass Cure does'nt target your unit at all, when it's Hypnotized, it's does'nt heal it either.
Perhaps Mass Cure won't target it because it temporarily belongs to the enemy?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted August 03, 2021 09:45 PM

I'll put it on my list of things to look into.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted August 03, 2021 09:58 PM

Great, thanks.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
deathstare
deathstare


Adventuring Hero
posted August 04, 2021 12:44 AM

I'm sorry. I was mistaken about forgetfulness. There are no bugs.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
gnollking
gnollking


Supreme Hero
posted August 04, 2021 06:18 PM

BTB said:
So, I inadvertently found a way to make Wraiths behave like a more balanced version of Ghosts from Heroes 2. They'll create Wights (not more Wraiths >.> from every unit they kill, but it will only be temporary for the battle and they'll go away afterward.

that's sick

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Famous Hero
Moist & Creamy
posted August 04, 2021 09:44 PM

Figured it out totally on accident, too. I was looking at the Weakness proc on Dragonflies and determining what would and would not work as a spell there. It seemed like you were mostly restricted to debuff spells until, on a larf, I plugged in "Summon Fire Elemental" and it worked.

From there, it was just some slight rejiggering to get the right values and also for the game not to crash when wild Wraiths with no hero attacked.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted August 05, 2021 04:31 PM
Edited by phoenix4ever at 16:33, 05 Aug 2021.

BTB I got a comment regarding the ability to make Necromancy artifacts work without you actually having the Necromancy skill.
If you turn this on and don't have Necromancy or any Necromancy artifacts, but own a Necromancy Amplifier, you will also produce skeletons.

The ability to make Archery and Eagle Eye artifacts work without having either skill is great though.  

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
deathstare
deathstare


Adventuring Hero
posted August 06, 2021 02:40 AM
Edited by deathstare at 03:11, 06 Aug 2021.

I have a question. I changed the spell of Storm Elementals by refer to Creature Spell moding method.

Storm Elementals
048388 = Power
04838A = Level
048391 = Spell ID

But the description sentence of battlefield doesn't change. How can I fix it? And I would like to know how to modify the text of the battlefield for the magic of other creature.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 42 pages long: 1 10 ... 14 15 16 17 18 ... 20 30 40 42 · «PREV / NEXT»
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0862 seconds