[1.13c] my code edits compilation

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

9
100%
 
Total votes: 9

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

[1.13c] my code edits compilation

Post by kidpaddle94 » Fri Oct 07, 2011 2:06 am

This is a compilation I started to do for version 1.13c. At the beginning, I made it as a personal reference place, but I finally decided to release it here on the Phrozenkeep. It is not finished since I am still doing some edits and searching some for the fun, so I will update it some times.
Some of the files (about 2 or 3 of them), are not completed but still contains some few edits. It will be updated as soon as I find more for them.

Due to the considerable amounts of edit and also due to the code box of this site that I don't like, I decided to release them as they were on my computer, in .asm files. I recommend to open those files with Notepad++

ALL of those edits have been tested, so if one of them doesn't works, you can report it to me, but you are probably the one who did an error.
ALL of those edits have been done in ASM with ollydbg and will work only on version 1.13c of Diablo II Lord of Destruction.
This pack contains edits of all kinds and can be useful to any modder that would like to code on 1.13c. Most of the edits were found by me.

Some edits have been found from some 1.10f/1.11b snippets posted here on the Phrozenkeep.
I would like to credit:

Whaag
Necrolis
Nefarius
Kingpin
Mentor
lolet
pangeaa

and more modders that I do not remember.

Enjoy :D

Download

Update Log:
06/10/2011: Initial release
07/10/2011: Little Update (two edits added and one update to an already added edit)
07/10/2011: Update (added edits to change quality colors)
08/10/2011: Update, lot of edits added and some updated ones.
09/10/2011: Little update
12/10/2011: Update, some few edits added.
19/10/2011: Update, some edits added again. Also mirrored to my site.
12/11/2011: Lot of edits have been added to the compilation!
17/11/2011: Many corrections, new edits added.
22/11/2011: New edits added, some minor corrections.
10/12/2011: Many new edits, some updates, some corrections.
22/01/2012: new edits added, some corrections, some updates.
Last edited by kidpaddle94 on Tue Jul 10, 2012 6:30 pm, edited 24 times in total.

azianX
Posts: 45
Joined: Fri Sep 09, 2011 4:22 pm

Re: [1.13c] my code edits compilation

Post by azianX » Fri Oct 07, 2011 4:26 am

This is amazing, I cant say how useful this file will be with some of the changes I'm looking to make... Necro had a post about the edits needed for extended levels in 1.13c as well, I personally haven't managed to get this to work, was wondering if you have looked into it, or have any personal use for it.

I've noticed as well you have the DR% cap, and sorb caps etc, but didn't bother to change the block calculations, I point this out cause I am looking for the entry point for this but cant find it still and seems like something that follows the lines of changes you have made...

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] my code edits compilation

Post by kidpaddle94 » Fri Oct 07, 2011 5:54 am

I might be looking wrong, but I didn't find any info (code talking), about the block formula. I could find the cap of 75% chance of block though.
Like I said, the compilation is really not finished, there is a lot more to come :)

edit: yes, I found the block chance cap. will be posted on the coming update.

azianX
Posts: 45
Joined: Fri Sep 09, 2011 4:22 pm

Re: [1.13c] my code edits compilation

Post by azianX » Fri Oct 07, 2011 11:38 am

Heh I found it last night actually myself. But again this is rediculously useful, I'd love to know how you are finding all these offsets, where's your initial breakpoints... xD

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] my code edits compilation

Post by kidpaddle94 » Sat Oct 08, 2011 4:00 am

update:

max block chance
monsters lifebar color and transparency mode
quality colors

User avatar
Lurix
Dark Alliance Beta Test
Champion of the Light
Posts: 496
Joined: Tue Aug 31, 2010 9:30 am
Location: Birmingham, UK
Bulgaria

Re: [1.13c] my code edits compilation

Post by Lurix » Sat Oct 08, 2011 5:54 am

This is a really nice compilation Kid ;)
I assume you were the guy looking for a softcoded workarounds for most of the things in the game, and now managed to get into coding :P
Also I'd advice you to directly post the edits here because I find downloading attachments a little bit annoying.
Anyway it's your decision how to do it.

Gratz again for the compilation ;]

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] my code edits compilation

Post by kidpaddle94 » Sat Oct 08, 2011 11:39 pm

Thank you.

The reason why I releases it as an attachment is because there is a great amount of edit, and I'm still adding some.
There is also the fact that with Notepad++, files will be organized with colors, etc...
That also allows you to have it even if you don't have any access to the web but need to look at it.

1000th post

edit: update

reset maps like in multiplayer
more quest rewards
classic whirlwind
increased loading speed for TCP/IP
ethereal set drops
items dropping already identified
allow pierce to break immunities
friendly fire
better death hitpoints calculation
experience gain beyond two screens
open wounds related stuff

User avatar
Xaphan
Hosted Forum Moderator
Arch-Angel
Posts: 1113
Joined: Fri Oct 08, 2010 10:55 am
France

Re: [1.13c] my code edits compilation

Post by Xaphan » Sun Oct 09, 2011 12:46 am

kidpaddle94" wrote:items dropping already identified
Just a question about this :
Dou you know where to look to do this in 1.10f ? This would be amazing !

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] my code edits compilation

Post by kidpaddle94 » Sun Oct 09, 2011 1:35 am

sorry, I don't have any informations about this edit on version 1.10f :-|

User avatar
Necrolis
Senior Admin
Throne
Posts: 9125
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Re: [1.13c] my code edits compilation

Post by Necrolis » Sun Oct 09, 2011 8:00 am

Xaphan" wrote:
kidpaddle94" wrote:items dropping already identified
Just a question about this :
Dou you know where to look to do this in 1.10f ? This would be amazing !
the 1.10f version was posted by Demon9ne iirc, just search the CE forum
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
Xaphan
Hosted Forum Moderator
Arch-Angel
Posts: 1113
Joined: Fri Oct 08, 2010 10:55 am
France

Re: [1.13c] my code edits compilation

Post by Xaphan » Sun Oct 09, 2011 11:35 am

I did a search before posting this and diden't find anything.

Searching for Demon9ne's posts also failled, so I think, if he had posted one day, it is not here anymore, or I'm just dumb :)

User avatar
Necrolis
Senior Admin
Throne
Posts: 9125
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Re: [1.13c] my code edits compilation

Post by Necrolis » Sun Oct 09, 2011 11:53 am

Xaphan" wrote:I did a search before posting this and diden't find anything.

Searching for Demon9ne's posts also failled, so I think, if he had posted one day, it is not here anymore, or I'm just dumb :)
probably got annihilated by the DB rollback a while back, here are the 1.10 locs for my notes:

Code: Select all

charms
6FC4DB46                                                 > \6A 00                                          PUSH 0

magic
6FC4D681                                                |.  6A 00                                          PUSH 0

set
6FC54466                                                |.  6A 00                                          PUSH 0

rare
6FC5354C                                                 > \6A 00                                          PUSH 0

unique
6FC4CD51                                                |> /6A 00                                          PUSH 0
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
Xaphan
Hosted Forum Moderator
Arch-Angel
Posts: 1113
Joined: Fri Oct 08, 2010 10:55 am
France

Re: [1.13c] my code edits compilation

Post by Xaphan » Sun Oct 09, 2011 12:56 pm

Thanks Necrolis, changing all PUSH 0 to PUSH 1 made it to work :)

User avatar
Demon9ne
Dark Alliance Beta Test
Champion of the Light
Posts: 385
Joined: Mon Dec 20, 2004 6:01 am
Location: IL, USA
Contact:

Re: [1.13c] my code edits compilation

Post by Demon9ne » Sun Oct 09, 2011 9:52 pm

Also:

v1.10 Identify items transmogrified by right-click:

Code: Select all

D2Game.0x1D682   6A 01   PUSH 1

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] my code edits compilation

Post by kidpaddle94 » Sat Nov 12, 2011 11:01 pm

this has been updated a lot, so I thought I would bump it. :D

azianX
Posts: 45
Joined: Fri Sep 09, 2011 4:22 pm

Re: [1.13c] my code edits compilation

Post by azianX » Tue Jul 23, 2013 1:08 pm

Ack, the link is dead, is this able to be updated?

situm
Posts: 5
Joined: Tue Aug 28, 2012 3:57 am

Re: [1.13c] my code edits compilation

Post by situm » Sat Oct 12, 2013 4:51 pm

kidpaddle94" wrote:This is a compilation I started to do for version 1.13c. At the beginning, I made it as a personal reference place, but I finally decided to release it here on the Phrozenkeep. It is not finished since I am still doing some edits and searching some for the fun, so I will update it some times.
Some of the files (about 2 or 3 of them), are not completed but still contains some few edits. It will be updated as soon as I find more for them.

Due to the considerable amounts of edit and also due to the code box of this site that I don't like, I decided to release them as they were on my computer, in .asm files. I recommend to open those files with Notepad++

ALL of those edits have been tested, so if one of them doesn't works, you can report it to me, but you are probably the one who did an error.
ALL of those edits have been done in ASM with ollydbg and will work only on version 1.13c of Diablo II Lord of Destruction.
This pack contains edits of all kinds and can be useful to any modder that would like to code on 1.13c. Most of the edits were found by me.

Some edits have been found from some 1.10f/1.11b snippets posted here on the Phrozenkeep.
I would like to credit:

Whaag
Necrolis
Nefarius
Kingpin
Mentor
lolet
pangeaa

and more modders that I do not remember.

Enjoy :D

Download

Update Log:
06/10/2011: Initial release
07/10/2011: Little Update (two edits added and one update to an already added edit)
07/10/2011: Update (added edits to change quality colors)
08/10/2011: Update, lot of edits added and some updated ones.
09/10/2011: Little update
12/10/2011: Update, some few edits added.
19/10/2011: Update, some edits added again. Also mirrored to my site.
12/11/2011: Lot of edits have been added to the compilation!
17/11/2011: Many corrections, new edits added.
22/11/2011: New edits added, some minor corrections.
10/12/2011: Many new edits, some updates, some corrections.
22/01/2012: new edits added, some corrections, some updates.
the link is down, anyone can re-upload it, i want to get one copy

User avatar
Xibalba
Dark Alliance Beta Test
Champion of the Light
Posts: 283
Joined: Thu Aug 29, 2013 2:38 pm
Location: Skyrim

Re: [1.13c] my code edits compilation

Post by Xibalba » Fri Oct 18, 2013 10:16 am

They re-uploaded i think. Link works fine.
Also thanks kidpaddle, this is reaally useful!
Life is too short to drive boring cars.

FearedBliss
Posts: 82
Joined: Sat Oct 16, 2010 4:29 pm
United States of America

Re: [1.13c] my code edits compilation

Post by FearedBliss » Thu Jun 12, 2014 11:02 pm

Hey kidpaddle, great work on these. I took some of the changes you provided and incorporated it into my mod: Vanilla Frosting: https://github.com/fearedbliss/Diablo-I ... a-Frosting

I'm on 1.13d so I went ahead and found the new offsets for the following:

- Hyperjoin
- Classic Whirlwind

I also found the new offset for the "Classic Shield Block/ Shield Block Fix" based on an old 1.10f DLL that Nefarius created and is on PhrozenKeep:
https://d2mods.info/filecenter/dload.ph ... le_id=1352

Since I didn't know what the changes to Nefarius's dll were, I decided
to open both dlls up in olly (his modded dll, and a vanilla 1.10f dll),
exported the entire dll into a plain text file, and then used Linux's 'diff' utility
to see if the differences would be pointed, luckily they were :D:

jon@octopus ~ $ diff -u vanilla.txt modded.txt
--- vanilla.txt 2014-06-12 15:31:53.495472800 -0400
+++ modded.txt 2014-06-12 15:31:07.041407500 -0400
@@ -162585,7 +162585,7 @@
00080CF6 0FAFC5 IMUL EAX,EBP
00080CF9 99 CDQ
00080CFA F7F9 IDIV ECX
-00080CFC 8BE8 MOV EBP,EAX
+00080CFC 8BED MOV EBP,EBP
00080CFE 83FD 4B CMP EBP,4B
00080D01 7D 08 JGE SHORT 00080D0B
00080D03 5F POP EDI

After that I went ahead and searched for it on 1.13d. Here is the code and changes/offset for that:

Code: Select all

000189E1    E8 FAFA0300     CALL 000584E0
000189E6    8BC8            MOV ECX,EAX
000189E8    83F9 01         CMP ECX,1
000189EB    7F 05           JG SHORT 000189F2
000189ED    B9 01000000     MOV ECX,1
000189F2    8D43 F1         LEA EAX,DWORD PTR DS:[EBX-F]
000189F5    0FAFC7          IMUL EAX,EDI
000189F8    99              CDQ
000189F9    03C9            ADD ECX,ECX
000189FB    F7F9            IDIV ECX
000189FD    8BF8            MOV EDI,EAX                         <<< Make second register equal to first (EDI = First, EAX = Second)
000189FF    83FF 4B         CMP EDI,4B
00018A02    7D 08           JGE SHORT 00018A0C
00018A04    8BC7            MOV EAX,EDI
00018A06    5F              POP EDI
00018A07    5E              POP ESI
00018A08    5B              POP EBX
00018A09    C2 0800         RETN 8
Here is the code sequence I used to find it:

Code: Select all

IDIV R32
MOV R32,R32
CMP R32,4B
JGE SHORT const
WHAT TO DO:

Code: Select all

000189FD    8BF8            MOV EDI,EAX 

Make the second register equal to the first, so it will become MOV EDI,EDI:

000189FD    8BFF            MOV EDI,EDI
Offsets:

1.13d Offset: 189FD
1.10f Offset (Thanks to Nefarius): 80CFC

---------------

1.13d Hyperjoin:

Code:

Code: Select all

000B6B62    75 08           JNZ SHORT 000B6B6C
000B6B64    892D 60CABC6F   MOV DWORD PTR DS:[6FBCCA60],EBP
000B6B6A    EB 0A           JMP SHORT 000B6B76
000B6B6C    8BC6            MOV EAX,ESI
000B6B6E    99              CDQ
000B6B6F    F7FD            IDIV EBP
000B6B71    A3 60CABC6F     MOV DWORD PTR DS:[6FBCCA60],EAX
000B6B76    6A 00           PUSH 0
000B6B78    E8 B346F6FF     CALL 0001B230
000B6B7D    68 FA000000     PUSH 0FA                                 <<<< Change this to PUSH 5, and the next 3 will be NOP
000B6B82    FFD3            CALL EBX
000B6B84    81C6 00010000   ADD ESI,100
000B6B8A    4F              DEC EDI
000B6B8B  ^ 75 D3           JNZ SHORT 000B6B60
000B6B8D    5F              POP EDI
000B6B8E    5E              POP ESI
000B6B8F    5D              POP EBP
000B6B90    5B              POP EBX
000B6B91    C2 0400         RETN 4
WHAT TO DO:

Code: Select all

Change the following line to PUSH 5 and NOP the rest:
000B6B7D    68 FA000000     PUSH 0FA

Will become the following:
000B6B7D    6A 05           PUSH 5
000B6B7F    90              NOP
000B6B80    90              NOP
000B6B81    90              NOP
HOW TO FIND OFFSET:

Search for the following code sequence:

Code: Select all

PUSH 0
CALL const
PUSH 0FA
CALL R32
ADD R32,100
There will only be one match.

1.13d Offset: B6B7D
1.13c Offset (Thanks to kidpaddle94): 14D6D


----------------

Classic Whirlwind:

CODE:

Code: Select all

000C14A0    C2 0800         RETN 8
000C14A3    55              PUSH EBP
000C14A4    8B6C24 0C       MOV EBP,DWORD PTR SS:[ESP+C]
000C14A8    8B45 70         MOV EAX,DWORD PTR SS:[EBP+70]
000C14AB    85C0            TEST EAX,EAX
000C14AD    75 0A           JNZ SHORT 000C14B9                        <<<< NOP this (There will be two consecutive NOPs)
000C14AF    5D              POP EBP
000C14B0    B8 01000000     MOV EAX,1
000C14B5    5F              POP EDI
000C14B6    C2 0800         RETN 8
000C14B9    8B7C24 10       MOV EDI,DWORD PTR SS:[ESP+10]
WHAT TO DO:

Code: Select all

NOP the following line (There will be two consecutive NOPs):

000C14AD    75 0A           JNZ SHORT 000C14B9

Which will turn into:

000C14AD    90              NOP
000C14AE    90              NOP
HOW TO FIND OFFSET:

Search for the following code sequence:

Code: Select all

MOV R32,[R32+const]
MOV R32,[R32+const]
TEST R32,R32
JNZ SHORT const
POP R32
MOV R32,1
POP R32
RETN 8
There will only be one match.

1.13d Offset: C14AD
1.13c Offset (Thanks to kidpaddle94): 26E7D

I tested all except the classic whirlwind, however I'm sure it will work.

User avatar
misiek1294
Junior Member
Paladin
Posts: 168
Joined: Mon Dec 29, 2014 3:58 pm
Poland

Re: [1.13c] my code edits compilation

Post by misiek1294 » Tue Feb 03, 2015 11:38 am

Link is broken again ;/ anyone can reupload this ? please..

User avatar
Xibalba
Dark Alliance Beta Test
Champion of the Light
Posts: 283
Joined: Thu Aug 29, 2013 2:38 pm
Location: Skyrim

Re: [1.13c] my code edits compilation

Post by Xibalba » Mon Feb 23, 2015 8:16 pm

Your download link is down, some people still need it and was sending pm's to me for it.

Ill put this unofficial downlad link HERE
Life is too short to drive boring cars.

joe schmoe
Posts: 16
Joined: Wed Feb 25, 2015 6:33 pm

Re: [1.13c] my code edits compilation

Post by joe schmoe » Thu Feb 26, 2015 10:30 pm

kidpaddle94" wrote:This is a compilation I started to do for version 1.13c. At the beginning, I made it as a personal reference place, but I finally decided to release it here on the Phrozenkeep. It is not finished since I am still doing some edits and searching some for the fun, so I will update it some times.
Some of the files (about 2 or 3 of them), are not completed but still contains some few edits. It will be updated as soon as I find more for them.

Due to the considerable amounts of edit and also due to the code box of this site that I don't like, I decided to release them as they were on my computer, in .asm files. I recommend to open those files with Notepad++

ALL of those edits have been tested, so if one of them doesn't works, you can report it to me, but you are probably the one who did an error.
ALL of those edits have been done in ASM with ollydbg and will work only on version 1.13c of Diablo II Lord of Destruction.
This pack contains edits of all kinds and can be useful to any modder that would like to code on 1.13c. Most of the edits were found by me.

Some edits have been found from some 1.10f/1.11b snippets posted here on the Phrozenkeep.
I would like to credit:

Whaag
Necrolis
Nefarius
Kingpin
Mentor
lolet
pangeaa

and more modders that I do not remember.

Enjoy :D

Download

Update Log:
06/10/2011: Initial release
07/10/2011: Little Update (two edits added and one update to an already added edit)
07/10/2011: Update (added edits to change quality colors)
08/10/2011: Update, lot of edits added and some updated ones.
09/10/2011: Little update
12/10/2011: Update, some few edits added.
19/10/2011: Update, some edits added again. Also mirrored to my site.
12/11/2011: Lot of edits have been added to the compilation!
17/11/2011: Many corrections, new edits added.
22/11/2011: New edits added, some minor corrections.
10/12/2011: Many new edits, some updates, some corrections.
22/01/2012: new edits added, some corrections, some updates.
The ImbueCode is not finished. Any chance this will be updated? Thanks for ANY reply.

Joe

User avatar
Kuss
Posts: 82
Joined: Tue Jun 23, 2015 11:29 am

Re: [1.13c] my code edits compilation

Post by Kuss » Sun Jul 12, 2015 6:56 am

Any chance for a reup?
EDIT: Wops nvm somebody uploaded it on 2shared some post above

User avatar
csguak
Posts: 61
Joined: Fri Jul 06, 2012 7:15 am
Location: USA

Re: [1.13c] my code edits compilation

Post by csguak » Sat Jul 18, 2015 10:17 pm

Hello, I would like to add Hireling ressurection cost to this list.
First, I need to give credit where its due.
viewtopic.php?f=8&t=37888

All I'm doing is reiterating the posters of the link right above.

Code: Select all

File E:\Diablo II\D2Common.dll
Address   Hex dump          Command                                  Comments
0002CC9F   \5F              POP EDI 
0002CCA0    5B              POP EBX
0002CCA1    0FAFC0          IMUL EAX,EAX
0002CCA4    99              CDQ
0002CCA5    29D0            SUB EAX,EDX
0002CCA7    D1F8            SAR EAX,1
0002CCA9    6BC0 0F         IMUL EAX,EAX,0F
0002CCAC    3D E0930400     CMP EAX,493E0 <--- This is Decimal 50000 <-- Compare EAX (Total hireling ressurection) to 50000...
0002CCB1    76 05           JBE SHORT 0002CCB8 <-- If the price is below 50000 then jump to 0002CCB8 and simply return the EAX value from above calculations.
0002CCB3    B8 E0930400     MOV EAX,493E0 <-- This is decimal 50000 <-- MOV into EAX the value specified here if the comparison from above turned out to be true.
0002CCB8    C2 0400         RETN 4

User avatar
Kuss
Posts: 82
Joined: Tue Jun 23, 2015 11:29 am

Re: [1.13c] my code edits compilation

Post by Kuss » Fri Jul 24, 2015 8:10 am

Ok I'm at a loss, in the Items Drop Already Identified I read this for the magic items

D2Game.dll - 104C0 '[magic]'
016E04C0 6A 00 PUSH 0

I don't have this address at all. I tried opening D2Game.dll with everything but I have other addresses (6F... when debugged).
Anybody knows what I'm doing wrong?

Post Reply

Return to “Code Editing”