Coffres verrouillés : Crashtroller apprend à cueillir les pommes de cactus
Les « Cactus Apple » de la quête de Galgar sont des coffres à serrure : un client ne les « utilise » pas, il lance le sort d'ouverture adapté au type de serrure. Le cerveau fait désormais de même, puis vide la fenêtre de butin. Le pilote automatique ignore aussi les échos d'attaque arrivés en retard.
- Commit
- ff4d156
- Build
- Build réussi (1 min) · Cible worldserver
Coffres verrouillés
Le modèle d'objet Cactus Apple (type coffre) porte la serrure 259. CMSG_GAMEOBJ_USE ne suffit pas : le client lance le sort dont l'effet SPELL_EFFECT_OPEN_LOCK correspond au type de serrure (Lock.dbc, cas LOCK_KEY_SKILL).
OpenGameObject :
- objet sans serrure →
CMSG_GAMEOBJ_USE; - sinon → parcours des sorts réellement connus du personnage, choix de celui qui ouvre ce type de serrure, incantation non déclenchée sur l'objet (temps d'incantation compris).
Fouille générique
À chaque décision hors combat, si une fenêtre de butin est ouverte (cadavre ou objet), le cerveau prend chaque emplacement par CMSG_AUTOSTORE_LOOT_ITEM, l'argent par CMSG_LOOT_MONEY, puis referme (CMSG_LOOT_RELEASE) et revoit son équipement.
Échos d'attaque
Le client renvoyait CMSG_ATTACKSWING après que la cible eut changé d'état (passage du tir à la mêlée, monstre mort) : la comparaison avec la cible courante échouait. Le cerveau mémorise maintenant ses six dernières cibles (accès atomique, le paquet étant traité dans le thread de carte) et ignore les attaques client visant l'une d'elles.