[1.13c] A5Q1 Please help with Infinite Larzuk socketing code

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

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

[1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by joe schmoe » Tue Mar 03, 2015 5:11 am

Hello,

I am looking to edit what I believe is the D2Client.dll in order to force Larzuk to socket items infinitely after completing the quest A5Q1. I found a good post on an old thread and Necropolis pointed out that it could be accomplished by NOPing a few lines of code. However, the code I'm seeing when I open the D2Client.dll does not appear similar to the code he referred to. I'm guessing this is due to differences in game versions. If there is someone out there that can translate for me which lines I need to edit in 1.13c code, I would be grateful.

I also have a question about client vs server side .dlls. To accomplish this effect, would I need to edit both the server and client side D2Client.dll files? Or in this case, would I need to edit more than one type of .dll?

Would it be against protocol to ask if there is a .dll available (1.13c) for download somewhere that already has this effect coded?

Please excuse any ridiculous questions. I am, after all, just a newb. Thank you for any help.

EDIT: Oh.My.God. I just spent a bit (just an hour) messing with D2/Olly and I had no idea it would be this involved. In the whole of Diablo 2, I am looking to alter just the one aspect (Infinite socketing at Larzuk), but even that bit of coding is more work than I am looking to do. I really don't want to spend the time it takes to go through coding tutorials and dig around this forum for bits of alien jargon to change just that one little detail in 1 or 2 little .dll's. I'll leave that to the pros. If anyone out there is looking for some freelance Diablo 2 LOD 1.13c coding work, name your price and maybe we can do business. I should tell you that I would like the result to work for multiple clients on the same server (TCP/IP). If anything I said is against the forum rules/etiquette, I do apologize. I'll check back here for a couple more days to look for replies. After that, I'm out. You all take care and I hope this forum lives a long life. Good to know there is a population that still loves this game as much as I do. Thank you.

Joe

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] A5Q1 Please help with Infinite Larzuk socketing

Post by Necrolis » Tue Mar 03, 2015 3:45 pm

The code for this is in both D2Client and D2Game. D2Client controls the menu entry, D2Game controls the server checks to allow the menu entry to work. The easiest way is to actually not out the state completion on the server so that using the reward never completes the quest.

I can find the edits, but I won't have time to test them out, so if the dlls work, cool, else someone else will need to help.

EDIT: nopping out this code should do it:

Code: Select all

6FCE075D                                            |> \8BC7                                  MOV EAX,EDI
6FCE075F                                            |.  8BFD                                  MOV EDI,EBP
6FCE0761                                            |.  E8 5A7EF9FF                           CALL D2Game.6FC785C0
https://www.dropbox.com/s/d4v9twtygv0oz ... e.rar?dl=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

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

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing

Post by joe schmoe » Tue Mar 03, 2015 4:56 pm

Necrolis" wrote:The code for this is in both D2Client and D2Game. D2Client controls the menu entry, D2Game controls the server checks to allow the menu entry to work. The easiest way is to actually not out the state completion on the server so that using the reward never completes the quest.

I can find the edits, but I won't have time to test them out, so if the dlls work, cool, else someone else will need to help.

EDIT: nopping out this code should do it:

Code: Select all

6FCE075D                                            |> \8BC7                                  MOV EAX,EDI
6FCE075F                                            |.  8BFD                                  MOV EDI,EBP
6FCE0761                                            |.  E8 5A7EF9FF                           CALL D2Game.6FC785C0
https://www.dropbox.com/s/d4v9twtygv0oz ... e.rar?dl=0
Holy crap! :) It's like christmas morning! Hahaha. I woke up and checked this thread and found this. Seriously, I thought for sure I'd hear crickets. Necrolis, you're the man. I tested it and it works exactly the way I needed it to. Exactly like you said it would. I'm just stoked right now. Do you want money for your time and effort? I'll PM you. Thank you! :D

Joe

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing

Post by devurandom » Thu Mar 12, 2015 12:37 am

Code: Select all

 [1.13d] infinite larzuk socketing

D2Game.dll

6FC94F9D      8BC7          MOV EAX,EDI		<----NOP
6FC94F9F      8BFD          MOV EDI,EBP		<----NOP
6FC94FA1      E8 1A72FAFF   CALL 6FC3C1C0	<----NOP
Updated locations for 1.13d

Anyone have some pointers on how to change the results so it always gives 2 sockets on magical items. With this item type you have a 50-50 chance of 1-2 sockets.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

lolet
Posts: 95
Joined: Sat Sep 04, 2010 8:43 pm

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing

Post by lolet » Fri Mar 13, 2015 6:23 pm

Check code above the address you posted

Code: Select all

.text:6FC94F02     loc_6FC94F02:                           ; CODE XREF: sub_6FC94900+5FBj
.text:6FC94F02 114                 push    ebx
.text:6FC94F03 118                 call    D2Common_10549
.text:6FC94F08 114                 mov     ecx, eax
.text:6FC94F0A 114                 call    GetRandom_6FC21180
.text:6FC94F0F 114                 inc     eax
.text:6FC94F10 114                 mov     esi, eax
.text:6FC94F12
.text:6FC94F12     loc_6FC94F12:                           ; CODE XREF: sub_6FC94900+5DEj
.text:6FC94F12                                             ; sub_6FC94900+5E3j ...
.text:6FC94F12 114                 push    esi             ; a11
.text:6FC94F13 118                 push    ebx             ; a10
.text:6FC94F14 11C                 call    D2Common_AddSocketToItem_10749
.text:6FC94F19 11C                 push    ebp
Nop out push ebx...mov esi, eax and change esi to number of socket you want to (untested)

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing

Post by devurandom » Sat Mar 21, 2015 8:05 am

Lolet ........ A big thank you for pointing me to the right section !!!

Below is the working code edit - optimized.

TESTED

Code: Select all

Larzuk Socketing - always give 2 sockets on magical items.
(Instead of 50-50 chance of 1-2 sockets)


[1.13d] D2Game.dll - 74EFB

code section

6FC94EF8      83FE 02       CMP ESI,2			 
6FC94EFB      7C 05         JL SHORT 6FC94F02
6FC94EFD      BE 02000000   MOV ESI,2
6FC94F02      53            PUSH EBX                        ; /Arg1
6FC94F03      E8 D457F9FF   CALL <JMP.&D2Common.#10549>     ; \D2Common.#10549
6FC94F08      8BC8          MOV ECX,EAX
6FC94F0A      E8 71C2F8FF   CALL 6FC21180
6FC94F0F      40            INC EAX
6FC94F10      8BF0          MOV ESI,EAX


change 

6FC94EFB      7C 05         JL SHORT 6FC94F02
.....
6FC94F10      8BF0          MOV ESI,EAX

to

6FC94EFB      74 15         JE SHORT 6FC94F12
....
6FC94F10      90            NOP
6FC94F11      90            NOP

EDIT#3: previous CE worked 40-50 times correct. but failed on magic Legendary Mallet.. giving 1-2 sockets. This update Fixes that.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
Kaladann
Junior Member
Paladin
Posts: 108
Joined: Fri Oct 23, 2015 1:15 am
Location: France
France

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by Kaladann » Wed Aug 29, 2018 5:52 pm

Necrolis wrote:
Tue Mar 03, 2015 3:45 pm
...
EDIT: nopping out this code should do it:

Code: Select all

6FCE075D                                            |> \8BC7                                  MOV EAX,EDI
6FCE075F                                            |.  8BFD                                  MOV EDI,EBP
6FCE0761                                            |.  E8 5A7EF9FF                           CALL D2Game.6FC785C0
https://www.dropbox.com/s/d4v9twtygv0oz ... e.rar?dl=0
Hello !

Can someone translate me this CE as a 'search and replace' form please ?
Like this exemple:

Code: Select all

"Level Cap" ;it's hardcoded so you can't gain more than one level from this quest

D2Game.dll - 5BFF8

6FC7BFF8    3BDD            CMP EBX,EBP
6FC7BFFA    7E 04           JLE SHORT D2Game.6FC7C000

TO

6FC7BFF8    3BDD            CMP EBX,EBP
6FC7BFFA    EB 04           JMP SHORT D2Game.6FC7C000

;This will remove the level cap
I already tested the file provided by Necrolis, but I wish to have the edit in the case I need it in the future.
Thank you in advance :drunk:
Want to play but not enought time to drop good stuff and raise decent level ? Try Casual Nostalgia !
ImageMore infos here : viewtopic.php?f=5&t=63800
CHEERS !

User avatar
HarvestWombs
Senior Moderator
Arch-Angel
Posts: 1019
Joined: Wed May 25, 2011 11:50 pm
United States of America

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by HarvestWombs » Wed Aug 29, 2018 7:36 pm

Kaladann wrote:
Wed Aug 29, 2018 5:52 pm
Hello !

Can someone translate me this CE as a 'search and replace' form please ?
Like this exemple:
He already said to nop the selected addresses. Meaning you go to the location specified and edit it, so that all of those locations are NOP
Official Phrozen Keep Discord
Common Modding tools: link
My Resource Packs: link

User avatar
Kaladann
Junior Member
Paladin
Posts: 108
Joined: Fri Oct 23, 2015 1:15 am
Location: France
France

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by Kaladann » Wed Aug 29, 2018 9:01 pm

My knowlege is very limited, I only know how to hex the DLL with hworks32 for now, not all this ASM stuff :oops:
It's why I asked that.
Want to play but not enought time to drop good stuff and raise decent level ? Try Casual Nostalgia !
ImageMore infos here : viewtopic.php?f=5&t=63800
CHEERS !

User avatar
HarvestWombs
Senior Moderator
Arch-Angel
Posts: 1019
Joined: Wed May 25, 2011 11:50 pm
United States of America

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by HarvestWombs » Wed Aug 29, 2018 11:47 pm

Then why don't you Youtube some basics using olly?
Official Phrozen Keep Discord
Common Modding tools: link
My Resource Packs: link

User avatar
Kaladann
Junior Member
Paladin
Posts: 108
Joined: Fri Oct 23, 2015 1:15 am
Location: France
France

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by Kaladann » Wed Aug 29, 2018 11:50 pm

I'll try. But last time, I feel lost in the middle of the ocean :-|
Want to play but not enought time to drop good stuff and raise decent level ? Try Casual Nostalgia !
ImageMore infos here : viewtopic.php?f=5&t=63800
CHEERS !

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by devurandom » Thu Aug 30, 2018 9:34 am

This is a good place to start, give it a week or so.
https://d2mods.info/resources/diablo_ii ... 0v2.01.htm
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
Kaladann
Junior Member
Paladin
Posts: 108
Joined: Fri Oct 23, 2015 1:15 am
Location: France
France

Re: [1.13c] A5Q1 Please help with Infinite Larzuk socketing code

Post by Kaladann » Thu Aug 30, 2018 11:02 am

Thank you Devurandom, I'll try to go further again in this file :o
Want to play but not enought time to drop good stuff and raise decent level ? Try Casual Nostalgia !
ImageMore infos here : viewtopic.php?f=5&t=63800
CHEERS !

Post Reply

Return to “Code Editing”