Pilote automatique : le client ne « reprend » plus la main tout seul
Premier palier atteint en autonomie (niveau 2, deux quêtes rendues, gants équipés). Le pilote se coupait pourtant à chaque combat : le client renvoyait de lui-même le tir automatique et l'attaque lancés par le serveur. Ces échos sont désormais ignorés ; les statistiques comptent aussi en pilote automatique.
- Commit
- da2a90d
- Build
- Build réussi (1 min) · Cible worldserver
Constat
Le journal de reprise de main indiquait CMSG_CAST_SPELL ou CMSG_ATTACKSWING quelques secondes après chaque engagement. Le client 3.3.5a répète le tir automatique (sort à répétition) et l'attaque de la cible que le serveur vient d'engager : ce ne sont pas des gestes humains.
Correctif
CMSG_CAST_SPELLd'un sort à répétition (IsAutoRepeatRangedSpell) : ignoré.CMSG_ATTACKSWINGsur la cible déjà attaquée : ignoré.- Tout le reste (déplacement clavier, saut, autre sort, autre cible, clic sur un PNJ ou un objet) rend immédiatement la main à l'humain.
- L'opcode responsable est noté à chaque reprise de main.
- Les hooks de mise à mort, de mort et de montée de niveau reconnaissent aussi le cerveau en pilote automatique (statistiques et journal complets).
Bilan des 10 premières minutes
Niveau 1 → 2, « Your Place In The World », « Cutting Teeth » et « Etched Tablet » rendues, quatre quêtes en cours (scorpides, familiers, pommes de cactus), deux pièces d'équipement portées, aucune mort, aucun blocage.