[1.10] Removing all block animations (including D/A/E and claw block)

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
User avatar
aytosy
Posts: 3
Joined: Mon Jan 16, 2023 1:31 am

[1.10] Removing all block animations (including D/A/E and claw block)

Post by aytosy » Wed Sep 18, 2024 8:36 pm

Due to some interest, I dug up old edit, where I was messing with blocking animations. It basically NOPs code paths that apply damage flags. Code below uses file offsets and was applied by D2Template89 framework.

Code: Select all

  /* Disable all blocking animations */
  { D2Dll_kD2Game, 0x2F60C, kPatchNop, 0, 0x2F624 - 0x2F60C },
  { D2Dll_kD2Game, 0x923C9, kPatchNop, 0, 0x923E5 - 0x923C9 },
It erases parts of those functions (taken from D2MOO):

Code: Select all

//D2Game.0x6FC5F4E0
void __fastcall MISSMODE_SetDamageFlags
via https://github.com/ThePhrozenKeep/D2MOO ... .cpp#L4669

Code: Select all

//D2Game.0x6FD10140
void __fastcall sub_6FD10140
(you can find the other)

This is the code part that was removed (similar one in the other function):

Code: Select all

    if (nBlockFlags & 8)
    {
        pDamage->wResultFlags |= DAMAGERESULTFLAG_EVADE;
    }

    if (nBlockFlags & 2)
    {
        pDamage->wResultFlags |= DAMAGERESULTFLAG_AVOID;
    }

    if (nBlockFlags & 0x11)
    {
        pDamage->wResultFlags |= DAMAGERESULTFLAG_BLOCK;
    }
End result is lack of blocking animation, so it behaves somehow similar to patch 1.00-1.06 of Diablo 2.
It was long since I looked at it, I'm not sure if it removed shield blocking animation from monsters also. There is probably a better patch for it, but this one is very simple to apply.

Post Reply

Return to “Code Editing”