Mardum : le point de foyer etait fixe a l origine au lieu de la destination
Signale en jeu : « j ai utilise ma pierre de foyer qui ne m a pas
teleporte, je devais atterrir en foret d Elwynn et il est ecrit vous
renvoie a Fleur-de-l hiver alors que je n ai pas change le lieu ».
La pierre fonctionnait parfaitement : elle renvoyait a Mardum, ou le
joueur se trouvait deja -- d ou l impression qu elle ne faisait rien.
CAUSE, dans spell_mardum_back_to_black_temple :
player->TeleportTo(1468, 4325.46f, -620.53f, -281.40f, 1.517563f);
player->SetHomebind(player->GetWorldLocation(), 7873);
TeleportTo est ASYNCHRONE : le joueur n est pas deplace a la ligne
suivante, si bien que GetWorldLocation() renvoyait encore la position de
MARDUM. Le point de foyer se retrouvait donc fixe la ou le joueur venait
de partir, au lieu du Caveau des Gardiennes (carte 1468) visé.
Constate en base : character_homebind du personnage pointait sur
mapId 1481 (Mardum), zone 6383.
On lie desormais explicitement a la DESTINATION, via une WorldLocation
construite une fois et passee aux deux appels.
Le point de foyer du personnage affecte a ete remis en foret d Elwynn,
avec des coordonnees reprises d un homebind Alliance deja valide dans
notre base plutot qu inventees.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1709,8 +1709,22 @@ class spell_mardum_back_to_black_temple : public SpellScript
|
||||
{
|
||||
player->EquipNewItem(15, 132243, true);
|
||||
player->EquipNewItem(16, 128956, true);
|
||||
player->TeleportTo(1468, 4325.46f, -620.53f, -281.40f, 1.517563f);
|
||||
player->SetHomebind(player->GetWorldLocation(), 7873);
|
||||
// SylvaniaCore : l'ordre etait fautif. TeleportTo est
|
||||
// ASYNCHRONE -- le joueur n'est pas deplace a la ligne
|
||||
// suivante, si bien que GetWorldLocation() renvoyait encore
|
||||
// la position de MARDUM. Le point de foyer se retrouvait
|
||||
// donc fixe la ou le joueur venait de partir, au lieu du
|
||||
// Caveau des Gardiennes.
|
||||
//
|
||||
// Signale en jeu : « j'ai utilise ma pierre de foyer qui ne
|
||||
// m'a pas teleporte, je devais atterrir en foret d'Elwynn ».
|
||||
// La pierre fonctionnait : elle renvoyait a Mardum, ou le
|
||||
// joueur se trouvait deja.
|
||||
//
|
||||
// On lie desormais explicitement a la DESTINATION.
|
||||
WorldLocation const caveau(1468, 4325.46f, -620.53f, -281.40f, 1.517563f);
|
||||
player->TeleportTo(caveau);
|
||||
player->SetHomebind(caveau, 7873);
|
||||
});
|
||||
|
||||
player->GetScheduler().Schedule(Seconds(2), [](TaskContext context)
|
||||
|
||||
Reference in New Issue
Block a user