diff --git a/sql/updates/world/3.3.5/2025_12_23_00_world_2023_04_10_00_world_script_waypoints.sql b/sql/updates/world/3.3.5/2025_12_23_00_world_2023_04_10_00_world_script_waypoints.sql index d349060a860..ce560a82c1e 100644 --- a/sql/updates/world/3.3.5/2025_12_23_00_world_2023_04_10_00_world_script_waypoints.sql +++ b/sql/updates/world/3.3.5/2025_12_23_00_world_2023_04_10_00_world_script_waypoints.sql @@ -94,12 +94,6 @@ SET @PATHID := 138498; UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_WALK WHERE `id`=@PATHID; UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `point` >= 28; --- Wizzlecrank Shredder, zone_the_barrens.cpp -SET @PATHID := 27514; -UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID; -UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_WALK WHERE `id`=@PATHID AND `point` BETWEEN 9 AND 17; -UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `point` >= 18; - -- Brann Bronzebeard, halls_of_stone.cpp SET @PATHID := 224562; UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `point` >= 1; @@ -108,6 +102,10 @@ UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `po SET @PATHID := 145682; UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `point` >= 16; +-- Rin'ji, zone_hinterlands.cpp +SET @PATHID := 62242; +UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=@PATHID AND `point` >= 17; + -- ------------------------------------------------------------------------------------------------ -- Mograine, chapter5.cpp @@ -143,8 +141,5 @@ UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=266962; -- Icefang, zone_storm_peaks.cpp UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=236818; --- Garments of quests, npcs_special.cpp -UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id` IN(99386,99418,99426,99434,99442); - -- Taretha, old_hillsbrad.cpp UPDATE `waypoint_data` SET `move_type`=@MOVE_TYPE_RUN WHERE `id`=151098; diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp index 33fa4724221..8b1bd70f8dc 100644 --- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp @@ -62,6 +62,8 @@ Position const AmbushMoveTo[] = { 70.886589f, -2874.335449f, 116.675f, 0.0f } }; +static constexpr uint32 PATH_ESCORT_RINJI = 62242; + class npc_rinji : public CreatureScript { public: @@ -140,7 +142,8 @@ public: if (GameObject* go = me->FindNearestGameObject(GO_RINJI_CAGE, INTERACTION_DISTANCE)) go->UseDoorOrButton(); - EscortAI::Start(false, false, player->GetGUID(), quest); + LoadPath(PATH_ESCORT_RINJI); + Start(false, player->GetGUID(), quest); } } @@ -164,7 +167,6 @@ public: case 17: Talk(SAY_RIN_COMPLETE, player); player->GroupEventHappens(QUEST_RINJI_TRAPPED, me); - SetRun(); postEventCount = 1; break; } diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp index 10ab0867d11..12457586ca3 100644 --- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp @@ -319,6 +319,8 @@ enum TyrionSpybot NPC_LORD_GREGOR_LESCOVAR = 1754, }; +static constexpr uint32 PATH_ESCORT_LESCOVAR = 70850; + class npc_tyrion_spybot : public CreatureScript { public: @@ -438,8 +440,12 @@ public: { if (Player* player = GetPlayerForEscort()) { - ENSURE_AI(npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, pLescovar->AI())->Start(false, false, player->GetGUID()); - ENSURE_AI(npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, pLescovar->AI())->SetMaxPlayerDistance(200.0f); + if (EscortAI* ai = CAST_AI(EscortAI, pLescovar->AI())) + { + ai->LoadPath(PATH_ESCORT_LESCOVAR); + ai->Start(false, player->GetGUID()); + ai->SetMaxPlayerDistance(200.0f); + } } } me->DisappearAndDie(); @@ -468,6 +474,8 @@ enum Tyrion NPC_TYRION_SPYBOT = 8856 }; +static constexpr uint32 PATH_ESCORT_TYRION_SPYBOT = 14034; + class npc_tyrion : public CreatureScript { public: @@ -483,8 +491,12 @@ public: { if (Creature* spybot = me->FindNearestCreature(NPC_TYRION_SPYBOT, 5.0f, true)) { - ENSURE_AI(npc_tyrion_spybot::npc_tyrion_spybotAI, spybot->AI())->Start(false, false, player->GetGUID()); - ENSURE_AI(npc_tyrion_spybot::npc_tyrion_spybotAI, spybot->AI())->SetMaxPlayerDistance(200.0f); + if (EscortAI* ai = CAST_AI(EscortAI, spybot->AI())) + { + ai->LoadPath(PATH_ESCORT_TYRION_SPYBOT); + ai->Start(false, player->GetGUID()); + ai->SetMaxPlayerDistance(200.0f); + } } } } diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp index 1e52f46050f..6495784a2bd 100644 --- a/src/server/scripts/Kalimdor/zone_darkshore.cpp +++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp @@ -196,6 +196,8 @@ enum Remtravel NPC_GRAVEL_GEO = 2160 }; +static constexpr uint32 PATH_ESCORT_PROSPECTOR_REMTRAVEL = 23338; + class npc_prospector_remtravel : public CreatureScript { public: @@ -284,7 +286,8 @@ public: { if (quest->GetQuestId() == QUEST_ABSENT_MINDED_PT2) { - Start(false, false, player->GetGUID()); + LoadPath(PATH_ESCORT_PROSPECTOR_REMTRAVEL); + Start(false, player->GetGUID()); me->SetFaction(FACTION_ESCORTEE_A_NEUTRAL_PASSIVE); } } diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp index b58dda79e99..d8018a6fe6b 100644 --- a/src/server/scripts/Kalimdor/zone_moonglade.cpp +++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp @@ -196,7 +196,7 @@ public: AddWaypoint(i, Clintar_spirit_WP[i].X, Clintar_spirit_WP[i].Y, Clintar_spirit_WP[i].Z, Clintar_spirit_WP[i].O, Clintar_spirit_WP[i].waitTime); } PlayerGUID = player->GetGUID(); - Start(true, false, PlayerGUID); + Start(true, player->GetGUID()); me->SetDisplayId(me->GetCreatureTemplate()->Modelid1); me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); } diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 171ce1fe342..cb1c5744779 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -59,6 +59,8 @@ enum Gilthares AREA_MERCHANT_COAST = 391 }; +static constexpr uint32 PATH_ESCORT_GILTHARES = 27722; + class npc_gilthares : public CreatureScript { public: @@ -122,7 +124,8 @@ public: me->SetStandState(UNIT_STAND_STATE_STAND); Talk(SAY_GIL_START, player); - Start(false, false, player->GetGUID(), quest); + LoadPath(PATH_ESCORT_GILTHARES); + Start(false, player->GetGUID(), quest); } } };