Sagesse de Mari : « Lessiver » ne balayait pas, le parametre force manquait
Signale en jeu apres le correctif de ligne de vue : le sort restait fige
au lieu de balayer la salle.
Unit::SetFacingTo abandonne en silence quand la creature nest pas a
larret :
if (!force && !IsStopped()) return;
Or la phase 2 lance MovePoint vers la position de depart juste avant :
elle EST en deplacement, la rotation ne partait donc jamais. Et le
SetOrientation qui precede ne met a jour que la valeur serveur, sans
prevenir les clients.
Seuls les deux appels de la phase 2 recoivent force = true. Le troisieme,
celui de lHydrolance en phase 1, est laisse tel quel : elle est a larret
a ce moment-la et il fonctionne.
Sondes retirees : la sonde a montre que la mecanique du combat est saine
— quatre fontaines trouvees, un elementaire invoque a chaque appel
(compteur 0 puis 1, 2, 3) et bouclier retire a foutainCount=4. Le seul
defaut etait la ligne de vue, corrigee au commit precedent. Le blocage
signale par le joueur — « les elementaires sont coinces, on ne peut pas
les buter, du coup le boss garde son bouclier » — sexplique entierement
par la : il ne pouvait frapper personne.
This commit is contained in:
@@ -362,7 +362,17 @@ class boss_wase_mari : public CreatureScript
|
||||
|
||||
//me->UpdatePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), facing);
|
||||
me->SetOrientation(facing);
|
||||
me->SetFacingTo(facing);
|
||||
// SylvaniaCore : le parametre `force` manquait.
|
||||
// Unit::SetFacingTo abandonne en silence quand la
|
||||
// creature n'est pas a l'arret :
|
||||
// if (!force && !IsStopped()) return;
|
||||
// Or on vient de lancer MovePoint vers la position de
|
||||
// depart : elle EST en deplacement, la rotation ne
|
||||
// partait donc jamais. Et le SetOrientation qui precede
|
||||
// ne met a jour que la valeur serveur, sans prevenir les
|
||||
// clients. Resultat signale en jeu : « Lessiver » restait
|
||||
// fige au lieu de balayer la salle.
|
||||
me->SetFacingTo(facing, true);
|
||||
me->CastSpell(me, SPELL_WASH_AWAY, true);
|
||||
events.ScheduleEvent(EVENT_WASH_AWAY, TIMER_WASH_AWAY);
|
||||
break;
|
||||
@@ -380,7 +390,17 @@ class boss_wase_mari : public CreatureScript
|
||||
facing -= float(M_PI) *2;
|
||||
|
||||
me->SetOrientation(facing);
|
||||
me->SetFacingTo(facing);
|
||||
// SylvaniaCore : le parametre `force` manquait.
|
||||
// Unit::SetFacingTo abandonne en silence quand la
|
||||
// creature n'est pas a l'arret :
|
||||
// if (!force && !IsStopped()) return;
|
||||
// Or on vient de lancer MovePoint vers la position de
|
||||
// depart : elle EST en deplacement, la rotation ne
|
||||
// partait donc jamais. Et le SetOrientation qui precede
|
||||
// ne met a jour que la valeur serveur, sans prevenir les
|
||||
// clients. Resultat signale en jeu : « Lessiver » restait
|
||||
// fige au lieu de balayer la salle.
|
||||
me->SetFacingTo(facing, true);
|
||||
|
||||
events.ScheduleEvent(EVENT_WASH_AWAY, TIMER_WASH_AWAY);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user