[1.13c] Ancient AI Fix

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

1
100%
 
Total votes: 1

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

Hand-picked

[1.13c] Ancient AI Fix

Post by Necrolis » Thu Jul 01, 2010 6:47 pm

just like nef's fix for 1.11b, here are the 1.13c edits:

Code: Select all

6FCC5EEC                                                 |. /75 12                        JNZ SHORT D2Game.6FCC5F00
6FCC608D                                                 |. /75 14                        JNZ SHORT D2Game.6FCC60A3
6FCC630B                                                 |. /0F84 01020000                JE D2Game.6FCC6512
and the switch that must be expanded:

Code: Select all

6FCC7530                                                  .  85D2                         TEST EDX,EDX
6FCC7532                                                  .  75 05                        JNZ SHORT D2Game.6FCC7539
6FCC7534                                                  .  83C8 FF                      OR EAX,FFFFFFFF
6FCC7537                                                  .  EB 03                        JMP SHORT D2Game.6FCC753C
6FCC7539                                                  >  8B42 04                      MOV EAX,DWORD PTR [EDX+4]
6FCC753C                                                  >  2D 1C020000                  SUB EAX,21C                                                   ;  Switch (cases 21C..21E)
6FCC7541                                                  .  74 23                        JE SHORT D2Game.6FCC7566
6FCC7543                                                  .  48                           DEC EAX
6FCC7544                                                  .  74 12                        JE SHORT D2Game.6FCC7558
6FCC7546                                                  .  48                           DEC EAX
6FCC7547                                                  .  75 29                        JNZ SHORT D2Game.6FCC7572
6FCC7549                                                  .  8B4424 04                    MOV EAX,DWORD PTR [ESP+4]                                     ;  Case 21E of switch 6FCC753C
6FCC754D                                                  .  51                           PUSH ECX                                                      ; /Arg1
6FCC754E                                                  .  8BCA                         MOV ECX,EDX                                                   ; |
6FCC7550                                                  .  E8 5BE9FFFF                  CALL D2Game.6FCC5EB0                                          ; \D2Game.6FCC5EB0
6FCC7555                                                  .  C2 0400                      RETN 4
6FCC7558                                                  >  8B4424 04                    MOV EAX,DWORD PTR [ESP+4]                                     ;  Case 21D of switch 6FCC753C
6FCC755C                                                  .  52                           PUSH EDX                                                      ; /Arg2
6FCC755D                                                  .  51                           PUSH ECX                                                      ; |Arg1
6FCC755E                                                  .  E8 EDEAFFFF                  CALL D2Game.6FCC6050                                          ; \D2Game.6FCC6050
6FCC7563                                                  .  C2 0400                      RETN 4
6FCC7566                                                  >  8B4424 04                    MOV EAX,DWORD PTR [ESP+4]                                     ;  Case 21C of switch 6FCC753C
6FCC756A                                                  .  51                           PUSH ECX                                                      ; /Arg1
6FCC756B                                                  .  8BCA                         MOV ECX,EDX                                                   ; |
6FCC756D                                                  .  E8 5EEDFFFF                  CALL D2Game.6FCC62D0                                          ; \D2Game.6FCC62D0
6FCC7572                                                  >  C2 0400                      RETN 4                                                        ;  Default case of switch 6FCC753C
for an easy fix, change this to jump to the ancient AI you want to use for other monsters(this will force all the non ancients that use this to only use 1 specific ancient AI)

Code: Select all

6FCC7547                                                  .  75 29                        JNZ SHORT D2Game.6FCC7572                         ;change to either 6FCC7566, 6FCC7558 or 6FCC7549
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death
"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
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Ancient AI Fix

Post by kidpaddle94 » Fri Jul 02, 2010 5:59 am

what exactly is bugged with the current ancient Ai?

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

Hand-picked

Re: [1.13c] Ancient AI Fix

Post by Necrolis » Fri Jul 02, 2010 6:41 am

It won't work for any monsters other than the ancients, plus it has some other hardcoded check stopping it from working
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death
"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
kidpaddle94
Forum Legend
Principality
Posts: 2056
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: [1.13c] Ancient AI Fix

Post by kidpaddle94 » Fri Jul 02, 2010 6:45 am

ah ok thank you.

Theernestrain
Posts: 12
Joined: Mon Mar 12, 2018 9:39 am

Re: [1.13c] Ancient AI Fix

Post by Theernestrain » Tue Jan 15, 2019 7:50 pm

Hey, I know this is an old thread, but I wanted to know if you can walk me through how to make these changed in the d2game.dll. I have program ollydbg.
-First I open diablo
-then I attach ollydbg
-then I jump into game in diablo
-click button in ollydbg "go to expression"
-search for 6FCC5EEC but message appears that there is no memory or something like that.

Am I doing something wrong? What should I do different. Also, what do you mean expand the switch and how is it done? Thanks a lot!
-

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

Re: [1.13c] Ancient AI Fix

Post by csguak » Mon Mar 11, 2019 8:19 am

Theernestrain wrote:
Tue Jan 15, 2019 7:50 pm
Hey, I know this is an old thread, but I wanted to know if you can walk me through how to make these changed in the d2game.dll. I have program ollydbg.
-First I open diablo
-then I attach ollydbg
-then I jump into game in diablo
-click button in ollydbg "go to expression"
-search for 6FCC5EEC but message appears that there is no memory or something like that.

Am I doing something wrong? What should I do different. Also, what do you mean expand the switch and how is it done? Thanks a lot!
-
D2game.dll address location for the first edit is:
6D40B

D2game.dll address location for the second edit is:
5EF21

You don't need to attach to anything, just select view file option and disassemble...

Post Reply

Return to “Code Editing”