Hello guys. Recently I started to follow some tutorials (or, i should say, Code editing notes) found on Khanduras.net which report the various code edits made during the development of "Diablo The Dark" mod. I focused my attention on the "berserk" skill (they call it "Charm", though) . I managed to follow the instructions in order to make the affected monsters ("Charmed",as they say) to be friendly towards me, but they keep attacking each other. If I follow the instructions to set the "charmed" monsters to be friendly towards one another, the game crashes as soon as I set foot in a dungeon level, no matter which. Here is what i've done :
A) These are the lines i managed to modify, as the Notes report :
Characters are no longer a possible target for Charmed monsters, as is already the case for Golems:
file offset 0003BCFA
:0043C8FA F6C408 test ah, 08
:0043C8FD 7508 jne 0043C907 jmp for Charmed monsters
:0043C8FF A820 test al, 20
:0043C901 0F851F010000 jne 0043CA26 jmp for Golem
changed into
:0043C8FA A920080000 test eax, 00000820
:0043C8FF 0F8521010000 jne 0043CA26 jmp for Golem and Charmed monsters
:0043C905 9090 2*nop
B) This is what causes the game to crash, and I really don't know why :
Golems and Charmed monsters are no longer a possible target for Golems and Charmed monsters:
file offset 0003BE90
:0043CA90 010000 ...
:0043CA93 8B869C000000 mov eax, dword ptr [esi+0000009C]
:0043CA99 A820 test al, 20
:0043CA9B 753F jne 0043CADC
:0043CA9D F6C408 test ah, 08
:0043CAA0 753A jne 0043CADC
changed into
:0043CA90 8B869C000000 mov eax, dword ptr [esi+0000009C]
:0043CA96 A920080000 test eax, 00000820
:0043CA9B 754E jne 0043CAEB jmp for Golem and Charmed monsters
:0043CA9D 9090909090 5*nop
file offset 0003BECC
:0043CACC 8B4DE4 mov ecx, dword ptr [ebp-1C]
:0043CACF E89DFDFFFF call 0043C871 check for "Golem Shooter"
:0043CAD4 85C0 test eax, eax
:0043CAD6 0F84DF000000 je 0043CBBB if not, dont target this monster
:0043CADC 8B869C000000 mov eax, dword ptr [esi+0000009C]
:0043CAE2 A820 test al, 20
:0043CAE4 7512 jne 0043CAF8
:0043CAE6 F6C408 test ah, 08
:0043CAE9 750D jne 0043CAF8
:0043CAEB F68724DD690020 test byte ptr [edi+0069DD24], 20
:0043CAF2 0F84C3000000 je 0043CBBB
changed into
:0043CACC ...
:0043CADC F68724DD690020 test byte ptr [edi+0069DD24], 20
:0043CAE3 0F84D2000000 je 0043CBBB
:0043CAE9 EB0D jmp 0043CAF8 target Golem or Charmed monsters
:0043CAEB F68724DD690020 test byte ptr [edi+0069DD24], 20
:0043CAF2 0F85C3000000 jne 0043CBBB dont target Golem or Charmed monsters
:0043CAF8
Anyone's got an idea about how to correctly set these modifications? And, in case you're not familiar with Hellfire modding (I'm working on HF v1.01) could you please suggest me how to recreate the Berserk(or "Charm") spell in Diablo 1?
Diablo 1 Modding attempt : "Berserk" skill
Solved , the [...] reported in the code i copied are meant to be replaced with nop's [90's]. I asked for help in TheHell forum, and a member suggested me to try this way.
I will post the modified code here, in case someone else wants to have friendly monsters.
step 1) Offset 0003BCFA
you have to start from F6 and overwrite as follows :
A9 20 08 00 00 0F 85 21 01 00 00 90 90 --> with this edit, you are telling Charmed monsters not to attack you
step 2) Offset 0003BE90
you have to start from "01 00 00" :
Find "75 3F" and replace it with "75 4E"
Offset 0003BECC
Here you have to start from "8B 4D E4" and overwrite everything with "90" until you find "8B 86 9C" ;
After you've found it, you'll have to overwrite as follows
"F6 87 24 DD 69 00 20 0F 84 D2 00 00 00 EB 0D F6 87 24 DD 69 00 20 0F 85 C3 00 00 00"
I will post the modified code here, in case someone else wants to have friendly monsters.
step 1) Offset 0003BCFA
you have to start from F6 and overwrite as follows :
A9 20 08 00 00 0F 85 21 01 00 00 90 90 --> with this edit, you are telling Charmed monsters not to attack you
step 2) Offset 0003BE90
you have to start from "01 00 00" :
Find "75 3F" and replace it with "75 4E"
Offset 0003BECC
Here you have to start from "8B 4D E4" and overwrite everything with "90" until you find "8B 86 9C" ;
After you've found it, you'll have to overwrite as follows
"F6 87 24 DD 69 00 20 0F 84 D2 00 00 00 EB 0D F6 87 24 DD 69 00 20 0F 85 C3 00 00 00"
Who is online
Users browsing this forum: No registered users and 0 guests