mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 19:06:49 +01:00
Core/Misc: waypoint movement
- Creature: update current waypoint to store nodeId and pathId
- MotionMaster: change variable type on GetMotionSlotType and GetMotionSlot to keep consistency and prevent errors (ASSERT is now no longer needed)
- UnitAI: add new waypoint hooks WaypointPathStarted and WaypointPathEnded
- SAI: handle WAYPOINT related events if creature is no escorting
* SMART_EVENT_WAYPOINT_RESUMED still not implemented for no escorting
TODO: the new hooks can save, now duplicated, logic on EscortAI and SAI
closes #20777
updates #20310
updates 21bd52cb99
This commit is contained in:
@@ -2135,9 +2135,9 @@ public:
|
||||
float x, y, z;
|
||||
motionMaster->GetDestination(x, y, z);
|
||||
|
||||
for (uint8 i = 0; i < MAX_MOTION_SLOT; ++i)
|
||||
for (uint8 itr = 0; itr < MAX_MOTION_SLOT; ++itr)
|
||||
{
|
||||
MovementGenerator* movementGenerator = motionMaster->GetMotionSlot(i);
|
||||
MovementGenerator* movementGenerator = motionMaster->GetMotionSlot(MovementSlot(itr));
|
||||
if (!movementGenerator)
|
||||
{
|
||||
handler->SendSysMessage("Empty");
|
||||
|
||||
@@ -260,7 +260,7 @@ public:
|
||||
stmt->setUInt32(0, guildLow);
|
||||
WorldDatabase.Execute(stmt);
|
||||
|
||||
target->UpdateWaypointID(0);
|
||||
target->UpdateCurrentWaypointInfo(0, 0);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_MOVEMENT_TYPE);
|
||||
stmt->setUInt8(0, uint8(IDLE_MOTION_TYPE));
|
||||
|
||||
Reference in New Issue
Block a user