Code: Select all
//=====================================================
// Stat fix mod
// By SVR
//
// Fixes cap on health/mana/stamina for values>32k
//=====================================================
[b][u]d2net.dll[/u][/b]
Fix packet type 0x95 size for send -
6FC0839C [color=#ff0000]20[/color] 00 00 00 09 00 00 00 01 00 00 00 07 00 00 00 ...............
[b][u]d2game.dll[/u][/b]
Fix stat sizes on send -
6FC3D99F 90 NOP
[color=#ff0000]6FC3D9A0 > 83EC 30 SUB ESP,30 ; SendStats2
6FC3D9A3 8D4424 00 LEA EAX,[ESP]
6FC3D9A7 56 PUSH ESI
6FC3D9A8 57 PUSH EDI
6FC3D9A9 51 PUSH ECX
6FC3D9AA C600 95 MOV BYTE PTR [EAX],95
6FC3D9AD 8D78 05 LEA EDI,[EAX+5]
6FC3D9B0 B9 06000000 MOV ECX,6
6FC3D9B5 8D70 34 LEA ESI,[EAX+34]
6FC3D9B8 8950 01 MOV [EAX+1],EDX
6FC3D9BB F3:A5 REP MOVSD
6FC3D9BD 59 POP ECX
6FC3D9BE 8BD0 MOV EDX,EAX
6FC3D9C0 6A 20 PUSH 20
6FC3D9C2 E8 49EDFFFF CALL D2Game.6FC3C710
6FC3D9C7 5F POP EDI
6FC3D9C8 5E POP ESI
6FC3D9C9 83C4 30 ADD ESP,30
6FC3D9CC C2 1800 RETN 18
6FC3D9CF 90 NOP
6FC3D9D0 90 NOP[/color]
6FC3D9D1 8D4424 18 LEA EAX,[ESP+18]
6FC3D9D5 6A 0F PUSH 0F
[u][b]d2client.dll[/b][/u]
Fix packet type 0x95 size for receive -
6FB7696C 20 33 AB 6F [color=#ff0000]20[/color] 00 00 00 00 00 00 00 80 34 AB 6F 3.o ........4.o
Fix stat sizes for copy -
6FAB528E E8 AD540B00 CALL <JMP.&Fog.#10130>
6FAB5293 E9 DA000000 JMP d2client.6FAB5372
[color=#ff0000]6FAB5298 6A 20 PUSH 20 ; Case 95 of switch 6FAB51F1[/color]
6FAB529A 8D4C24 40 LEA ECX,[ESP+40]
6FAB529E 55 PUSH EBP
6FAB529F 51 PUSH ECX
6FAB52A0 E8 A1540B00 CALL <JMP.&Fog.#10126>
6FAB52A5 8D5424 3C LEA EDX,[ESP+3C]
6FAB52A9 6A 08 PUSH 8
6FAB52AB 52 PUSH EDX
6FAB52AC E8 8F540B00 CALL <JMP.&Fog.#10130>
6FAB52B1 8D4424 3C LEA EAX,[ESP+3C]
[color=#ff0000]6FAB52B5 6A 20 PUSH 20[/color]
6FAB52B7 50 PUSH EAX
6FAB52B8 E8 83540B00 CALL <JMP.&Fog.#10130>
6FAB52BD 8D4C24 3C LEA ECX,[ESP+3C]
[color=#ff0000]6FAB52C1 6A 20 PUSH 20[/color]
6FAB52C3 51 PUSH ECX
6FAB52C4 E8 77540B00 CALL <JMP.&Fog.#10130>
6FAB52C9 8D5424 3C LEA EDX,[ESP+3C]
[color=#ff0000]6FAB52CD 6A 20 PUSH 20[/color]
6FAB52CF 52 PUSH EDX
6FAB52D0 E8 6B540B00 CALL <JMP.&Fog.#10130>
6FAB52D5 8D4424 3C LEA EAX,[ESP+3C]
[color=#ff0000]6FAB52D9 6A 20 PUSH 20[/color]
6FAB52DB 50 PUSH EAX
6FAB52DC E8 5F540B00 CALL <JMP.&Fog.#10130>
6FAB52E1 8D4C24 3C LEA ECX,[ESP+3C]
[color=#ff0000]6FAB52E5 6A 20 PUSH 20[/color]
6FAB52E7 51 PUSH ECX
6FAB52E8 E8 53540B00 CALL <JMP.&Fog.#10130>
6FAB52ED 8D5424 3C LEA EDX,[ESP+3C]
[color=#ff0000]6FAB52F1 6A 20 PUSH 20[/color]
6FAB52F3 52 PUSH EDX
6FAB52F4 E8 47540B00 CALL <JMP.&Fog.#10130>
6FAB52F9 8D4424 3C LEA EAX,[ESP+3C]
[color=#ff0000]6FAB52FD 6A 20 PUSH 20[/color]
6FAB52FF 50 PUSH EAX
6FAB5300 E8 3B540B00 CALL <JMP.&Fog.#10130>
6FAB5305 EB 6B JMP SHORT d2client.6FAB5372
6FAB5307 6A 09 PUSH 9 ; Case 96 of switch 6FAB51F1
6FAB5309 8D4C24 54 LEA ECX,[ESP+54]
6FAB530D 55 PUSH EBP
Fix stat sizes on receive -
6FAB331F 90 NOP
[color=#ff0000]6FAB3320 > 83EC 30 SUB ESP,30 ; ReceiveStats2
6FAB3323 57 PUSH EDI
6FAB3324 8D7C24 04 LEA EDI,[ESP+4]
6FAB3328 56 PUSH ESI
6FAB3329 8D71 01 LEA ESI,[ECX+1]
6FAB332C B9 07000000 MOV ECX,7
6FAB3331 F3:A5 REP MOVSD
6FAB3333 5E POP ESI
6FAB3334 EB 7C JMP SHORT d2client.6FAB33B2
6FAB3336 90 NOP[/color]
6FAB3337 51 PUSH ECX
6FAB3338 E8 03740B00 CALL <JMP.&Fog.#10130>
6FAB333D 8D5424 14 LEA EDX,[ESP+14]
...
6FAB33B2 E8 19500700 CALL d2client.6FB283D0
6FAB33B7 8BF8 MOV EDI,EAX
6FAB33B9 85FF TEST EDI,EDI
6FAB33BB 0F84 B8000000 JE d2client.6FAB3479
6FAB33C1 53 PUSH EBX
6FAB33C2 56 PUSH ESI
[color=#ff0000]6FAB33C3 8B7424 0C MOV ESI,[ESP+C][/color]
6FAB33C7 6A 00 PUSH 0
[color=#ff0000]6FAB33C9 90 NOP
6FAB33CA 90 NOP
6FAB33CB 90 NOP
6FAB33CC 90 NOP
6FAB33CD 90 NOP
6FAB33CE 90 NOP[/color]
6FAB33CF C1E6 08 SHL ESI,8
6FAB33D2 56 PUSH ESI
6FAB33D3 6A 06 PUSH 6
6FAB33D5 57 PUSH EDI
6FAB33D6 E8 2F760B00 CALL <JMP.&D2Common.#10517>
[color=#ff0000]6FAB33DB 8B4424 10 MOV EAX,[ESP+10][/color]
6FAB33DF 6A 00 PUSH 0
[color=red]6FAB33E1 90 NOP
6FAB33E2 90 NOP
6FAB33E3 90 NOP
6FAB33E4 90 NOP
6FAB33E5 90 NOP[/color]
6FAB33E6 C1E0 08 SHL EAX,8
6FAB33E9 50 PUSH EAX
6FAB33EA 6A 08 PUSH 8
6FAB33EC 57 PUSH EDI
6FAB33ED E8 18760B00 CALL <JMP.&D2Common.#10517>
[color=#ff0000]6FAB33F2 8B4C24 14 MOV ECX,[ESP+14][/color]
6FAB33F6 6A 00 PUSH 0
[color=#ff0000]6FAB33F8 90 NOP
6FAB33F9 90 NOP
6FAB33FA 90 NOP
6FAB33FB 90 NOP
6FAB33FC 90 NOP
6FAB33FD 90 NOP[/color]
6FAB33FE C1E1 08 SHL ECX,8
6FAB3401 51 PUSH ECX
6FAB3402 6A 0A PUSH 0A
6FAB3404 57 PUSH EDI
6FAB3405 E8 00760B00 CALL <JMP.&D2Common.#10517>
[color=#ff0000]6FAB340A 8B4424 20 MOV EAX,[ESP+20]
6FAB340E 8B4C24 24 MOV ECX,[ESP+24][/color]
6FAB3412 25 FF000000 AND EAX,0FF
6FAB3417 81E1 FF000000 AND ECX,0FF
6FAB341D 3D 80000000 CMP EAX,80
6FAB3422 7E 05 JLE SHORT d2client.6FAB3429
6FAB3424 2D 00010000 SUB EAX,100
6FAB3429 81F9 80000000 CMP ECX,80
6FAB342F 7E 06 JLE SHORT d2client.6FAB3437
6FAB3431 81E9 00010000 SUB ECX,100
[color=#ff0000]6FAB3437 8B5C24 1C MOV EBX,[ESP+1C]
6FAB343B 8B5424 18 MOV EDX,[ESP+18][/color]
6FAB343F 03CB ADD ECX,EBX
6FAB3441 03C2 ADD EAX,EDX
6FAB3443 81E1 FFFF0000 AND ECX,0FFFF
6FAB3449 25 FFFF0000 AND EAX,0FFFF
...
[color=#ff0000]6FAB347A 83C4 30 ADD ESP,30[/color]
6FAB347D C3 RETN
6FAB347E 90 NOP
6FAB347F 90 NOP
Fix calculation for life globe -
6FAFF9CF 90 NOP
6FAFF9D0 > 83EC 48 SUB ESP,48 ; update health globe
6FAFF9D3 56 PUSH ESI
6FAFF9D4 57 PUSH EDI
6FAFF9D5 E8 F6890200 CALL d2client.6FB283D0
[color=#ff0000]6FAFF9DA 50 PUSH EAX
6FAFF9DB E8 30B00600 CALL <JMP.&D2Common.#10564>
6FAFF9E0 85C0 TEST EAX,EAX
6FAFF9E2 0F84 6A010000 JE d2client.6FAFFB52
6FAFF9E8 8BF0 MOV ESI,EAX
6FAFF9EA B9 06000000 MOV ECX,6
6FAFF9EF E8 DCF8FFFF CALL d2client.6FAFF2D0
6FAFF9F4 90 NOP
6FAFF9F5 90 NOP
6FAFF9F6 90 NOP
6FAFF9F7 90 NOP
6FAFF9F8 53 PUSH EBX
6FAFF9F9 BB 50000000 MOV EBX,50
6FAFF9FE F7EB IMUL EBX
6FAFFA00 F7FE IDIV ESI[/color]
6FAFFA02 8BD8 MOV EBX,EAX
6FAFFA04 85DB TEST EBX,EBX
6FAFFA06 7E 1E JLE SHORT d2client.6FAFFA26
...
6FAFFAD9 83E0 02 AND EAX,2
6FAFFADC 85DB TEST EBX,EBX
6FAFFADE 894424 14 MOV [ESP+14],EAX
[color=#ff0000]6FAFFAE2 7E 3F JLE SHORT d2client.6FAFFB23 ; fix blizzard bug -hp crash ![/color]
6FAFFAE4 E8 19BD0600 CALL <JMP.&D2gfx.#10003>
Fix calculation for mana globe -
6FAFFB5F 90 NOP
6FAFFB60 > 83EC 48 SUB ESP,48 ; UpdateManaGlobe
6FAFFB63 56 PUSH ESI
6FAFFB64 57 PUSH EDI
6FAFFB65 E8 66880200 CALL d2client.6FB283D0
[color=#ff0000]6FAFFB6A 50 PUSH EAX
6FAFFB6B E8 5CB60600 CALL <JMP.&D2Common.#10565>
6FAFFB70 85C0 TEST EAX,EAX
6FAFFB72 0F84 1D010000 JE d2client.6FAFFC95
6FAFFB78 8BF0 MOV ESI,EAX
6FAFFB7A B9 08000000 MOV ECX,8
6FAFFB7F E8 4CF7FFFF CALL d2client.6FAFF2D0
6FAFFB84 3BF0 CMP ESI,EAX
6FAFFB86 7D 02 JGE SHORT d2client.6FAFFB8A
6FAFFB88 8BC6 MOV EAX,ESI
6FAFFB8A 53 PUSH EBX
6FAFFB8B BB 50000000 MOV EBX,50
6FAFFB90 F7EB IMUL EBX
6FAFFB92 F7FE IDIV ESI
6FAFFB94 90 NOP
6FAFFB95 90 NOP
6FAFFB96 90 NOP
6FAFFB97 90 NOP[/color]
6FAFFB98 B9 12000000 MOV ECX,12
6FAFFB9D 8D7C24 0C LEA EDI,[ESP+C]
6FAFFBA1 6A 6A PUSH 6A
;No -mana crash here
Fix calculation for stamina bar -
6FB00066 33C0 XOR EAX,EAX
6FB00068 EB 14 JMP SHORT d2client.6FB0007E
[color=#ff0000]6FB0006A B8 66000000 MOV EAX,66
6FB0006F F7EF IMUL EDI
6FB00071 90 NOP
6FB00072 90 NOP
6FB00073 90 NOP
6FB00074 90 NOP
6FB00075 90 NOP
6FB00076 90 NOP[/color]
6FB00077 F7FD IDIV EBP
6FB00079 83F8 19 CMP EAX,19
6FB0007C 7D 0C JGE SHORT d2client.6FB0008A