† This includes replacing an existing fire golem by (re-)summoning another golem.
Until now, the only information available was Nefarius's comment:
No point in waiting for his analysis. Using this post as a guide, I eventually located the function responsible for the golem's death damage in 1.13c: D2Game.265E0. Specifically, this part sets the damage amount and radius:
Code: Select all
(D2Game.dll, cLoD 1.13c) Address Hex dump Command Comments $+26680 |. 6A 00 PUSH 0 ; |Arg7 = 0 $+26682 |. B8 00640000 MOV EAX,6400 ; |Golem death damage? $+26687 |. 894424 2C MOV DWORD PTR SS:[ESP+2C],EAX ; | $+2668B |. 894424 34 MOV DWORD PTR SS:[ESP+34],EAX ; | $+2668F |. 8D4424 24 LEA EAX,[ESP+24] ; | $+26693 |. 50 PUSH EAX ; |Arg6 => OFFSET LOCAL.27 $+26694 |. 6A 06 PUSH 6 ; |Arg5 = 6 $+26696 |. 53 PUSH EBX ; |Arg4 $+26697 |. 55 PUSH EBP ; |Arg3 $+26698 |. 52 PUSH EDX ; |Arg2 $+26699 |. 51 PUSH ECX ; |Arg1 => ARG.ECX $+2669A |. E8 E17C0B00 CALL D2Game.038AE380 ; \D2Game.?DeliverDmgUsingMissile?
Preliminary testing corroborates these assumptions: modifying D2Game.26682 changes both physical and fire damage, and modifying D2Game.26694 changes the radius of the damage area.
Unfortunately, this confirms that the damage type, amount, and radius are fixed, and cannot be altered by softcoded means. Giving the golem -% Enemy Fire Resist (passive_fire_pierce) works, but +% Fire Skill Damage (passive_fire_mastery) does not. More testing to come.
One point of solace: An old thread on Lurker Lounge claims that Fire Golem's death explosion does not give kill experience. While testing, I confirmed that it actually does.