1.14 D Code edit Wiki

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

ascar
Posts: 69
Joined: Mon Aug 02, 2021 6:40 pm
France

1.14 D Code edit Wiki

Post by ascar » Mon Mar 06, 2023 6:25 pm

Hello

I started serious code editing 1 week ago and want to create a wiki with all usefull offset for version 1.14d
There is only 1.13 and 1.10 here so lets go to fill up this 1.14 !

Share your offsets here ;)

Thanks to all

I put relative adress (ghidra) and normal adress (hexa edit or ollydbg) separated by " "

--------------------------------------------------------------------------------------------
All randstransform :

PURPLE COLOR!!!!!!!!!!!!!

004666A3 000666A3

Change : 1E --> 26 (36 in decimal, like this all palette used)

--------------------------------------------------------------------------------------------
Automagic Cracked
Automagic Crafted
Automagic Magic
Automagic Normal
Automagic Rare
Automagic Set
Automagic Superior
Automagic Tempered
Automagic Unique :

00557A5F 00157A5F
00557A5B 00157A5B
00557A59 00157A59
00557A5D 00157A5D
00557A5C 00157A5C
00557A5A 00157A5A
00557A60 00157A60
00557AE 00157A5E

Change : 00 --> 01 or opposite (01 = no automagic, 00 = automagic)

--------------------------------------------------------------------------------------------
Locked chests :

Starting function at : 0054FD1D 0014FD1D
(you can change which character can unlock chests for free, like assassin)

Lock all chests : 0054FD26 0014FD26
Change 7D06 --> 9090 (NOP)

--------------------------------------------------------------------------------------------
CPU reduce :

00451C31 00051C31
00451C3B 00051C3B
00451C40 00051C40

Change :
75 17 --> 90 90
74 0D --> 90 90
74 08 --> 90 90

--------------------------------------------------------------------------------------------
Death penalty function :

in this block, around : 005359AC 001359AC

You can edit with ISC id for the stats to compare and operate.

In there you can see gold, goldbank and level.

I didnt understand verry well all.

The only change i made is :

005359AC 001359AC

Change : 0E (Gold) -- > 0F (Gold bank)

When you die, you lose all your bank gold and your gold in character is droping on the floor, (like in normal D2) so you need to get it back with your corpse. Your goldbank is definitively lost ! (its for serious hardcore gamer like me^^)

--------------------------------------------------------------------------------------------
Physical Resistances element :

* red-dmg% max cap : 0057BED5 0017BED5

change 32 (MOV EAX,32) to something else


* Physical Abs (like abs-fire but for physical)

You can add this property here : 00732994 00332994
Change : FFFFFFFF ---> AC010000 (ID of your ISC physical absorb in txt, exemple here 428)


* Physical Abs % (like abs-fire% but for physical)

You can add this property here : 00732990 00332990
Change : FFFFFFFF --> AB010000 (ID of your ISC physical absorb in txt, exemple here 427)


* Physical Max res (like res-fire-max but for physical)

You can add this property here : 00732988 00332988
Change : FFFFFFFF --> A9010000 (ID of your ISC physical absorb in txt, exemple here 425)


* Physical Pierce (like pierce-fire but for physical)

You can add this property here : 0073298C 0033298C
Change : FFFFFFFF --> AA010000 (ID of your ISC physical absorb in txt, exemple here 426)

Note : for finding your ISC id, you need to reverse the number converted, if its 328 you convert in hexa : 148 then you need to put 4801 not 1480 in the two bytes.

--------------------------------------------------------------------------------------------
Fire shrine Stat to consume :

00582EA3 00182EA3
00582ECE 00182ECE

Change : 06 (id 6 : hitpoints) to you ISC id (two places)

There is missiles edit too (id of missiles.txt) in the function

--------------------------------------------------------------------------------------------
Immunity Pierce :

A general "thunder charm", you can breack immunity not only with some aura ...

005C4FD5 001C4FD5

Change : 83FE64 ---> 909090

--------------------------------------------------------------------------------------------
Character Light radius :

* R , G , B :

00460CD8 00060CD8
00460CDD 00060CDD
00460CE2 00060CE2

Change : FF to the color code of your choice


* Intensity :

00460CE7 00060CE7

Change : FF to the value of your choice


* Base light radius : base is 13

00460CEC 00060CEC
00460957 00060957

Change : 0D to something else (i think max is caped somewhere else to 31, so put something betwin 0 and 31)

--------------------------------------------------------------------------------------------
Oskill max cap for classchar :

0064424C 0024424C
004E5886 000E5886

Change : 03 to another value of your choice

--------------------------------------------------------------------------------------------
Akara cain rescue reward :

The strange function start around 005923EF 001923EF

* Item quantity to give :

00592406 00192406

Change 01 to something else (NOT WORKING?? DONT KNOW WHY)


* Normal level for item (ilvl) :

005923E8 001923E8

Change : 07 to your lvl choice


* Nightmare level for item (ilvl) :

005923FC 001923FC

Change : 1E to your lvl choice


* Hell level for item (ilvl) :

005923F7 001923F7

Change : 38 to your lvl choice


* ok now the strange part : "difficulty substractor" for quality in normal
(its the value you will substract from your normal ilvl item that will decide the quality of the item)
Exemple : your normal ilvl is 6, if you put 2 for this value the item will becore 6-2 = 4 --> magic item
The base value was "-3" ( LEA EDX,[EBX-3] ) and the ilvl for the normal ring is 7 ; so 7-3 = 4 --> magic item

quality code list :
1 -> Low Quality
2 -> Normal
3 -> Superior
4 -> Magic
5 -> Set
6 -> Rare
7 -> Unique
8 -> Crafted
9 -> Tempered

005923EF 001923EF

Change : 53FD ( LEA EDX,[EBX-3] ) to something else


* Nightmare and Hell quality (not sure if it decides for normal too?) :

00592401 00192401

Change : 06 to your quality choice (list before)

--------------------------------------------------------------------------------------------
Shield block (classic D2)

No dex is applied to block calculation.

006227DB 002227DB

Change : 74 --> EB

--------------------------------------------------------------------------------------------
Skip Intro cinematic :

when launching the game.exe

004035284 00035284

Change : 85 C0 --> EB 7A

--------------------------------------------------------------------------------------------
Stamina Bar color :

B , G , R (its listed in this order in the code) :

00497271 00097271
00497273 00097273
00497278 00097278

Change :
4C to your B color choice
C0 to your G color choice
F4 to your R color choice

--------------------------------------------------------------------------------------------
Stats inferface text and value display :

need to fill it but its working, text position and color for stat name and value.

You can start in this block 0072484E 0032484E
(strengh adress)

--------------------------------------------------------------------------------------------
Whirlwind (classic D2)

Every weapon has the same speed attack, no IAS is used.

005D9361 001D9361

Change : 75 0D --> 90 90

--------------------------------------------------------------------------------------------
Environment Light :

Those adress im not sure what is it for (surely the starts of functions) :
61BCE0 0021BCE0
61BB80 0021BB80

---------------------------->
To understand next :

(from D2moo)

EnvironmentCycleStrc
{
int32_t nTicksBegin; //0x00
int32_t nPeriodOfDay; //0x04
uint8_t nRed; //0x08
uint8_t nGreen; //0x09
uint8_t nBlue; //0x0A
uint8_t nIntensity; //0x0B Unused
};

1 : When begins the named period of the day/night (the base of cycle is 360 ticks, its caped i dont know where, so base your values from that)
2 : The name of the period of the day/night (see just down)
3 : R
4 : G
5 : B
6 : Intensity : not working

-------------------------->

* Env Normal Cycle and light (act 1 ; 2 without eclypse ; 3 ; 5) :

Starts : 007443F0 003443F0

EnvCycleSunrise, { 320, 3, 125, 144, 243, 0 }, 003443F0
EnvCycleMorning, { 340, 3, 208, 184, 131, 0 }, 003443FC
EnvCycleNoon, { 0, 0, 255, 255, 255, 0 }, 00344408
EnvCycleAfteroon, { 160, 1, 255, 255, 255, 0 }, 00344414
EnvCycleSunset, { 180, 1, 194, 152, 193, 0 }, 00344420
EnvCycleNight, { 200, 2, 125, 144, 243, 0 } 0034442C


* Env Act 4 Cycle and light :

Starts : 00744438 00344438

EnvCycleSunrise, { 340, 3, 243, 70, 243, 0 }, 00344438
EnvCycleMorning, { 350, 3, 208, 184, 131, 0 }, 00344444
EnvCycleNoon, { 0, 0, 255, 20, 20, 0 }, 00344450
EnvCycleAfteroon, { 180, 1, 255, 255, 30, 0 }, 0034445C
EnvCycleSunset, { 190, 1, 20, 152, 193, 0 }, 00344468
EnvCycleNight, { 200, 2, 125, 144, 243, 0 } 00344474


* Env Eclipse Cycle and light :

Starts : 00744480 00344480

EnvCycleSunrise, { 300, 3, 0, 30, 243, 0 },
EnvCycleMorning, { 0, 0, 0, 30, 244, 0 },
EnvCycleNoon, { 60, 1, 0, 30, 243, 0 },
EnvCycleAfteroon, { 120, 2, 0, 30, 243, 0 },
EnvCycleSunset, { 180, 2, 0, 30, 244, 0 },
EnvCycleNight, { 240, 2, 0, 30, 243, 0 }
Last edited by ascar on Tue Mar 07, 2023 9:13 pm, edited 2 times in total.

ascar
Posts: 69
Joined: Mon Aug 02, 2021 6:40 pm
France

Re: 1.14 D Code edit Wiki

Post by ascar » Mon Mar 06, 2023 6:28 pm

i add those topics i found that helped me and need to be in this wiki :

viewtopic.php?t=62179

viewtopic.php?t=63543

ascar
Posts: 69
Joined: Mon Aug 02, 2021 6:40 pm
France

Re: 1.14 D Code edit Wiki

Post by ascar » Fri Mar 10, 2023 9:48 pm

--------------------------------------------------------------------------------------------
Uniques (and his minions) and Champions Xp bonus :

(thanks to danny the great)

The base is x5 Uniques and x3/5 champions.

* Uniques :
005A0E40 001A0E40

Change : 80 ( LEA EAX,[EAX*4+EAX] ) the "*4" to something of your choice (if you put 1 xp will be double)

* Champions :

005A0F1C 001A0F1C

Change : 02 (SHR EDX,2) to something else :

Formulea is : Experience + (Experience / 5) * -2,0)

So change this -2.0 by what you want, you also can put a multiply instead of division. You will need to test it but changing it do things in xp gain in game ;)

--------------------------------------------------------------------------------------------
Umod Auras :

Enable a new aura for your uniques monsters

* lvlreq :
0073BFF4 0033BFF4

Change : E703 to your desired monlvl req to get this aura


* Aura :
0073C004 0033C004

Change : 67 to you aura skill id in skills.txt


* Enable :
0037BFFC 0033BFFC

Change : 00 to 01
1 = ok ; 0 = not ok


* Lvl factor :
0033C000 0033C000

like in skills.txt, lvl that is added each mlvl for the aura?

--------------------------------------------------------------------------------------------
Forge quest drops :

its a table that starts at :
0073E514 0033E514

You can see this :
r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 gpv gpr gpb gpy gpg gpw skz gzv glr glb gly glg glw skl gsv gsr gsb gsy gsg gsw sku

Just change those bytes to what you want, convert it with your hexa editor

--------------------------------------------------------------------------------------------
Skill Moncurse curses :

its a table with 4 values starts at :
006E3228 002E3228

Change : 48000000 ; 52000000 ; 57000000 ; 5B000000 to the ID of your chosen curses

--------------------------------------------------------------------------------------------
Start item quality

in charstats.txt you put your item code and the base quality is defined as "normal" when creating a character
this code edit define the quality :

00534C9A 00134C9A

Change : 02 --> the quality code you want (look before)

--------------------------------------------------------------------------------------------
Start item with automagic

00534CC0 00134CC0
00534CC1 00134CC1
00534CC2 00134CC2
00534CC7 00134CC7
00534CC8 00134CC8


NOP this whole block :
90
90
90
9090909090
90
9090909090
Last edited by ascar on Wed Mar 08, 2023 1:12 am, edited 3 times in total.

undying_ex
Posts: 23
Joined: Mon Mar 30, 2015 7:09 pm
Location: Bulgaria
Bulgaria

Re: 1.14 D Code edit Wiki

Post by undying_ex » Tue Oct 24, 2023 12:40 pm

OllyDbg
Dark Wanderer - Forever
005BD20B . 74 3F JE SHORT Game3a.005BD24C
005BD234 . 68 70010000 PUSH 170 - darkwanderer
change
005BD20B . 72 3F JE SHORT Game3a.005BD24C

monster change
00544A8B |. 68 2D010000 PUSH 12D ; |Arg1 = 0000012D
change
00544A8B |. 68 4D010000 PUSH 14D - Diablo (333) example

quantity exist
___________________________________
OllyDbg
Cow level ID change

0059421F |. 6A 27 PUSH 27 ; |Arg4 = 00000027
0056D184 |. 83F8 27 CMP EAX,27

(27) changes equally in both places
"It's only cheating if you get caught"
~Al Bundy

Return to “Code Editing”