Voilà ce fut rapide (également sur le pauvre fallen sur qui j'ai fait le test
)
C'est complètement différent de la 1.09 (Cf mon post sur la routine des dégats physiques)
Le résultat est
Traitement des +dmg
[*]C'est pris en compte comme les autres +dégat par les ED%
[*] ca n'apparait pas correctement dans les dégats affichés du personnage (désolé pas plus de précision, je n'ai pas vraiment regardé cette partie)
[*] ca n'apparait pas dans les dégats de base de l'arme
[*] c'est réduit par le PVP à 17% comme tout les dégats physiques (auquel il est mélangé d'ailleurs après application des différents ED%
Si vous voulez la séquence en assembleur la voilà
[fixed]
On arrive ici une fois tous les + min et +max classique réglés avec
EDI=mindamage*256 (1 minimum)
EBP=maxdamage*256 (2 minimum)
Les 2 avec la même formule qu'ne 1.09
------------------------------------------------------------------------------
A)Différent ED%
------------------------------------------------------------------------------
6FCBE4CE 8B6C24 24 MOV EBP,DWORD PTR SS:[ESP+24]
6FCBE4D2 8B7C24 20 MOV EDI,DWORD PTR SS:[ESP+20]
Flag no weapon --> Dégat Pris sur ESP+24 et ESP+20
(Utilisé uniquement par dame de fer et epine à ma connaissance (je le préciserais une autre fois si cela vous interesse)
sinon dans le cas d'une attaque classique on arrive après cad ici
6FCBE4D6 6A 00 PUSH 0
6FCBE4D8 6A 6F PUSH 6F
6FCBE4DA 53 PUSH EBX
6FCBE4DB E8 9AD40500 CALL <JMP.&D2Common.#10520>
item_normaldamage (Nos fameux +dmg de Grief)
6FCBE4E0 C1E0 08 SHL EAX,8
6FCBE4E3 03F8 ADD EDI,EAX
6FCBE4E5 03E8 ADD EBP,EAX
EDI=mindamage*256 + item_normaldamage*256
EBP=maxdamage*256 + item_normaldamage*256
6FCBE4E7 83FF 01 CMP EDI,1
6FCBE4EA 7D 05 JGE SHORT D2Game.6FCBE4F1
6FCBE4EC BF 00010000 MOV EDI,100
Min Damage=1 Minimum
6FCBE4F1 3BEF CMP EBP,EDI
6FCBE4F3 7F 06 JG SHORT D2Game.6FCBE4FB
6FCBE4F5 8DAF 00010000 LEA EBP,DWORD PTR DS:[EDI+100]
Max = Min+1 Minimum
6FCBE4FB 6A 00 PUSH 0
6FCBE4FD 6A 19 PUSH 19
6FCBE4FF 53 PUSH EBX
6FCBE500 E8 8DD10500 CALL <JMP.&D2Common.#10519>
damagepercent Equipement (Les ED% de l'équipement. Normalement ca vaut toujours 0 en 1.10 car ils sont transformés avant en +ED%Min et +ED%Max (la cause du fameux bug des joyaux de la reine
)
6FCBE505 8B7424 28 MOV ESI,DWORD PTR SS:[ESP+28]
Skill ED%
6FCBE509 6A 00 PUSH 0
6FCBE50B 6A 12 PUSH 12
6FCBE50D 53 PUSH EBX
6FCBE50E 03F0 ADD ESI,EAX
6FCBE510 E8 7DD10500 CALL <JMP.&D2Common.#10519>
6FCBE515 8BD8 MOV EBX,EAX
6FCBE517 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
ESI=ED%Equip+ED%SKill
EBX=item_mindamage_percent (Les fameux ED%Min)
ECX=PtUnit
6FCBE51B 6A 00 PUSH 0
6FCBE51D 6A 11 PUSH 11
6FCBE51F 51 PUSH ECX
6FCBE520 E8 6DD10500 CALL <JMP.&D2Common.#10519>
6FCBE525 8BC8 MOV ECX,EAX
ECX=item_maxdamage_percent (Les fameux ED%Max)
...[/fixed]
Bon je passe la fin l'essenitel est de voir que ca se situe avant les ED% et que c'est mélangé aux autres dommages et donc ca subit forcément les 17% de pénalité du PvP
Pour ceux qui veulent la suite, il peuvent se replonger dans les posts tracer les Dlls
Voilà.
Evidement si vous avez des résultats CONCRÊTS qui prouvent le contraire, je suis prêt a désassembler en détail tout protocole que vous me soumettrez