online faq recherche accueil
 

Il y a 194 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
 Page :  1  2
Page Précédente 
Auteur
 Sujet :

Anatomie d'un combat-Phase 1 Toucher son adversaire

 
n°1370115
Myrdinn
ollydebugger
Posté le 25-09-2002 à 10:56:04  profilanswer
 

Quelques précisions avant de commencer.
 
Ce post décrit les mécanismes du jeu de la routine générale de combat. Si vous ne voulez pas prendre un aspirine :lol: ou un knockback passer votre chemin.
La première partie est assez triviale, par contre pour les autres je pense qu'il y a quelques révelations ( au moins pour certain) Patience
 
sources JE tiens à remercier JARULF (même si il ne lira jamais ce poste personnellement) car sans ces travaux sur la structure des objets sous D2 et les traces qu'il a documentés il y longtemps sur les offsets je n'aurais jamais pu faire ce post :)
 
Les données de ce post viennent de trace (debug assembleur) de la routine de combat fait avec le patch 1.09B. Le patch 1.09D est quasi identique, il n'apporte que des bugs supplémentaires.
 
Les données que je donne sont basées sur des presemptions fortes, cependant pour certaines sous-fonction je n'ai pas tracé toutes les lignes (Ca ferait plusieurs milliers de ligne en assembleur et je ne suis pas une machine)
 
Bref tout debats contradictoires ou encouragements pour la suite sont les bienvenus.;)
 
 
Phase Pré-combat
Toutes les skills (j'inclus attaque normale dans le lot) ont la même  
structure.(Pré-résolution,graphique associé, résolution une fois le graphisme terminé,Post-Résolution)
 
La résolution n'implique pas forcement la phase de combat dans son ensemble. Trait de foudre de la sorcière,,smite du paladin n'utilise pas la routine pour toucher ...
 
Maintenants venons en au vif du sujet, je vais faire un résumé de ce qui ce passe sequentiellement dans cette routine.

n°1370121
Myrdinn
ollydebugger
Posté le 25-09-2002 à 10:57:23  profilanswer
 

1) Etat de la cible ?
Je passe les contrôles effectués par le jeu en amont.
 
Si la cible est un joueur et qu'elle est dans l'état run alors le toucher est automatique = 100 % c'est le seul cas qui n'est pas à 95% a ma connaissance.
Dans ce cas passer au point 3
 
2)Routine de calcul du ToHit%
 
On arrive ici si la cible est un monstre ou un joueur immobile/marche
 
Le jeu calcul
 
A) Le niveau du défenseur
 
B) La Def ou DR(Defense rating)
 
- LE DR de base Le DR de base=Dex/4+STAT_1F de l'objet personnage
Ou Stat_1F = DR de la cible (Somme des défense de l'ensemble des objets équipés (qui au moment de l'équipement/Enlèvement sont Ajouter/soustrait directement de l'objet personnage). ainsi que les auras et malediction voir N.B. à la fin du troisième POST)
 
- Missile ou Mélée? --> DR Final = DR + DR Vs(Melee ou missile suivant résultat)
 
- Si l'attaquant est un joueur seulement. A-T-il ITD ??  
(Au passage un objet ITD ne sert à rien pour un merco la preuve est la) La cible est elle un joueur? (Au passage ITD ne sert à rien en Pvp :) )
La cible est elle un Monstre=Boss?
Oui => Rien
Non => DR= O
Bref Si joueur a ITD est que la cible est valide (Ni joueur Ni boss) Alors DR= 0
 
- L'attaquant a t il un  STATE FRACTIONALTargetAC= STAT74. Bref en langage humain porte t il un objet avec l'attribut Diminue la defense de la cible xx% (Reduce-ac pour les modders). En réalité il faut lire. Réduit la défense à xx% de sa valeur initiale. Si l'attaquant à un objet réduit la défense de xx% alors DR=DR*xx/100
 
C'est la qu'interveient le bug Eth. En effet tout les Reduce-ac sont exprimé en propriété positive. Exemple si vous avez Reduce-ac 25 ce la signifie que la défense de l'adversaire est réduite à 25% de sa valeur initiale. LE problème de la rune eth est que la valeur est négative. Donc au final la cible à une défense négative, les chance de touchersont alors de 95% (A cause du cap)
N.B. Il existe une autre propriété qui est damage-ac qui elle diminue de façon permanente (jusqu'à la prochaine sauvegarde ou mort) la défense de la cible (Directement la Stat_1F). Reduce-AC s'applique uniquement pour le coup donné. Si vous lisez les posts suivant entre moi et Tiissa ne tenez pas compte de la discussion sur Eth elle est fausse.
 
- Applique le DR% (du personnage CF Stat1F au dessus) bref au final DR=DR*(1+DR%/100)
 
La defense finale est alors
DR=[(dex/4+stat1F)+DR VS(Melee/Missile))*NOT(ITD)]*(reduce-ac/100)*(1+DR%/100)
 
C) Le niveau de l'attaquant
 
D) L'AR(Attack Rating) de l'attaquant
 
Si l'attaquant est un joueur
 
Les AR% s'additionne
- Si la cible est un demon on additionne AR% Vs Demon
- Si la cible est un undead on additionne AR% Vs Undead
- Si l'attaque est de mélée exclusivement alors on additionne l'AR% de la maitrise.  
 
 De toute façon la routine qui gère les attaque à distance n'est pas la même. Cependant cette partie est commune au deux. Même si les Arcs n'ont pas de Maitrise, que ce passe-t-il pour les haches à lancer par exemple ??? BUG de la maitrise ???  
 
AR%Final=AR%(skill) + AR%(objets) + AR%(maitrise) + AR%(demon) + AR%(undead) suivant les cas applicables évidemment.
 
- AR=AR(skill?? si ca existait) + AR de l'objet personnage(Stat_13)  
(Comme d'hab grace aux objets qu'il porte ajouter au Tohit Factor trouvé dans CharStats.txt (qui est un bonus/malus au touché pour chaque classe de personnage) + 4* Dextérité -28 :)  
Bref AR= AR(skill) + Somme des AR(objet) + (4*dex-28) + Class Bonus Factor)
 
Résumé on a  
AR Final=AR*(1+AR%/100)
avec  
AR%= AR%(Skill) + AR%(Demon) +AR%(undead) + AR%(mastery) + AR%(Item) suivant les cas valides.  
et AR=(4*DEX-28+Class Tohit Factor +AR(Item)+AR (Skill))
 
Si l'attaquant est un monstre
 
 le calcul est différent c'est AR=AR*4(Donc vous tirerez vous même les conséquence sur les armes +% Vs Demon de vos mercenaires qui pour le jeu sont des monstres :) ) (EDIT merci Tiissa :) )
 
L'AR de base du monstre est dans le fichier Monstats.txt dans les colonnes AxTohit(Y) Ou x= Numéro de l'attaque et Y= niveau de difficulté (Rien Normal, (N)ightmare,(H)ell)
 
AR%=AR%(Objet) Donc ni Vs Demon ni Vs Undead ni AR% de la skill
 
La calcul final pour les monstres est
 
AR Final=AR(Monstat.txt)*4(1+AR%(objets)/100)
 
E) Application de la formule
 
ToHit% = 100*AR/(AR+DR) * 2*Alvl/(Alvl+Dlvl)
 
N.B. Cette formule fonctionne aussi pour ITD. DR=0 remplace la formule par  *Alvl/(ALVL+DLVL)*100
Elle fonctionne également pour le Bug ETH Si DR<0 alors DR est ignoré et donc la formule est identique à ITD (L'effet aussi donc, Eth agit comme ITD)
 
N.B. Sur le *100 LE jeu ne gère que des entiers (Les pourcentages sont toujours multiplié par 100 pour pouvoir être donné sous forme d'entier)
Applique le cap 5% Minimum - 95%Maximum (Merci Kaizel indirectement ;) )
 
Tirage aléatoire avec la seed de l'attaquant pour voir si la cible est touché
Oui = 3
Non = EXIT

n°1370126
Myrdinn
ollydebugger
Posté le 25-09-2002 à 10:58:28  profilanswer
 

3) Routine de calcul du block  
(Uniquement par bouclier, la skill de l'assassin n'est pas du block)
 
A) Block du bouclier
la formule pour le bouclier est
 
 ShieldBlocking = BlockFactor(A partir de charstats.txt) + block(à partir d'armor.txt) + blocking bonus (A partir des objets/Skills comme HolyShield par exemple) sans limite
L'affichage sur le bouclier est limité à 75% (oui c'est un bug mineur) mais le cap n'est appliqué que sur la formule finale
 
B) Block du Personnage
 
Block Final= (ShieldBlocking * (Dexterité - 15)) / (CLVL * 2)
 
Ensuite intervient le Cap à 75%
 
C) Facteur ETAT du défenseur
 
Si la cible est un joueur et que le ce joueur est dans l'état RUN / Walk in town (On s'en moque le joueur n'est pas attaqué en ville, mais c'est bon à savoir dans un MOD ou c'est possible)  
 
alors le block est divisé par 3 (Le cap etant deja appliqué. Si on court Block Maximum=25%)
 
 D) Résolution
Tirage aléatoire avec la seed du défenseur pour voir si la cible parre avec son bouclier
 
Oui = Phase 5
Non = Phase 4
 
4)Routine d'évasion
 
Le jeu regarde si la cible réussi une de ces skills
Avoid
Dodge
Evade
Block (Assassin skill)
 
5) Le jeu enregistre les résultats dans la structure du combat
 
Tohit Vrai ou faux
Block Vrai ou faux
Avoid, dodge ... regroupé dans le même octet. Pareil de façon binaire Vrai ou faux pour chacun
 
Il faut noter que le Tohit est remis à zéro par le block ou l'une des évasions.  
 
6) Evenements activés par le toucher
 
Le jeu regarde si la cible est dans l'état
STATE_THORNS  
STATE_BARBS
STATE_IRONMAIDEN
STATE_LIFETAP
Intinterruptable Skill
 
Il enregistre ces evenements dans l'objet combat (Comme le point 5)
 
A suivre...
 
Voila les prochains post d'anatomie d'un combat seront
Structure des dégats
Résolution des dégats
Attaques spéciales
 
Et si la 1.10 n'est pas sortie avant je ferais dans chaque forum approprié un trace de toutes les aptitudes (1 post par arbre) pour expliquer leur rapport avec la strucutre du combat (Vous pourrez les lire si vous restez une année supplémentaire sur le forum :lol:)
 
 
 
PS sur les STATs et les STATEs  
Détails techniques pour les modders
 
Les fonctions ordinales exportées 2917 et 2918 de D2common.dll permettent de lire les charactéristique (STAT) d'un objet (Joueur, Monstre, objet , ..., Sol (N'est ce pas Paul)) ...
 
En paramètres le jeu passe 2 valeurs
Le pointer sur l'objet
La caractéristique à lire (Que Blizzard a généreusement détaillé dans le fichier ItemStatCost.txt
 
Ces Valeurs sont updatées à chaque modification d'équipement, a chaque auras,malédictions activés sur l'objet , Quete (d'ou le bug de la quete d'ANYA ;) ) ... et sont remis à zero a chaque apparition du personnage (Demarrage, chargement de la sauvegarde, mort ...)
 
Certaines valeurs de base sont modifiés par les charactéristique particulières de l'objet (Monstats.txt pour les monstres, Charstats.txt pour les joueur ...)
 
Petite précision a ce sujet. Vue cette structure il est evident que les objets %coupMortel,%crushingblow s'additionne dans la STAT et ne sont pas apppliqué 1 par 1 comme on l'entend souvent dire.
 
Exemple Fonction 2917(Pointer sur objet Epee equipée dans la main gauche,Stat 0c=LEVEL) retourne le ILVL de l'objet (Très pratique pour l'étude des ILVL :D )
 
La fonction ordinale exportée 28F7 de D2common.dll permet de lire l'état (STATE) d'un objet (Joueur, Monstre, objet , ...
 
Avec la même structure sur les paramètres.  
La encore blizzard nous à gentillement laissé le fichier States.txt

n°1370258
Priam
Posté le 25-09-2002 à 11:29:07  profilanswer
 

:gratz: Myrdinn :clap:
 
très instructif (comme toujours :p), même s'il va falloir que je le relise attentivement :razz:
 
Mais vivement les prochains posts d'anatomie :biggthum:  
 
Et merci de nous faire partager le résultat de tes recherches ;)

n°1370268
kaizel
Ce monde n'est pas pour moi..
Posté le 25-09-2002 à 11:30:53  profilanswer
 

je te dis merci meme si je l'ai pas encore lu :)
on vera sa se soir car la il faut que je file ;)

n°1370288
tiissa
Posté le 25-09-2002 à 11:36:39  profilanswer
 

Merci pour ce fil qui s'avère prometteur. :)
 
 
 

Citation :

Provient du message de Myrdinn
- L'attaquant a t il un  STATE FRACTIONALTargetAC= STAT74. Bref en langage humain porte t il un objet avec l'attribut Diminue la defense de la cible xx% (Reduce-ac pour les modders)
 
- Applique le DR% (du personnage CF Stat13 au dessus) bref au final
DR=((04*dex-28+stat13)+DR VS(Melee/Missile))*NOT(ITD)/reduce-ac*DR%


Dans la version 1.09b y-a-t'il le bug 'eth' ? Sais-tu comment il se manifeste ?

n°1370364
lsong
Posté le 25-09-2002 à 11:55:10  profilanswer
 

clap clap clap
 
je sens que ta signature va encore grandir :)

n°1370369
Myrdinn
ollydebugger
Posté le 25-09-2002 à 11:56:00  profilanswer
 

Citation :

Provient du message de tiissa
Merci pour ce fil qui s'avère prometteur. :)
 
 
 
 
Dans la version 1.09b y-a-t'il le bug 'eth' ? Sais-tu comment il se manifeste ?


Oui d'ailleurs c'est le debut de la résolution des dégats (Donc 3eme Post) :lol:
Bon allez une avant première (Pas sur le bug qui est connu depuis longtemps)  
Le skill Damage-ac pour les Modders (Celui apporté par la rune Eth mais ce n'est pas la seule source possible) Réduit la DR du defenseur dans la phase de résolution (La STAT-1F si tu as bien suivi). Le problème est que c'est irréversible (Enfin jusqu'à la prochaine sauvegarde), on ne recupère pas sa DR à la fin du combat. C'est normal car l'armure est endommagé et le combat n'est jamais fini puisque d'autres monstres peuvent être impliqués dans ce combat. :lol: donc l'attribut fonctionne comme il devrait fonctionner.
 
Pour un monstre c'est sans importance car il disparait assez vite du jeu. Sauf que blizzard a oublier que ca pouvait servir en PVP :( Et la c'est plus ennuyeux. ) Bref le futur patch, comme pour ITD devrait exclure les joueurs de l'effet de Damage-AC, je ne vois pas comment faire autrement (Faire durer la baisse d'AC pendant x frames??? Ridicule pourquoi l'armure se reparerait toute seule???.)
 
EDIT désolé confondu Stat1F=DR et Stat13=AR :(

n°1370392
tiissa
Posté le 25-09-2002 à 11:59:48  profilanswer
 

Citation :

Provient du message de Myrdinn

Oui d'ailleurs c'est le debut de la résolution des dégats (Donc 3eme Post) :lol:
 
C'est normal car l'armure est endommagé et le combat n'est jamais fini puisque d'autres monstres peuvent être impliqués dans ce combat. :lol:


Et si on va réparer en ville ? C'est remis à jour ?  
 
 
tiissa, questionneur pressé :D

n°1370430
Replica
Posté le 25-09-2002 à 12:07:15  profilanswer
 

:eek: pfiou...chapeau bas l'artiste :clap:  
 
serieux c vraiment génial d'avoir fait ça j'attend la suite avec impatience !
 
par contre g un peu de mal a saisir certains trucs :D paske c trop compliqué pour moi :D mais dans l'ensemble reçu 4.99/5 :)

n°1370480
Myrdinn
ollydebugger
Posté le 25-09-2002 à 12:16:47  profilanswer
 

LE DR n'a rien a voir avec la durabilité malheureusement pour le jeu
 
Sinon ce serait une bonne idée :D
 
Non le DR etant calculé a l'équipement/désequipement des objets. Iln'est remis à zero qu'a l'ouverture du jeu.
 
P.S. Les mercis c'est bien, les votes également :rolleyes:

n°1370502
tiissa
Posté le 25-09-2002 à 12:20:28  profilanswer
 

Citation :

Provient du message de Myrdinn
LE DR n'a rien a voir avec la durabilité malheureusement pour le jeu
 
Sinon ce serait une bonne idée :D
 
Non le DR etant calculé a l'équipement/désequipement des objets. Iln'est remis à zero qu'a l'ouverture du jeu.


Et si on déséquipe/rééquipe un objet je suppose que ce n'est pas tout recalculé si ?
Même question si un objet se casse puis qu'on le répare. :D
 
tiissa, questionneur frénétique :razz:

n°1370531
Myrdinn
ollydebugger
Posté le 25-09-2002 à 12:26:37  profilanswer
 

Recapitulons
A l'origine DR=0 (Je parle de Stat1F pas de la première formule)
Au moment ou l'on equipe desequipe un objet on ajoute ou soustrait son DR OK
 
Prenons un exemple je n'ai qu'une armure DR=98
 
Je commence la partie (ou je reprend une sauvegarde, ou je viens de mourrir) j'initialize (0) l'ensemble de mes stat de mon perso
DR=0
Le jeu calcule l'ensemble des apport en scannant l'equipement 1 a 1 Donc DR=80 (Stat-1F Toujours)
 
Ensuite le jeu commence
 
Si je me prend du Damage ac et que j'obtient -50%
J'ai DR=40
 
J'enlève l'armure j'ai DR=-40
Je la remet j'ai DR=+40
 
Sauf si DR<0 => DR=0 Alors en ce mettant à poil et en recuperant son equipement peut etre que ca marche :)
Mais en PVP c'est pas évident :lol:
 
Clair :D

n°1370585
tiissa
Posté le 25-09-2002 à 12:36:41  profilanswer
 

Citation :

Provient du message de Myrdinn
Prenons un exemple je n'ai qu'une armure DR=98
[...]
Donc DR=80 (Stat-13 Toujours)
Clair :D


Oui :D (en gros faudra que tu vérifies ça plus tard ;))

n°1370593
Catyoul
Posté le 25-09-2002 à 12:38:11  profilanswer
 

Excellent merci. Je dirais même plus : 5 .. Excellent :D

n°1370599
Myrdinn
ollydebugger
Posté le 25-09-2002 à 12:39:15  profilanswer
 

Citation :

Provient du message de tiissa

Oui :D (en gros faudra que tu vérifies ça plus tard ;))


 
Hum ce sera un autre post

n°1370773
Joe Jinis
Empereur Paladin
Posté le 25-09-2002 à 13:15:31  profilanswer
 

Citation :

Provient du message de Myrdinn
Si vous ne voulez pas prendre un aspirine :lol: ou un knockback passer votre chemin.
 


 
Zut alors!
Moi qui me disais que j'allais venir poster expres pour dire a tout le monde de préparer sa collection d'aspirines ainsi que Votre bouclier pour le knockback. :evil:
mais je fus zu! :bluecry:
Ben bravo quand meme ;)

n°1370798
Myrdinn
ollydebugger
Posté le 25-09-2002 à 13:20:16  profilanswer
 

Citation :

Provient du message de Joe Jinis

 
Zut alors!
Moi qui me disais que j'allais venir poster expres pour dire a tout le monde de préparer sa collection d'aspirines ainsi que Votre bouclier pour le knockback. :evil:
mais je fus zu! :bluecry:
Ben bravo quand meme ;)


 
Je n'en suis pas à mon premier post, je prends des précautions :lol:
 
Sinon bon anniversaire :drink1: meme si je te l'ai deja dit chez les paladin

n°1370823
Joe Jinis
Empereur Paladin
Posté le 25-09-2002 à 13:24:05  profilanswer
 

Héhé! ^^
Enfin bon je vais plutot lire les commentaires que les gens feront sur les parties croustillantes car le pvp m'interesse po trop.
remerchi :-þ

n°1371447
Lui
Posté le 25-09-2002 à 15:40:51  profilanswer
 

Encore un super post ... Myrdinn, chapeau 5/5

n°1371537
Crazy
Ni Dieu, Ni Maître .......
Posté le 25-09-2002 à 15:58:25  profilanswer
 

Un seul mot : RESPECT !! :smileyquienlevesonchapeauetfaislareverence:

n°1371738
kaizel
Ce monde n'est pas pour moi..
Posté le 25-09-2002 à 16:43:06  profilanswer
 

Citation :

Provient du message de Myrdinn

..... Le problème est que c'est irréversible (Enfin jusqu'à la prochaine sauvegarde), on ne recupère pas sa DR à la fin du combat. ...


meme en cas de mort du joueur ...la defense reste donc a zero

n°1371946
KaLiS
Posté le 25-09-2002 à 17:29:06  profilanswer
 

*vote et va prendre son aspro*

n°1371956
kaizel
Ce monde n'est pas pour moi..
Posté le 25-09-2002 à 17:33:47  profilanswer
 

Citation :

Provient du message de KaLiS
*vote et va prendre son aspro*
 


ohhh un kilt.... oups un kalis je voulais dire :evil:

n°1373929
Myrdinn
ollydebugger
Posté le 26-09-2002 à 08:37:43  profilanswer
 

Citation :

Provient du message de kaizel

meme en cas de mort du joueur ...la defense reste donc a zero


 
Non dans mon exemple pour ceux qui suivent :rolleyes: je cites
 

Citation :

Je commence la partie (ou je reprend une sauvegarde, ou je viens de mourrir) j'initialize (0) l'ensemble de mes stat de mon perso  
DR=0


 
De plus il est possible qu'elle devienne négative ce qui aboutirait à un Hit Automatique. Ca me fait penser que j'ai oublier de parler du cap 5%-95% du ToHit :( --->  Part editer rapidement

n°1374321
tiissa
Posté le 26-09-2002 à 10:55:04  profilanswer
 

Juste une question pour être bien sûr : l'ar des monstres qui est multiplié par 4, c'est ce qu'on trouve dans les colonnes AxToHit de monstats.txt je suppose ?
 
Oui la question est stupide ça peut être que ça...:eyes:

n°1374406
Myrdinn
ollydebugger
Posté le 26-09-2002 à 11:13:04  profilanswer
 

Au passage une question n'est jamais stupide quand elle est bien posée :D  
Tu ne me verras jamais traité quelqu'un de Noob ou boulet. Et ta question n'a rien d'évident, je ne pense pas que beaucoup de personne lise les .txt dans les MPQs, bref une jolie forme de fausse modestie :rolleyes:
 
EDIT pour être plus précis il ne faut pas oublier 2 choses.
C'est AxTohit(Niveau de difficulté)
Et pour les mercenaires c'est  
une opération à partir des colonnes AR et  AR/LVL  :D
Pour être encore plus précis ce chiffre n'est pas lu au moment du combat mais est créé dans l'objet Monstre (Merco inclus) à leur Création/équipement .... La routine de ToHit se contente de lire cette valeur dans la STAT_13 (STATS_TOHIT) de l'objet en question

n°1374489
Myrdinn
ollydebugger
Posté le 26-09-2002 à 11:39:33  profilanswer
 

Oups j'ai inversé  
STAT-13 = STAT-TOHIT  
STAT-1F = STAT-ARMORCLASS
 
+ Petit détails sur ou lire les différents STAT et leur signification en N.B du dernier post :)  
+ Détail sur stat_13 AR de base=AR de l'équipement+ToHit Factor de Charstats;txt.  
+ Gros Détails Avant LOD le Tohit Factor etait de l'AR% et pas de l'AR comme maintenant :)
+EDIT  
Les stat_xx sont directement modifées par les Auras ou malediction j'avais omis ce détails
 
Bref EDIT des 3 premiers posts en cours :) --> EDIT terminé :D

n°1374617
tiissa
Posté le 26-09-2002 à 12:13:34  profilanswer
 

Tant qu'on y est, je suppose que dans la fenêtre de perso est affiché ARFinal pour les animaux (pas démon ni mort-vivant) mais qu'il indique quand même le ToHit%.
 
Pour la défense affichée c'est juste DR = 4 * dext - 28 + stat_1F ou il applique aussile DR% ?
 
La dext n'intervient pas dans l'AR de base ? Un truc style : x * dext + ToHitFactor + equip   ?
 
 
 
 

Citation :

Provient du message de Myrdinn
Petite précision a ce sujet. Vue cette structure il est evident que les objets %coupMortel,%crushingblow s'additionne dans la STAT et ne sont pas apppliqué 1 par 1 comme on l'entend souvent dire.  


Je veux pas chercher les complications, mais as-tu vérifié que lors de l'ajout il faisait bien une somme ?
Blizzard aurait pu faire comme le poison, une formule destinée à simuler le test des objets un par un mais en enregistrant en fait que la proba finale.
(p' = p + (1- p) * po lors de l'ajout et p' = (p - po) / (1 - po) lors du retrait, si mes calculs sont bons ;))

n°1374789
Myrdinn
ollydebugger
Posté le 26-09-2002 à 12:56:57  profilanswer
 

Citation :

Provient du message de tiissa
Tant qu'on y est, je suppose que dans la fenêtre de perso est affiché ARFinal pour les animaux (pas démon ni mort-vivant) mais qu'il indique quand même le ToHit%.
 
Pour la défense affichée c'est juste DR = 4 * dext - 28 + stat_1F ou il applique aussile DR% ?


Je n'ai jamais regardé en détail l'affichage, je n'ai pas de réponse sur ces points .
 

Citation :

La dext n'intervient pas dans l'AR de base ? Un truc style : x * dext + ToHitFactor + equip   ?


 
Bien vu c'est AR=4*Dext-28 + Tohit Factor +Equipement :D
 
Zut encore un EDIT à faire Ce qui est marrant c'est que pour la STAT-13 c'est calculé directement alors que pour la DR (STAT_1F) c'est calculé au moment du  calcul du ToHit% (C'est une optimisation a faire par blizzard)
 
 
 
 
 

Citation :

Je veux pas chercher les complications, mais as-tu vérifié que lors de l'ajout il faisait bien une somme ?
Blizzard aurait pu faire comme le poison, une formule destinée à simuler le test des objets un par un mais en enregistrant en fait que la proba finale.
(p' = p + (1- p) * po lors de l'ajout et p' = (p - po) / (1 - po) lors du retrait, si mes calculs sont bons ;))


 
Oui certain. J'ai deja desassemblé la routine, elle est extremement simple.
Tu auras remarqué que itemstatCosts.txt est commun à tous les objets alors que pour les modes par exemples ont à PlrMod, Monmod.txt ...
Quand tu équipes un objet il ajoute les STATs (venant de itemstatCosts.txt) de l'objet item aux STAT  de l'objet personnage.
 
Resumons rapidement la fonction de mémoire
 
Elle scanne chaque valeur de l'objet (C'est un tableau stoqué en mémoire)
Call ordinal fonction 2917(ou 2918) (pointer sur objet,Stat)  
resultat dans EAX
Transfert dans EBX
Call ordinal fonction 2917(ou 2918) (pointer sur perso, Même Stat)  
Resultat dans EAX
Add EAX,EBX
Call Ordinal Fonction 2919(ou 2920 a verifier de mémoire) (Pointer sur personnage,STAT)
 
Ces fonctions ecrivent la STAT dans l'objet pointé par le premier paramètre.
 
Bref une simple addition :D

n°1374875
tiissa
Posté le 26-09-2002 à 13:14:08  profilanswer
 

Citation :

Provient du message de Myrdinn
Bref une simple addition :D


Merci, comme ça on en est sûr :)

n°1396608
tiissa
Posté le 01-10-2002 à 19:42:14  profilanswer
 

Citation :

Provient du message de Myrdinn
La résolution n'implique pas forcement la phase de combat dans son ensemble. Trait de foudre de la sorcière,,smite du paladin n'utilise pas la routine pour toucher ...


Donc dans ce cas là on touche à 100% comme pour quand le défenseur court c'est ça ?
 
Quels sont les cas où on touche à 100%, tous ceux pour lesquels l'ar n'est pas affiché ? T.I. touche à 95% ou 100% ?
 
 
 
Qu'est-ce qu'on ne ferait pas pour déguiser un up :lol:

n°1396794
vilnia
Posté le 01-10-2002 à 20:13:19  profilanswer
 

ou comment faire une perle :)

n°1398160
Myrdinn
ollydebugger
Posté le 02-10-2002 à 10:32:44  profilanswer
 

Citation :

Provient du message de tiissa

Donc dans ce cas là on touche à 100% comme pour quand le défenseur court c'est ça ?
 
Quels sont les cas où on touche à 100%, tous ceux pour lesquels l'ar n'est pas affiché ? T.I. touche à 95% ou 100% ?
 
 
 
Qu'est-ce qu'on ne ferait pas pour déguiser un up :lol:


Hum le problème pour répondre a cette question c'est qu'il faudrait tracer chaque skill une par une :( Attends le patch 1.11 je devrais avoir fini en même temps). D'ailleurs il faudrait un jour que je me fasse aider dans mes traces par des volontaires :rolleyes:
 
Bon ce que j'ai vu au moment de la 1.08 c'est que les sorts de sorcière toucheraient à tous les coups :) PAr contre pour les sort de pseudo combat du style de Smite, il y aurait (Ne prenez pas cette info comme sure, je crois avoir compris ca à l'époque) 95% indépendemment de tous paramètres (Level,AR, type de bouclier ...)  
 
Bon comme je l'explique en fin de post, je ferais si j'ai le temps un jour un trace de toute les skills par arbre et je posterais le résultat dans le forum adequat avec un lien vers l'ensemble des posts Anatomie d'un combat

n°2168105
Myrdinn
ollydebugger
Posté le 04-03-2003 à 11:32:09  profilanswer
 

J'ai mis le post à jour.
Il y avait pas mal d'erreur (Mais comme personne ne s'en est aperçu c'est pas très grave :lol: ), j'ai essayé de le rendre plus agréable à lire, cependant je devrais le remanier compéltement pour cela, je prendrais le temps une autre fois
 
La conversation sur Eth (dans les premières réponses du post) avec Tiissa est fausse (Merci à Fab_Asturias pour la confirmation), je n'ai pas éditer les réponses pour conserver l'historique et montrer que mes posts sont fait pour évoluer.
 
Bonne lecture aux courageux :clinoeil:

n°2169635
Koko
Posté le 04-03-2003 à 17:36:51  profilanswer
 

Ainsi les dodges et consort de l'ama sont traité aprés le reste... c'est donc plus cool que ce que je pensais, surtout si on aime courrire.
Merci pour ce post Myrdinn.

n°2285806
raichoup
Posté le 25-03-2003 à 21:44:48  profilanswer
 

tite kestion :
j'ai bien tout lu ( et j'arrive à appliquer les formules) mais une question m'étreind :) .
 
faut-il toucher une première fois en possédant une eth//areat 08 sans profiter de l'effet itd pour l'activer ?

n°2369026
Myrdinn
ollydebugger
Posté le 09-04-2003 à 18:39:11  profilanswer
 

Citation :

Provient du message de raichoup
tite kestion :
j'ai bien tout lu ( et j'arrive à appliquer les formules) mais une question m'étreind :) .
 
faut-il toucher une première fois en possédant une eth//areat 08 sans profiter de l'effet itd pour l'activer ?


 
. Comme tu peux le voir ca fait partie intégrante du calcul de la défense de l'adversaire et rien dans cette formule ne peux justifier le "il faut toucher une fois" légendaire :D
 
CONCLUSION
Eth agit tout le temps, pas besoin d'avoir toucher une première fois.

n°4280483
Ulmo
Posté le 09-06-2004 à 01:30:16  profilanswer
 

En fait, c'est un :up: déguisé pour demander qu'est ce qui est à jour là dedans. Il n'y a eu aucun edit ou message depuis plus d'un an, mais malgré ça le fixe classe ce post comme [1.10].
 
Deuxièmement, as-tu prévu de continuer ce post ?
(Je parle des trois liens vides "Structure des dégats", "Résolution des dégats", "Attaques spéciales". Cela interesse particulièrement kaizel en ce moment...)

n°4281611
Myrdinn
ollydebugger
Posté le 09-06-2004 à 12:00:09  profilanswer
 

Il y a des modifications mineures sur des détails en 1.10 dont j'ai vaguement parler sur AmazonBasin. La page Web de Tommi est à jour (à 98% ;) ) sur l'AR et le DR pour plus d'info.
 
Cependant 95% des informations étant valables j'ai estampillé le post 1.10 compatible ;)
 
Ce post à toujours été un bide, c'est pourquoi je n'ai jamais terminé les 3 liens suivants, pourtant à l'époque les mécanismes de calcul de l'AR et du DR en dehors de la formule générale n'étaient pas très connus.
Les combats en général non plus au passage ;)
Une question de mode, le MF et les drops attirent plus les foules :lol:
 
Si j'en avais le courage et un peu le temps je remettrais bien la totalité des liens des mines d'or en cersion 1.10, je n'ai pas encore pris cette décision pour le moment.

 Page :  1  2
Page Précédente 

Aller à :
Ajouter une réponse