From 9299e9bde087af7e5d777d5a55a3b79d2b63c48e Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 13 May 2017 19:37:33 +0200 Subject: Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50790acde8928aa0f3dc4a9c096b4a8c --- .../CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp | 35 +++------------------- .../scripts/Kalimdor/Firelands/boss_alysrazor.cpp | 4 +-- .../scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp | 2 +- .../Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp | 2 +- .../Kalimdor/RazorfenDowns/razorfen_downs.cpp | 2 +- .../scripts/Kalimdor/zone_azuremyst_isle.cpp | 2 +- .../scripts/Kalimdor/zone_bloodmyst_isle.cpp | 2 +- 7 files changed, 11 insertions(+), 38 deletions(-) (limited to 'src/server/scripts/Kalimdor') diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index 04bdd84cb54..9a9f0103e97 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -906,17 +906,11 @@ void hyjalAI::JustDied(Unit* /*killer*/) void hyjalAI::HideNearPos(float x, float y) { - CellCoord pair(Trinity::ComputeCellCoord(x, y)); - Cell cell(pair); - cell.SetNoCreate(); - // First get all creatures. std::list creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher creature_searcher(me, creatures, creature_check); - - TypeContainerVisitor , GridTypeMapContainer> creature_visitor(creature_searcher); - cell.Visit(pair, creature_visitor, *(me->GetMap()), *me, me->GetGridActivationRange()); + Cell::VisitGridObjects(me, creature_searcher, me->GetGridActivationRange()); if (!creatures.empty()) { @@ -930,14 +924,9 @@ void hyjalAI::HideNearPos(float x, float y) void hyjalAI::RespawnNearPos(float x, float y) { - CellCoord p(Trinity::ComputeCellCoord(x, y)); - Cell cell(p); - cell.SetNoCreate(); - Trinity::RespawnDo u_do; Trinity::WorldObjectWorker worker(me, u_do); - TypeContainerVisitor, GridTypeMapContainer > obj_worker(worker); - cell.Visit(p, obj_worker, *me->GetMap(), *me, me->GetGridActivationRange()); + Cell::VisitGridObjects(me, worker, me->GetGridActivationRange()); } void hyjalAI::WaypointReached(uint32 waypointId) @@ -961,19 +950,11 @@ void hyjalAI::WaypointReached(uint32 waypointId) } //do some talking //all alive guards walk near here - CellCoord pair(Trinity::ComputeCellCoord(me->GetPositionX(), me->GetPositionY())); - Cell cell(pair); - cell.SetNoCreate(); - // First get all creatures. std::list creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher creature_searcher(me, creatures, creature_check); - TypeContainerVisitor - , - GridTypeMapContainer> creature_visitor(creature_searcher); - - cell.Visit(pair, creature_visitor, *(me->GetMap()), *me, me->GetGridActivationRange()); + Cell::VisitGridObjects(me, creature_searcher, me->GetGridActivationRange()); if (!creatures.empty()) { @@ -1002,18 +983,10 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff) { if (TeleportTimer <= diff) { - CellCoord pair(Trinity::ComputeCellCoord(me->GetPositionX(), me->GetPositionY())); - Cell cell(pair); - cell.SetNoCreate(); - std::list creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher creature_searcher(me, creatures, creature_check); - TypeContainerVisitor - , - GridTypeMapContainer> creature_visitor(creature_searcher); - - cell.Visit(pair, creature_visitor, *(me->GetMap()), *me, me->GetGridActivationRange()); + Cell::VisitGridObjects(me, creature_searcher, me->GetGridActivationRange()); if (!creatures.empty()) { diff --git a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp index 3910789805a..d6933f03032 100644 --- a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp +++ b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp @@ -163,7 +163,7 @@ static void AlysrazorTrashEvaded(Creature* creature) { TrashRespawnWorker check; Trinity::CreatureWorker worker(creature, check); - creature->VisitNearbyGridObject(SIZE_OF_GRIDS, worker); + Cell::VisitGridObjects(creature, worker, SIZE_OF_GRIDS); } class npc_harbinger_of_flame : public CreatureScript @@ -461,7 +461,7 @@ class npc_egg_pile : public CreatureScript std::list eggs; MoltenEggCheck check(me); Trinity::CreatureListSearcher searcher(me, eggs, check); - me->VisitNearbyGridObject(20.0f, searcher); + Cell::VisitGridObjects(me, searcher, 20.0f); if (!eggs.empty()) { Creature* egg = Trinity::Containers::SelectRandomContainerElement(eggs); diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index 6f6660219b1..1da2fcb45c3 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -356,7 +356,7 @@ public: GameObject* Floor = NULL; Trinity::GameObjectInRangeCheck check(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 15); Trinity::GameObjectLastSearcher searcher(me, Floor, check); - me->VisitNearbyGridObject(30, searcher); + Cell::VisitGridObjects(me, searcher, 30.0f); if (Floor) instance->SetGuidData(DATA_FLOOR_ERUPTION_GUID, Floor->GetGUID()); events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000); diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp index 7845ce26f89..a0dfec7d722 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp @@ -118,7 +118,7 @@ public: std::list nearFloorList; Trinity::GameObjectInRangeCheck check(floorEruption->GetPositionX(), floorEruption->GetPositionY(), floorEruption->GetPositionZ(), 15); Trinity::GameObjectListSearcher searcher(floorEruption, nearFloorList, check); - floorEruption->VisitNearbyGridObject(999, searcher); + Cell::VisitGridObjects(floorEruption, searcher, SIZE_OF_GRIDS); //remove all that are not present on FloorEruptionGUID[1] and update treeLen on each GUID for (std::list::const_iterator itr = nearFloorList.begin(); itr != nearFloorList.end(); ++itr) { diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 0c36843b6f2..24cb88a071c 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -208,7 +208,7 @@ public: std::list ClusterList; Trinity::AllWorldObjectsInRange objects(me, 50.0f); Trinity::WorldObjectListSearcher searcher(me, ClusterList, objects); - me->VisitNearbyObject(50.0f, searcher); + Cell::VisitAllObjects(me, searcher, 50.0f); for (std::list::const_iterator itr = ClusterList.begin(); itr != ClusterList.end(); ++itr) { if (Player* player = (*itr)->ToPlayer()) diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index 244d084f218..0a7695eaf13 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -573,7 +573,7 @@ public: std::list players; Trinity::AnyPlayerInObjectRangeCheck checker(me, radius); Trinity::PlayerListSearcher searcher(me, players, checker); - me->VisitNearbyWorldObject(radius, searcher); + Cell::VisitWorldObjects(me, searcher, radius); for (std::list::const_iterator itr = players.begin(); itr != players.end(); ++itr) if ((*itr)->GetQuestStatus(QUEST_TREES_COMPANY) == QUEST_STATUS_INCOMPLETE && (*itr)->HasAura(SPELL_TREE_DISGUISE)) diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 09770b58d65..04da6aa74aa 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -743,7 +743,7 @@ public: Creature* sironas = NULL; Trinity::AllCreaturesOfEntryInRange check(me, NPC_SIRONAS, SIZE_OF_GRIDS); Trinity::CreatureSearcher searcher(me, sironas, check); - me->VisitNearbyObject(SIZE_OF_GRIDS, searcher); + Cell::VisitAllObjects(me, searcher, SIZE_OF_GRIDS); if (sironas) { -- cgit v1.2.3