WOW
CLASSIC
DIABLO IV
DIABLO III
DIABLO II
HEARTHSTONE
OVERWATCH
AUTRES SITES
Diablo Immortal
Diablo
Warcraft Rumble
Warcraft III
Warcraft II
Warcraft
StarCraft II
StarCraft
Heroes of the Storm
Heroes Builder
Legends
Film Warcraft
Destiny 2
StarCraft : Ghost
Forum
Accueil
Forums
Nouveaux messages
Rechercher dans les forums
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Dernières activités
Membres
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages de profil
Connexion
S'inscrire
Quoi de neuf
Rechercher
Rechercher
Rechercher par titre uniquement
Par:
Nouveaux messages
Rechercher dans les forums
Menu
Connexion
S'inscrire
Installer l'application
Installer
Note:
This feature may not be available in some browsers.
Accueil
Forums
Diablo
Diablo 2
Classes
Amazone
Valkyrie en détail
JavaScript est désactivé. Pour une meilleure expérience, s'il vous plaît activer JavaScript dans votre navigateur avant de continuer.
Vous utilisez un navigateur obsolète. Il se peut qu'il n'affiche pas correctement ce site ou d'autres.
Vous devez le mettre à niveau ou utiliser un
navigateur alternatif
.
Répondre au sujet
Message
<blockquote data-quote="Myrdinn" data-source="post: 5633"><p>Bon maintenant que la valkyrie est créée il va falloir la compléter <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big grin :D" loading="lazy" data-shortname=":D" /></p><p></p><p>[code]SLVL ?</p><p>6FCD67FA 8B4424 38 MOV EAX,DWORD PTR SS:[ESP+38]</p><p>6FCD67FE 83F8 01 CMP EAX,1</p><p>6FCD6801 0F8E A0000000 JLE D2Game.6FCD68A7[/code]</p><p>EAX=SLVL</p><p>Rappelez vous du premier push en 2eme ligne <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big grin :D" loading="lazy" data-shortname=":D" /></p><p>Si le SLVL <= 1 alors on passe la partie qui suit <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p><p>Si vous regardez le skill vous remarquerez que les bonus aux point de vie ED% AC% ... ne sont dispo qu'au SLVL2, voila la confirmation.</p><p></p><p>[code]SECTION 2 SLVL>1 __ Initialisation des registres</p><p>6FCD6807 8B0E MOV ECX,DWORD PTR DS:[ESI]</p><p>6FCD6809 8B53 1C MOV EDX,DWORD PTR DS:[EBX+1C]</p><p>6FCD680C 8D68 FF LEA EBP,DWORD PTR DS:[EAX-1]</p><p>6FCD680F 8B46 08 MOV EAX,DWORD PTR DS:[ESI+8][/code]</p><p></p><p>ECX=ValyUnitType=1=Monster</p><p>EDX=GamePtr+1C= (0)</p><p>EBP=EAX-1=(SLVL-1)</p><p>EAX=ValyUnID =(OF pour moi a cause des poules)</p><p></p><p>[code]</p><p>6FCD6812 50 PUSH EAX</p><p>6FCD6813 51 PUSH ECX</p><p>6FCD6814 6A 00 PUSH 0</p><p>6FCD6816 6A 00 PUSH 0</p><p>6FCD6818 52 PUSH EDX</p><p>6FCD6819 E8 2AE00100 CALL <JMP.&D2Common.#10470>[/code]</p><p>Fonction 10470(GamePTR+1C,0,0,VALLYUnID,SLVL-1) </p><p></p><p>Cette function reste encore mystérieuse pour moi, il faudrait que je la trace.</p><p>Elle renvoie l'adresse (pointeur) d'une nouvelle structure qui m'est inconnue pour l'instant</p><p></p><p>[code] Test de la structure</p><p>6FCD681E 8BF8 MOV EDI,EAX</p><p>6FCD6820 85FF TEST EDI,EDI</p><p>6FCD6822 74 43 JE SHORT D2Game.6FCD6867[/code]</p><p>EDI = ??? = 05702800 pour moi (Structure vide on vient juste de voir sa creation) </p><p>Si la structure n'existe pas on sort de cette routine, sinon on continue.</p><p></p><p>[code] Modification</p><p>6FCD6824 57 PUSH EDI</p><p>6FCD6825 56 PUSH ESI</p><p>6FCD6826 E8 17E00100 CALL <JMP.&D2Common.#10475>[/code]</p><p>10475 (ValkyrieUnit,Sturcture vide)--> 0705EA00 en EDI+44 (=Valkyrie Unit +6c=PtStat)</p><p></p><p>Bref à partir de la structure vide du dessus on pointe sur la structure PTStat qui contient les propriétés de la valkyrie.( Force MVLV, PV,Def, AR)</p><p>Ces propriétés ont déjà été fixée à la création de la valkyrie.</p><p></p><p>[code]PTSTAT AFter LIFE GAIN ???</p><p>$ ==> >00 00 00 00 08 EA 05 07 ....ê</p><p>$+8 >00 00 00 00 00 00 00 00 ........</p><p>$+10 >00 00 00 00 C0 30 10 80 ....À0€</p><p>$+18 >B0 2A 00 00 38 04 00 00 °*..8..</p><p>$+20 >00 00 00 00 00 00 00 00 ........</p><p>$+28 >00 00 00 00 00 00 00 00 ........</p><p>$+30 >00 00 00 00 00 00 00 00 ........</p><p>$+38 >00 00 00 00 00 00 00 00 ........</p><p>$+40 >01 00 00 00 0F 00 00 00 ......</p><p>$+48 >00 00 00 00 00 EA 05 07 .....ê</p><p>$+50 >00 00 00 00 0F 00 00 00 ....... Strenght = 15</p><p>$+58 >0C 00 00 00 1C 00 00 00 ....... MLVL= 28</p><p>$+60 >1F 00 00 00 8D 00 00 00 ...... Def(ArmorClass) = 141</p><p>$+68 >24 00 00 00 00 00 00 00 $....... DamageResist = 0</p><p>$+70 >25 00 00 00 00 00 00 00 %....... MagicResist = 0</p><p>$+78 >27 00 00 00 00 00 00 00 '....... FireResist = 0</p><p>$+80 >29 00 00 00 00 00 00 00 )....... LightResist = 0</p><p>$+88 >2B 00 00 00 00 00 00 00 +....... ColdResist = 0</p><p>$+90 >2D 00 00 00 00 00 00 00 -....... Poison Resist = 0</p><p>$+98 >14 00 00 00 1C 00 00 00 ...... Block% = 28</p><p>$+A0 >44 00 00 00 64 00 00 00 D...d... AttackRate =100% (en terme IAS)</p><p>$+A8 >43 00 00 00 4B 00 00 00 C...K... VelocityPercent = 75% (Run/walk)</p><p>$+B0 >45 00 00 00 64 00 00 00 E...d... Other_Animrate = 100% (FastCast FBR,FHR ...)</p><p>$+B8 >0D 00 00 00 F0 05 00 00 ....ð.. Expérience = 1520</p><p>$+C0 >07 00 00 00 DC 25 01 00 ...Ü%. MaxHitPoint = 0x125DC</p><p>$+C8 >06 00 00 00 DC 25 01 00 ...Ü%. CurrentHP= 0x125DC[/code]</p><p></p><p>Voila le PtStat pour une valkyrie invoqué en normal.</p><p>C'est le début avant modification</p><p>Fait intéressant la valkyrie a une valeur pour L'XP.</p><p>Elle passerait des niveaux ????</p><p>LEs points de vie sont variables entre 275 et 330 en décimal pour le normal. </p><p>Moi j'ai eut 0x125DC soit 293(0x125) et l'extra précision dont je vous ai déjà parler ici j'ai DC. conclusion quasiment 294PV</p><p></p><p>Toute ces infos sont disponibles également dans Monstats.txt</p><p>Ici c'est en exemple pour une vally invoquée en normal, en hell elle serait plus forte.</p><p>Cependant elle à toujours un MLVL de 28 par terrible pour toucher les monstres en Hell <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite3" alt=":(" title="Frown :(" loading="lazy" data-shortname=":(" /> </p><p></p><p></p><p></p><p></p><p></p><p>[code]Mise à jour des stats</p><p>6FCD682B 6A 20 PUSH 20</p><p>6FCD682D E8 C6E10100 CALL <JMP.&D2Common.#10992>[/code]</p><p>on a besoin de ce fichier </p><p></p><p><a href="http://www.ifrance.com/Myrdinn/MpqTxt/skills.xls" target="_blank">Skills.txt</a></p><p>Si vous ouvrez ce fichier avec Excel vous trouverez la skill Valkyrie en ligne 34</p><p>La colonne B vous donnera son ID=32</p><p>Fait Etrange 0x20 --> 32 en décimal <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big grin :D" loading="lazy" data-shortname=":D" /></p><p>Cette fonction (10992) lit la colonne Param3 et place le résultat dans EAX (comme toutes les fonctions d'ailleurs)</p><p></p><p>Ici </p><p>Param3 from Skill.txt (colonne BI et BJ)</p><p>20=Valkyrie ID </p><p>Param3 = 5 = %AC Increase</p><p></p><p>Bref le pourcentage d'augmentation de DEF</p><p></p><p>[code]Augmentation de la défense</p><p>6FCD6832 0FAFC5 IMUL EAX,EBP</p><p>6FCD6835 50 PUSH EAX</p><p>6FCD6836 68 AB000000 PUSH 0AB</p><p>6FCD683B 57 PUSH EDI</p><p>6FCD683C E8 2BE30100 CALL <JMP.&D2Common.#10463>[/code]</p><p>On obtient</p><p>EAX=EAX*EBP</p><p>Hors assembleur on a DEF%=(SLVL-1)*Param3</p><p>La fonction 10463 (UnitPTr,Stat,Valeur) ici (ValkyrieUnit,0xAB,(SLVL-1)*Param3)</p><p></p><p>Le AB siginifie la propriété AB que l'on peut lire dans ce fichier (C'est grace à lui au passage si j'ai pu vous donnez les stats de la valkyrie de base tout à l'heure)</p><p><a href="http://www.ifrance.com/Myrdinn/MpqTxt/ItemStatCost.xls" target="_blank">ItemStatCost.txt</a></p><p>0xAB --> 171 STATS_SKILL_ARMOR_PERCENT (ligne 173)</p><p></p><p>Bref en mode humain ca siginifie</p><p>AC% = (SLVL-1) * 5 (A partir de SLVL=2 rappelez vous)</p><p></p><p>[code] Mise à jour des ED%</p><p>6FCD6841 6A 20 PUSH 20</p><p>6FCD6843 E8 94E20100 CALL <JMP.&D2Common.#10991></p><p>6FCD6848 0FAFC5 IMUL EAX,EBP</p><p>6FCD684B 50 PUSH EAX</p><p>6FCD684C 6A 19 PUSH 19</p><p>6FCD684E 57 PUSH EDI</p><p>6FCD684F E8 18E30100 CALL <JMP.&D2Common.#10463>[/code]</p><p></p><p>10991 Lecture de la colonne Param2 dans Skills.txt</p><p>IDEM Avec Param2=20=%ED</p><p></p><p>ED%=(SLVL-1)*Param2 = (20)</p><p>ED% = (SLVL-1) * 20</p><p>On ecrit la propriété 0x19 --> 25 = STATS_DAMAGEPERCENT</p><p>Plus connu sous le terme de ED%</p><p>PAs Mal du tout 20%ED par Niveau <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite8" alt=":D" title="Big grin :D" loading="lazy" data-shortname=":D" /></p><p></p><p>[code]Mise à jour de AR%</p><p>6FCD6854 6A 20 PUSH 20</p><p>6FCD6856 E8 89E60100 CALL <JMP.&D2Common.#10993></p><p>6FCD685B 0FAFC5 IMUL EAX,EBP</p><p>6FCD685E 50 PUSH EAX</p><p>6FCD685F 6A 77 PUSH 77</p><p>6FCD6861 57 PUSH EDI</p><p>6FCD6862 E8 05E30100 CALL <JMP.&D2Common.#10463>[/code]</p><p>Toujours la même avec param 4 maintenant</p><p></p><p>AR%=(SLVL-1)*Param4 (5 %TOhIt Increase)</p><p>0x77 --> 119 STATS_ITEM_TOHIT_PERCENT</p><p>Plus connu sous le terme de AR%</p><p></p><p></p><p></p><p></p><p></p><p></p><p>[code]6FCD6867 56 PUSH ESI</p><p>6FCD6868 E8 C3DC0100 CALL <JMP.&D2Common.#10564></p><p>6FCD686D 8BF8 MOV EDI,EAX[/code]</p><p>Transfert le STAT HPMAx dans EDI</p><p>Rappelez vous pour moi et mes 294 PV ca donne</p><p>EDI=EAX=125DC= Max HP</p><p></p><p>[code]6FCD686F 6A 20 PUSH 20</p><p>6FCD6871 E8 4EE20100 CALL <JMP.&D2Common.#10990></p><p>6FCD6876 8BC8 MOV ECX,EAX</p><p>6FCD6878 B8 1F85EB51 MOV EAX,51EB851F</p><p>6FCD687D 0FAFCF IMUL ECX,EDI</p><p>6FCD6880 0FAFCD IMUL ECX,EBP</p><p>6FCD6883 F7E9 IMUL ECX</p><p>6FCD6885 C1FA 05 SAR EDX,5</p><p>6FCD6888 8BC2 MOV EAX,EDX</p><p>6FCD688A C1E8 1F SHR EAX,1F</p><p>6FCD688D 03D0 ADD EDX,EAX</p><p>6FCD688F 03FA ADD EDI,EDX[/code]</p><p></p><p>Voyons 10990 = Param1 dans Skills.txt (facile)</p><p></p><p>ECX=EAX=Param1 = HP%Increase (20)</p><p>EDI=Max HP</p><p>EBP=SLVL</p><p></p><p>EDX=ECX*EDI*SLVL/100</p><p>EDI=EDI+EDX</p><p></p><p>Bref en humain</p><p></p><p>PVMax=PVMax+(PVMax*20*(SLVL)/100)</p><p></p><p></p><p>[code]Fixe le CurrentPV</p><p>6FCD6891 57 PUSH EDI</p><p>6FCD6892 6A 07 PUSH 7</p><p>6FCD6894 56 PUSH ESI</p><p>6FCD6895 E8 90DC0100 CALL <JMP.&D2Common.#10517>[/code]</p><p>La fonction 10517 (UnitPTr,STAT,Valeur) fixe la proprété stat avec la valeur poussée en </p><p></p><p>premier sur la pile.</p><p>Si on regarde ItemStatCost 7=CurrentHP</p><p>Bref la nouvelle valeur de Pointde Vie= la formule du dessus</p><p></p><p></p><p>[code]Fixe le nombre de PV Max</p><p>6FCD689A 57 PUSH EDI</p><p>6FCD689B 6A 06 PUSH 6</p><p>6FCD689D 56 PUSH ESI</p><p>6FCD689E E8 87DC0100 CALL <JMP.&D2Common.#10517>[/code]</p><p>IDEM</p><p>Ecrit la propriété 6 (MaxHP) avec la valeur calculée au dessus</p></blockquote><p></p>
[QUOTE="Myrdinn, post: 5633"] Bon maintenant que la valkyrie est créée il va falloir la compléter :D [code]SLVL ? 6FCD67FA 8B4424 38 MOV EAX,DWORD PTR SS:[ESP+38] 6FCD67FE 83F8 01 CMP EAX,1 6FCD6801 0F8E A0000000 JLE D2Game.6FCD68A7[/code] EAX=SLVL Rappelez vous du premier push en 2eme ligne :D Si le SLVL <= 1 alors on passe la partie qui suit :) Si vous regardez le skill vous remarquerez que les bonus aux point de vie ED% AC% ... ne sont dispo qu'au SLVL2, voila la confirmation. [code]SECTION 2 SLVL>1 __ Initialisation des registres 6FCD6807 8B0E MOV ECX,DWORD PTR DS:[ESI] 6FCD6809 8B53 1C MOV EDX,DWORD PTR DS:[EBX+1C] 6FCD680C 8D68 FF LEA EBP,DWORD PTR DS:[EAX-1] 6FCD680F 8B46 08 MOV EAX,DWORD PTR DS:[ESI+8][/code] ECX=ValyUnitType=1=Monster EDX=GamePtr+1C= (0) EBP=EAX-1=(SLVL-1) EAX=ValyUnID =(OF pour moi a cause des poules) [code] 6FCD6812 50 PUSH EAX 6FCD6813 51 PUSH ECX 6FCD6814 6A 00 PUSH 0 6FCD6816 6A 00 PUSH 0 6FCD6818 52 PUSH EDX 6FCD6819 E8 2AE00100 CALL <JMP.&D2Common.#10470>[/code] Fonction 10470(GamePTR+1C,0,0,VALLYUnID,SLVL-1) Cette function reste encore mystérieuse pour moi, il faudrait que je la trace. Elle renvoie l'adresse (pointeur) d'une nouvelle structure qui m'est inconnue pour l'instant [code] Test de la structure 6FCD681E 8BF8 MOV EDI,EAX 6FCD6820 85FF TEST EDI,EDI 6FCD6822 74 43 JE SHORT D2Game.6FCD6867[/code] EDI = ??? = 05702800 pour moi (Structure vide on vient juste de voir sa creation) Si la structure n'existe pas on sort de cette routine, sinon on continue. [code] Modification 6FCD6824 57 PUSH EDI 6FCD6825 56 PUSH ESI 6FCD6826 E8 17E00100 CALL <JMP.&D2Common.#10475>[/code] 10475 (ValkyrieUnit,Sturcture vide)--> 0705EA00 en EDI+44 (=Valkyrie Unit +6c=PtStat) Bref à partir de la structure vide du dessus on pointe sur la structure PTStat qui contient les propriétés de la valkyrie.( Force MVLV, PV,Def, AR) Ces propriétés ont déjà été fixée à la création de la valkyrie. [code]PTSTAT AFter LIFE GAIN ??? $ ==> >00 00 00 00 08 EA 05 07 ....ê $+8 >00 00 00 00 00 00 00 00 ........ $+10 >00 00 00 00 C0 30 10 80 ....À0€ $+18 >B0 2A 00 00 38 04 00 00 °*..8.. $+20 >00 00 00 00 00 00 00 00 ........ $+28 >00 00 00 00 00 00 00 00 ........ $+30 >00 00 00 00 00 00 00 00 ........ $+38 >00 00 00 00 00 00 00 00 ........ $+40 >01 00 00 00 0F 00 00 00 ...... $+48 >00 00 00 00 00 EA 05 07 .....ê $+50 >00 00 00 00 0F 00 00 00 ....... Strenght = 15 $+58 >0C 00 00 00 1C 00 00 00 ....... MLVL= 28 $+60 >1F 00 00 00 8D 00 00 00 ...... Def(ArmorClass) = 141 $+68 >24 00 00 00 00 00 00 00 $....... DamageResist = 0 $+70 >25 00 00 00 00 00 00 00 %....... MagicResist = 0 $+78 >27 00 00 00 00 00 00 00 '....... FireResist = 0 $+80 >29 00 00 00 00 00 00 00 )....... LightResist = 0 $+88 >2B 00 00 00 00 00 00 00 +....... ColdResist = 0 $+90 >2D 00 00 00 00 00 00 00 -....... Poison Resist = 0 $+98 >14 00 00 00 1C 00 00 00 ...... Block% = 28 $+A0 >44 00 00 00 64 00 00 00 D...d... AttackRate =100% (en terme IAS) $+A8 >43 00 00 00 4B 00 00 00 C...K... VelocityPercent = 75% (Run/walk) $+B0 >45 00 00 00 64 00 00 00 E...d... Other_Animrate = 100% (FastCast FBR,FHR ...) $+B8 >0D 00 00 00 F0 05 00 00 ....ð.. Expérience = 1520 $+C0 >07 00 00 00 DC 25 01 00 ...Ü%. MaxHitPoint = 0x125DC $+C8 >06 00 00 00 DC 25 01 00 ...Ü%. CurrentHP= 0x125DC[/code] Voila le PtStat pour une valkyrie invoqué en normal. C'est le début avant modification Fait intéressant la valkyrie a une valeur pour L'XP. Elle passerait des niveaux ???? LEs points de vie sont variables entre 275 et 330 en décimal pour le normal. Moi j'ai eut 0x125DC soit 293(0x125) et l'extra précision dont je vous ai déjà parler ici j'ai DC. conclusion quasiment 294PV Toute ces infos sont disponibles également dans Monstats.txt Ici c'est en exemple pour une vally invoquée en normal, en hell elle serait plus forte. Cependant elle à toujours un MLVL de 28 par terrible pour toucher les monstres en Hell :( [code]Mise à jour des stats 6FCD682B 6A 20 PUSH 20 6FCD682D E8 C6E10100 CALL <JMP.&D2Common.#10992>[/code] on a besoin de ce fichier [url=http://www.ifrance.com/Myrdinn/MpqTxt/skills.xls]Skills.txt[/url] Si vous ouvrez ce fichier avec Excel vous trouverez la skill Valkyrie en ligne 34 La colonne B vous donnera son ID=32 Fait Etrange 0x20 --> 32 en décimal :D Cette fonction (10992) lit la colonne Param3 et place le résultat dans EAX (comme toutes les fonctions d'ailleurs) Ici Param3 from Skill.txt (colonne BI et BJ) 20=Valkyrie ID Param3 = 5 = %AC Increase Bref le pourcentage d'augmentation de DEF [code]Augmentation de la défense 6FCD6832 0FAFC5 IMUL EAX,EBP 6FCD6835 50 PUSH EAX 6FCD6836 68 AB000000 PUSH 0AB 6FCD683B 57 PUSH EDI 6FCD683C E8 2BE30100 CALL <JMP.&D2Common.#10463>[/code] On obtient EAX=EAX*EBP Hors assembleur on a DEF%=(SLVL-1)*Param3 La fonction 10463 (UnitPTr,Stat,Valeur) ici (ValkyrieUnit,0xAB,(SLVL-1)*Param3) Le AB siginifie la propriété AB que l'on peut lire dans ce fichier (C'est grace à lui au passage si j'ai pu vous donnez les stats de la valkyrie de base tout à l'heure) [url=http://www.ifrance.com/Myrdinn/MpqTxt/ItemStatCost.xls]ItemStatCost.txt[/url] 0xAB --> 171 STATS_SKILL_ARMOR_PERCENT (ligne 173) Bref en mode humain ca siginifie AC% = (SLVL-1) * 5 (A partir de SLVL=2 rappelez vous) [code] Mise à jour des ED% 6FCD6841 6A 20 PUSH 20 6FCD6843 E8 94E20100 CALL <JMP.&D2Common.#10991> 6FCD6848 0FAFC5 IMUL EAX,EBP 6FCD684B 50 PUSH EAX 6FCD684C 6A 19 PUSH 19 6FCD684E 57 PUSH EDI 6FCD684F E8 18E30100 CALL <JMP.&D2Common.#10463>[/code] 10991 Lecture de la colonne Param2 dans Skills.txt IDEM Avec Param2=20=%ED ED%=(SLVL-1)*Param2 = (20) ED% = (SLVL-1) * 20 On ecrit la propriété 0x19 --> 25 = STATS_DAMAGEPERCENT Plus connu sous le terme de ED% PAs Mal du tout 20%ED par Niveau :D [code]Mise à jour de AR% 6FCD6854 6A 20 PUSH 20 6FCD6856 E8 89E60100 CALL <JMP.&D2Common.#10993> 6FCD685B 0FAFC5 IMUL EAX,EBP 6FCD685E 50 PUSH EAX 6FCD685F 6A 77 PUSH 77 6FCD6861 57 PUSH EDI 6FCD6862 E8 05E30100 CALL <JMP.&D2Common.#10463>[/code] Toujours la même avec param 4 maintenant AR%=(SLVL-1)*Param4 (5 %TOhIt Increase) 0x77 --> 119 STATS_ITEM_TOHIT_PERCENT Plus connu sous le terme de AR% [code]6FCD6867 56 PUSH ESI 6FCD6868 E8 C3DC0100 CALL <JMP.&D2Common.#10564> 6FCD686D 8BF8 MOV EDI,EAX[/code] Transfert le STAT HPMAx dans EDI Rappelez vous pour moi et mes 294 PV ca donne EDI=EAX=125DC= Max HP [code]6FCD686F 6A 20 PUSH 20 6FCD6871 E8 4EE20100 CALL <JMP.&D2Common.#10990> 6FCD6876 8BC8 MOV ECX,EAX 6FCD6878 B8 1F85EB51 MOV EAX,51EB851F 6FCD687D 0FAFCF IMUL ECX,EDI 6FCD6880 0FAFCD IMUL ECX,EBP 6FCD6883 F7E9 IMUL ECX 6FCD6885 C1FA 05 SAR EDX,5 6FCD6888 8BC2 MOV EAX,EDX 6FCD688A C1E8 1F SHR EAX,1F 6FCD688D 03D0 ADD EDX,EAX 6FCD688F 03FA ADD EDI,EDX[/code] Voyons 10990 = Param1 dans Skills.txt (facile) ECX=EAX=Param1 = HP%Increase (20) EDI=Max HP EBP=SLVL EDX=ECX*EDI*SLVL/100 EDI=EDI+EDX Bref en humain PVMax=PVMax+(PVMax*20*(SLVL)/100) [code]Fixe le CurrentPV 6FCD6891 57 PUSH EDI 6FCD6892 6A 07 PUSH 7 6FCD6894 56 PUSH ESI 6FCD6895 E8 90DC0100 CALL <JMP.&D2Common.#10517>[/code] La fonction 10517 (UnitPTr,STAT,Valeur) fixe la proprété stat avec la valeur poussée en premier sur la pile. Si on regarde ItemStatCost 7=CurrentHP Bref la nouvelle valeur de Pointde Vie= la formule du dessus [code]Fixe le nombre de PV Max 6FCD689A 57 PUSH EDI 6FCD689B 6A 06 PUSH 6 6FCD689D 56 PUSH ESI 6FCD689E E8 87DC0100 CALL <JMP.&D2Common.#10517>[/code] IDEM Ecrit la propriété 6 (MaxHP) avec la valeur calculée au dessus [/QUOTE]
Nom d'utilisateur
Vérification
Poster une réponse
Accueil
Forums
Diablo
Diablo 2
Classes
Amazone
Valkyrie en détail
Haut