Tombe de Sargeras : module complet 9/9 boss porte depuis DestinyCoreNew (mudyx)

AVANT : 4 boss etaient des coquilles vides de 28-33 lignes (Hote affige, Jeune fille
de vigilance, Sassz ine, KIL JAEDEN le boss final) et AUCUN boss n etait binde en DB
(ScriptName vides sauf Goroth) -> le raid entier etait decoratif malgre 978 spawns.

APRES : module lignee uwow complet (12 161 lignes, 12 fichiers) transcrit vers nos
APIs en 7 passes de compatibilite (~880 erreurs de compilation resorbees) :
instance script complet (portes, frames, graveyards), 9 encounters scriptes,
trash/evenements, 74 bindings de sorts, ~60 ScriptName de creatures, ATs.

Ajouts CORE reutilisables (compat DestinyCoreNew, prepareront le futur port Antorus) :
- UnitAI : DoCastTopAggro, GetObjectData, hooks no-op (SpellFinishCast,
  OnApplyOrRemoveAura, OnRemoveAuraTarget, OnAreaTriggerDespawn/Cast, OnInterruptCast,
  IsDisableGenerateLoot, GetModifyedData)
- CreatureAI : Talk(guid), Talk(liste aleatoire), ZoneTalk
- ScriptedAI : CheckHomeDistToEvade + alias IsHeroicRaid/IsMythicRaid/IsLfrRaid/
  IsNormalRaid/IsHeroicPlusRaid ; SummonList::GetCreature
- Unit : GetAnyOwner, CastSpellDelay x2 ; Creature : SetReactState(delay), StopAttack
- Map : ApplyOnEveryPlayer, IsHeroicPlusRaid ; GameObject : AddDelayedEvent (m_Events)
- Position : SimplePosXYRelocationByAngle, GenerateNonDuplicatePoints, IsLinesCross
  (reecrit sans G3D::LineSegment2D, absent de notre g3dlite)
- MotionMaster : MoveSmoothFlyPath x2 ; AreaTrigger : GetRadius/SetSphereScale(no-op)/
  isMoving/Despawn/GetProgressCompat ; AreaTriggerAI : IsValidTarget/CalculateSpline

Degradations douces assumees (documentees en commentaire dans le code) :
filtrage de cibles des ATs (IsValidTarget jamais appele par notre moteur), scale
dynamique des zones de Kil jaeden, conversations cinematiques, distribution de loot
personnelle, hooks d interruption/notification d aura, quelques approximations de
roles (SoloQ->ROLE_TANK) et de type de degats.

SQL : sql/sylvania/tomb_of_sargeras_bindings.sql (applique en DB).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
SylvaniaCore deploy
2026-08-01 22:21:27 +00:00
parent b4b14b591c
commit 69dbb2e657
43 changed files with 12835 additions and 3398 deletions
+25
View File
@@ -942,3 +942,28 @@ void MotionMaster::DelayedDelete(MovementGenerator* curr)
_expireList = new ExpireList();
_expireList->push_back(curr);
}
void MotionMaster::MoveSmoothFlyPath(uint32 pointId, G3D::Vector3 const* pathPoints, size_t pathSize)
{
Movement::MoveSplineInit init(_owner);
init.SetSmooth();
init.SetFly();
init.SetUncompressed();
Movement::PointsArray path(pathPoints, pathPoints + pathSize);
init.MovebyPath(path);
init.Launch();
Mutate(new EffectMovementGenerator(pointId), MOTION_SLOT_ACTIVE);
}
void MotionMaster::MoveSmoothFlyPath(uint32 pointId, Position const position, float flightSpeed /*= 0.0f*/)
{
Movement::MoveSplineInit init(_owner);
init.SetSmooth();
init.SetFly();
init.SetUncompressed();
init.MoveTo(position.m_positionX, position.m_positionY, position.m_positionZ, false, false);
if (flightSpeed > 0.0f)
init.SetVelocity(flightSpeed);
init.Launch();
Mutate(new EffectMovementGenerator(pointId), MOTION_SLOT_ACTIVE);
}