1.10 Hardcoding a Specified Aura to a Specified Unit

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

0
No votes
 
Total votes: 0

User avatar
Mentor
Junior Member
Champion of the Light
Posts: 359
Joined: Wed Dec 07, 2005 6:24 pm
Romania

1.10 Hardcoding a Specified Aura to a Specified Unit

Post by Mentor » Thu Jul 30, 2009 10:16 am

For those of you who want to hardcode a specific aura to one of your specific monsters, here is a piece of custom code to do just that.

Please note:
1. for normal (as in non-unique, non-SU) monsters, they must have the aura monUmod hardcoded to them.

This is the code:

Code: Select all

ORIGINAL:
6FC6BA08  |>  8D3492        LEA ESI,DWORD PTR DS:[EDX+EDX*4]

MODIFY TO: 
6FC6BA08   > \EB 5C         JMP SHORT D2Game.6FC6BA66          just saving some lines :P
6FC6BA66   > \E9 65DD0400   JMP D2Game.6FCB97D0

CUSTOM CODE:
6FCB97D0      817B 04 C0020>CMP DWORD PTR DS:[EBX+4],2C0		monstats index
6FCB97D7      75 43         JNZ SHORT D2Game.6FCB981C			not our unit > normal code
6FCB97D9      8B15 6070D26F MOV EDX,DWORD PTR DS:[<&D2Common.sgptDat>;  D2Common.sgptDataTables = [6FD27060]=6F696A20
6FCB97DF      8B0A          MOV ECX,DWORD PTR DS:[EDX]
6FCB97E1      83B9 A00B0000>CMP DWORD PTR DS:[ECX+BA0],7B		nSkills > 123 (Conviction)?
6FCB97E8      7E 1C         JLE SHORT D2Game.6FCB9806			greater > continue
6FCB97EA      68 12110000   PUSH 1112
6FCB97EF      68 E80DD46F   PUSH D2Game.6FD40DE8                     ;  ASCII "C:\projects\D2\head\Diablo2\Source\D2Game\SKILLS\Skills.cpp"
6FCB97F4      6A 01         PUSH 1
6FCB97F6      6A 14         PUSH 14					skill level
6FCB97F8      6A 7B         PUSH 7B					skill index
6FCB97FA      53            PUSH EBX					ptUnit
6FCB97FB      E8 96200600   CALL <JMP.&D2Common.#10953>			D2SetSkillLevel
6FCB9800      53            PUSH EBX					ptUnit
6FCB9801      E8 162E0600   CALL <JMP.&D2Common.#10941>			See if Unit in state an update passive skill
6FCB9806      6A FF         PUSH -1
6FCB9808      6A 7B         PUSH 7B					skill#
6FCB980A      8BCB          MOV ECX,EBX					ptUnit & active state?
6FCB980C      33D2          XOR EDX,EDX					EDX=?
6FCB980E      E8 ED9F0500   CALL D2Game.6FD13800			assign skill
6FCB9813      5E            POP ESI
6FCB9814      5D            POP EBP
6FCB9815      5B            POP EBX
6FCB9816      83C4 08       ADD ESP,8
6FCB9819      C2 0400       RETN 4
6FCB981C      8D3492        LEA ESI,DWORD PTR DS:[EDX+EDX*4]
6FCB981F    ^ E9 E721FBFF   JMP D2Game.6FC6BA0B

Return to “Code Editing”