Page 1 of 1

Diablo 2 LoD 1.14b Table

Posted: Wed Aug 31, 2022 12:01 am
by CrazySquirrel

Hello All!

I was shocked at how many tables there were out there, but very few if any for classics, so I went ahead and made one for Diablo 2 LoD. This is still a work in progress, but used as a good stepping stone for lots of learning different methods for making tables. This one was my baby, haha.

Here is the table:

D2LoD1.14b.CT
(1.3 MiB) Downloaded 5712 times

---Cheat Table Contents---

► Show Spoiler

Thanks for checking this hack out! Was fun to make, and will be improving on it in the future.

Note: I made this for 1.14b but added a lot of modular information to make the AOB's work better. Still need to test for 1.14d, but haven't been able to update thanks to Blizzard not allowing it normally.

If you have any ideas or suggestions, please let me know. Worked hard on this one, and may try and convert it over to Median as well.


Re: Diablo 2 LoD 1.14b Table

Posted: Wed Aug 31, 2022 6:47 am
by justNOPing

Nice job here, classic games definitely deserve some love from table makers. VAC to player is a neat future indeed, though you could probably make it "vac to cursor" instead, if the game has an instruction that returns coordinates in world, based on cursor's position (kinda like what I've done in my Lionheart table). I always wondered how people make these loot manipulation scripts, looks absolutely amazing. Your table also has a plenty of comments which is super useful. One thing though, you forgot to delete all the used structures in "data dissect". Next time you release a table, please, do remove them (Memory Viewer - CTRL+D - File - Delete all structures). They are all being saved in your .ct if you don't delete 'em forehand, the difference in filesize is huge

Preview

Image


Re: Diablo 2 LoD 1.14b Table

Posted: Wed Aug 31, 2022 8:33 am
by CrazySquirrel

Ahh, that is an error on my end 100%. I did the same thing for Power Washing Simulator and didn't even realize that was the issue until now. Thanks for the heads up!

Also, Entity to cursor was a bit out of my reach as this was my first game I hacked, maybe I'll return and try when I'm more capable. I do know that the value that's returned by the cursor is way off compared to the coordinates, but maybe it correlates in the registers around it (it must if I back trace enough now that I think about it...).

Thank you! Hoping to do more like this in the future, was a ton of fun.


Re: Diablo 2 LoD 1.14b Table

Posted: Wed Aug 31, 2022 3:53 pm
by justNOPing
CrazySquirrel wrote: Wed Aug 31, 2022 8:33 am

Thank you! Hoping to do more like this in the future, was a ton of fun.

Would you be so kind to elaborate on how did you find the loot rarity instruction? I can't imagine how people narrow down such a search.


Re: Diablo 2 LoD 1.14b Table

Posted: Wed Aug 31, 2022 10:53 pm
by CrazySquirrel
justNOPing wrote: Wed Aug 31, 2022 3:53 pm
CrazySquirrel wrote: Wed Aug 31, 2022 8:33 am

Thank you! Hoping to do more like this in the future, was a ton of fun.

Would you be so kind to elaborate on how did you find the loot rarity instruction? I can't imagine how people narrow down such a search.

Yeah, I would be more than happy to explain my process. I will mention, this took me on and off banging my head against a wall since I'm so new, probably about a week or so. I stared at disassembly and experienced many crashes with the Code Filter before finally getting a good method.

What I had done, is used the Code Filter with the Trace function, which had obvious crashes. I used vendors as a test for this, since I could quickly open up a menu to get an item to generate before crashing. After getting those 60 or so calls, I went through and analyzed what each of them were doing, looked at the registers and the stack and saw points of what appeared to be a base address. Modified some values in there, and with experience on looking at how items were in this game through an inventory pointer that holds my items, I found out these were the items in a lot of these calls registers when setting a breakpoint on them and generating an item.

I then left the Code Filter open, started it on these 60 values, and just placed a breakpoint on a random one here, to see where the initial call was to build these items. Found out where the first call of these 60 were made, then followed the base address of the item to see how it was made, and just worked off of that. Let me know if that makes sense, haha.


Re: Diablo 2 LoD 1.14b Table

Posted: Fri Oct 07, 2022 9:25 pm
by khuong

Appreciate the codes for the classic -- and explaining the Item Rarity.. it's always a pain to find.. :D

Hoping one day you'll work on D2 Resurrected


Re: Diablo 2 LoD 1.14b Table

Posted: Tue Feb 27, 2024 5:07 pm
by satandidnowrong

Lovely. Thank you very much. I hope your journey continued.

If any one sees and is interested in working in this game together please contact me.