Escalier du Destin : traverser la bataille sans y mourir
À la sortie de la Porte des ténèbres, la bataille scriptée de la Légion a tué 9 044 fois les joueurs autonomes pendant la pause. Les personnages repèrent désormais une bataille entre monstres et PNJ, la contournent, la traversent en selle, n'y choisissent aucune cible et n'y restent pas. Au serveur de test : plus aucune mort dans la bataille, au lieu de 6.
- Commit
- d086ec2
- Build
- Build réussi · Cible worldserver
Le constat
À la sortie de la Porte des ténèbres, côté Outreterre, une bataille scriptée oppose en permanence la Légion aux défenseurs de l'escalier du Destin. Pendant la pause, du 17 au 30 octobre, elle a fait 9 044 morts parmi les joueurs autonomes, chez 1 461 personnages différents, surtout de niveau 60 à 70 :
- un Pit Commander se poste au milieu de la place, en bas de l'escalier, et fait tomber des infernaux sur deux points voisins toutes les 36 à 53 secondes ;
- des Wrath Masters et leurs soldats descendent jusqu'au pied de l'escalier ;
- les sorts de zone des défenseurs touchent aussi les personnages de l'autre faction ;
- le cimetière est en pleine bataille.
Ces démons sont invoqués, ou loin de leur point d'apparition. Le module, qui juge les camps d'après les points d'apparition connus, ne les voyait pas. Les personnages traversaient la place à pied, s'y reposaient, attaquaient parfois un élite d'eux-mêmes, et ressuscitaient au même endroit.
Les corrections
- Repérage : une bataille, c'est au moins trois monstres hostiles, dont un élite, engagés contre au moins deux PNJ. Une fois repérée, tout le serveur la connaît.
- Chemins : le trajet contourne la bataille et ses combattants, et se recalcule dès que l'un d'eux s'approche.
- Traversée : le personnage monte dès 30 m de trajet et reste en selle face aux élites de la bataille.
- Cibles : il ne choisit jamais un combattant engagé contre un PNJ.
- Repos : ni repos, ni bandage, ni attente dans la zone. Il en sort d'abord.
- Mort : il ressuscite hors de la zone, puis s'éloigne avant de se reposer. Un élite de la bataille rend le combat perdu d'avance, et la fuite évite la zone.
- Itinéraires : la zone compte comme un danger dans le calcul des voyages.
La règle est générale : toute bataille entre monstres et PNJ en profite, et chaque règle peut être coupée par un réglage.
Vérifié au serveur de test
Deux essais en parallèle de 30 minutes, avec les mêmes 15 personnages de niveau 61 à 80, autour de l'escalier ou envoyés au travers :
- morts dans la bataille : 6 → 0 ;
- morts en tout : 10 → 6 ;
- voyages imposés à travers la bataille : 8 sur 8 arrivés, dans les deux versions ;
- monstres tués : 38 → 44 ;
- aucune erreur, et la même consommation de processeur.
Déploiement
La nouvelle version du module est installée sur le serveur. Les joueurs autonomes restent à l'arrêt : ces corrections seront en place pour la reprise.