diff options
Diffstat (limited to 'src/server/scripts')
27 files changed, 48 insertions, 83 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index 1992235e257..1419a5b3b74 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -900,7 +900,7 @@ public: Creature* passenger = NULL; Trinity::AllCreaturesOfEntryInRange check(handler->GetSession()->GetPlayer(), entry, 20.0f); Trinity::CreatureSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(handler->GetSession()->GetPlayer(), passenger, check); - handler->GetSession()->GetPlayer()->VisitNearbyObject(30.0f, searcher); + Cell::VisitAllObjects(handler->GetSession()->GetPlayer(), searcher, 30.0f); if (!passenger || passenger == target) return false; passenger->EnterVehicle(target, seatId); diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 470119122fb..3a57c4ccd69 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1985,7 +1985,7 @@ public: Trinity::RespawnDo u_do; Trinity::WorldObjectWorker<Trinity::RespawnDo> worker(player, u_do); - player->VisitNearbyGridObject(player->GetGridActivationRange(), worker); + Cell::VisitGridObjects(player, worker, player->GetGridActivationRange()); return true; } diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp index f478cc6aa5e..c56114f0ebd 100644 --- a/src/server/scripts/Commands/cs_mmaps.cpp +++ b/src/server/scripts/Commands/cs_mmaps.cpp @@ -261,18 +261,11 @@ public: float radius = 40.0f; WorldObject* object = handler->GetSession()->GetPlayer(); - CellCoord pair(Trinity::ComputeCellCoord(object->GetPositionX(), object->GetPositionY())); - Cell cell(pair); - cell.SetNoCreate(); - + // Get Creatures std::list<Creature*> creatureList; - Trinity::AnyUnitInObjectRangeCheck go_check(object, radius); Trinity::CreatureListSearcher<Trinity::AnyUnitInObjectRangeCheck> go_search(object, creatureList, go_check); - TypeContainerVisitor<Trinity::CreatureListSearcher<Trinity::AnyUnitInObjectRangeCheck>, GridTypeMapContainer> go_visit(go_search); - - // Get Creatures - cell.Visit(pair, go_visit, *(object->GetMap()), *object, radius); + Cell::VisitGridObjects(object, go_search, radius); if (!creatureList.empty()) { diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index 53569bdce2a..6eaecffa2bb 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -485,14 +485,9 @@ public: float x, y, z; me->GetPosition(x, y, z); - CellCoord pair(Trinity::ComputeCellCoord(x, y)); - Cell cell(pair); - cell.SetNoCreate(); - Trinity::AllCreaturesOfEntryInRange check(me, entry, 100); Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(me, templist, check); - TypeContainerVisitor<Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange>, GridTypeMapContainer> cSearcher(searcher); - cell.Visit(pair, cSearcher, *(me->GetMap()), *me, me->GetGridActivationRange()); + Cell::VisitGridObjects(me, searcher, me->GetGridActivationRange()); for (std::list<Creature*>::const_iterator i = templist.begin(); i != templist.end(); ++i) { 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<Creature*> creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid> creature_searcher(me, creatures, creature_check); - - TypeContainerVisitor <Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid>, 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<Trinity::RespawnDo> worker(me, u_do); - TypeContainerVisitor<Trinity::WorldObjectWorker<Trinity::RespawnDo>, 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<Creature*> creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid> creature_searcher(me, creatures, creature_check); - TypeContainerVisitor - <Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid>, - 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<Creature*> creatures; Trinity::AllFriendlyCreaturesInGrid creature_check(me); Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid> creature_searcher(me, creatures, creature_check); - TypeContainerVisitor - <Trinity::CreatureListSearcher<Trinity::AllFriendlyCreaturesInGrid>, - 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<TrashRespawnWorker> 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<Creature*> eggs; MoltenEggCheck check(me); Trinity::CreatureListSearcher<MoltenEggCheck> 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<Trinity::GameObjectInRangeCheck> 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<GameObject*> nearFloorList; Trinity::GameObjectInRangeCheck check(floorEruption->GetPositionX(), floorEruption->GetPositionY(), floorEruption->GetPositionZ(), 15); Trinity::GameObjectListSearcher<Trinity::GameObjectInRangeCheck> 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<GameObject*>::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<WorldObject*> ClusterList; Trinity::AllWorldObjectsInRange objects(me, 50.0f); Trinity::WorldObjectListSearcher<Trinity::AllWorldObjectsInRange> searcher(me, ClusterList, objects); - me->VisitNearbyObject(50.0f, searcher); + Cell::VisitAllObjects(me, searcher, 50.0f); for (std::list<WorldObject*>::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<Player*> players; Trinity::AnyPlayerInObjectRangeCheck checker(me, radius); Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, players, checker); - me->VisitNearbyWorldObject(radius, searcher); + Cell::VisitWorldObjects(me, searcher, radius); for (std::list<Player*>::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<Trinity::AllCreaturesOfEntryInRange> searcher(me, sironas, check); - me->VisitNearbyObject(SIZE_OF_GRIDS, searcher); + Cell::VisitAllObjects(me, searcher, SIZE_OF_GRIDS); if (sironas) { diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index d6ff08f3b1d..71487b5e048 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -396,7 +396,7 @@ public: std::list<Creature*> fireCyclonesList; Trinity::AllCreaturesOfEntryInRange checker(me, NPC_FIRE_CYCLONE, 200.0f); Trinity::CreatureListSearcher<Trinity::AllCreaturesOfEntryInRange> searcher(me, fireCyclonesList, checker); - me->VisitNearbyObject(200.0f, searcher); + Cell::VisitAllObjects(me, searcher, 200.0f); if (fireCyclonesList.empty()) return; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 8981afc8bbe..7dadf497e10 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -127,7 +127,7 @@ class OrbsDespawner : public BasicEvent bool Execute(uint64 /*currTime*/, uint32 /*diff*/) override { Trinity::CreatureWorker<OrbsDespawner> worker(_creature, *this); - _creature->VisitNearbyGridObject(5000.0f, worker); + Cell::VisitGridObjects(_creature, worker, SIZE_OF_GRIDS); return true; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index e1afee40ccb..94009dd7c04 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -1466,7 +1466,7 @@ struct npc_gunship_boarding_addAI : public gunship_npc_AI std::list<Player*> players; Trinity::UnitAuraCheck check(true, Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_ON_ORGRIMS_HAMMER_DECK : SPELL_ON_SKYBREAKER_DECK); Trinity::PlayerListSearcher<Trinity::UnitAuraCheck> searcher(me, players, check); - me->VisitNearbyWorldObject(200.0f, searcher); + Cell::VisitWorldObjects(me, searcher, 200.0f); players.remove_if([this](Player* player) { @@ -1530,7 +1530,7 @@ struct npc_gunship_boarding_addAI : public gunship_npc_AI std::list<Player*> players; Trinity::UnitAuraCheck check(true, Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_ON_ORGRIMS_HAMMER_DECK : SPELL_ON_SKYBREAKER_DECK); Trinity::PlayerListSearcher<Trinity::UnitAuraCheck> searcher(me, players, check); - me->VisitNearbyWorldObject(200.0f, searcher); + Cell::VisitWorldObjects(me, searcher,200.0f ); players.remove_if([this](Player* player) { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 2449a14ece8..95e42ab8569 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -516,7 +516,7 @@ class boss_the_lich_king : public CreatureScript // Reset The Frozen Throne gameobjects FrozenThroneResetWorker reset; Trinity::GameObjectWorker<FrozenThroneResetWorker> worker(me, reset); - me->VisitNearbyGridObject(333.0f, worker); + Cell::VisitGridObjects(me, worker, 333.0f); // Reset any light override me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, 0, 5000); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index f23adcb51e9..3ac7e714f36 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -222,7 +222,7 @@ class ValithriaDespawner : public BasicEvent bool Execute(uint64 /*currTime*/, uint32 /*diff*/) override { Trinity::CreatureWorker<ValithriaDespawner> worker(_creature, *this); - _creature->VisitNearbyGridObject(333.0f, worker); + Cell::VisitGridObjects(_creature, worker, 333.0f); return true; } @@ -719,7 +719,7 @@ class npc_risen_archmage : public CreatureScript std::list<Creature*> archmages; RisenArchmageCheck check; Trinity::CreatureListSearcher<RisenArchmageCheck> searcher(me, archmages, check); - me->VisitNearbyGridObject(100.0f, searcher); + Cell::VisitGridObjects(me, searcher, 100.0f); for (std::list<Creature*>::iterator itr = archmages.begin(); itr != archmages.end(); ++itr) (*itr)->AI()->DoAction(ACTION_ENTER_COMBAT); @@ -1094,7 +1094,7 @@ class npc_dream_cloud : public CreatureScript Player* player = NULL; Trinity::AnyPlayerInObjectRangeCheck check(me, 5.0f); Trinity::PlayerSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, player, check); - me->VisitNearbyWorldObject(7.5f, searcher); + Cell::VisitWorldObjects(me, searcher, 7.5f); _events.ScheduleEvent(player ? EVENT_EXPLODE : EVENT_CHECK_PLAYER, 1000); break; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index e04de227806..04c5fa35875 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -1083,7 +1083,7 @@ class npc_crok_scourgebane : public CreatureScript std::list<Creature*> temp; FrostwingVrykulSearcher check(me, 80.0f); Trinity::CreatureListSearcher<FrostwingVrykulSearcher> searcher(me, temp, check); - me->VisitNearbyGridObject(80.0f, searcher); + Cell::VisitGridObjects(me, searcher, 80.0f); _aliveTrash.clear(); for (std::list<Creature*>::iterator itr = temp.begin(); itr != temp.end(); ++itr) @@ -1110,7 +1110,7 @@ class npc_crok_scourgebane : public CreatureScript Player* player = NULL; Trinity::AnyPlayerInObjectRangeCheck check(me, 60.0f); Trinity::PlayerSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, player, check); - me->VisitNearbyWorldObject(60.0f, searcher); + Cell::VisitWorldObjects(me, searcher, 60.0f); // wipe if (!player) { @@ -1119,7 +1119,7 @@ class npc_crok_scourgebane : public CreatureScript { FrostwingGauntletRespawner respawner; Trinity::CreatureWorker<FrostwingGauntletRespawner> worker(me, respawner); - me->VisitNearbyGridObject(333.0f, worker); + Cell::VisitGridObjects(me, worker, 333.0f); Talk(SAY_CROK_DEATH); } return; @@ -1424,7 +1424,7 @@ class npc_captain_arnath : public CreatureScript Creature* target = NULL; Trinity::MostHPMissingInRange u_check(me, 60.0f, 0); Trinity::CreatureLastSearcher<Trinity::MostHPMissingInRange> searcher(me, target, u_check); - me->VisitNearbyGridObject(60.0f, searcher); + Cell::VisitGridObjects(me, searcher, 60.0f); return target; } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index c3ba553af5d..ab9b636f153 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -1750,7 +1750,7 @@ class spell_vehicle_throw_passenger : public SpellScriptLoader std::list<WorldObject*> targetList; Trinity::WorldObjectSpellAreaTargetCheck check(99, GetExplTargetDest(), GetCaster(), GetCaster(), GetSpellInfo(), TARGET_CHECK_DEFAULT, NULL); Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> searcher(GetCaster(), targetList, check); - GetCaster()->GetMap()->VisitAll(GetCaster()->m_positionX, GetCaster()->m_positionY, 99, searcher); + Cell::VisitAllObjects(GetCaster(), searcher, 99.0f); float minDist = 99 * 99; Unit* target = NULL; for (std::list<WorldObject*>::iterator itr = targetList.begin(); itr != targetList.end(); ++itr) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 5ffa4508eb6..9e495bd6d08 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -520,7 +520,7 @@ class boss_hodir : public CreatureScript std::list<Unit*> TargetList; Trinity::AnyUnfriendlyUnitInObjectRangeCheck checker(me, me, 100.0f); Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, TargetList, checker); - me->VisitNearbyObject(100.0f, searcher); + Cell::VisitAllObjects(me, searcher, 100.0f); for (std::list<Unit*>::iterator itr = TargetList.begin(); itr != TargetList.end(); ++itr) { Unit* target = *itr; @@ -694,7 +694,7 @@ class npc_hodir_priest : public CreatureScript std::list<Unit*> TargetList; Trinity::AnyFriendlyUnitInObjectRangeCheck checker(me, me, 30.0f); Trinity::UnitListSearcher<Trinity::AnyFriendlyUnitInObjectRangeCheck> searcher(me, TargetList, checker); - me->VisitNearbyObject(30.0f, searcher); + Cell::VisitAllObjects(me, searcher, 30.0f); for (std::list<Unit*>::iterator itr = TargetList.begin(); itr != TargetList.end(); ++itr) if ((*itr)->HasAura(SPELL_FREEZE)) DoCast(*itr, SPELL_DISPEL_MAGIC, true); diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 7dc23670a13..84e2635d8a9 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -573,7 +573,7 @@ class npc_simon_bunny : public CreatureScript std::list<WorldObject*> ClusterList; Trinity::AllWorldObjectsInRange objects(me, searchDistance); Trinity::WorldObjectListSearcher<Trinity::AllWorldObjectsInRange> searcher(me, ClusterList, objects); - me->VisitNearbyObject(searchDistance, searcher); + Cell::VisitAllObjects(me, searcher, searchDistance); for (std::list<WorldObject*>::const_iterator i = ClusterList.begin(); i != ClusterList.end(); ++i) { diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp index 8ddcaa96479..a17b9fd8b59 100644 --- a/src/server/scripts/Pet/pet_dk.cpp +++ b/src/server/scripts/Pet/pet_dk.cpp @@ -56,7 +56,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript std::list<Unit*> targets; Trinity::AnyUnfriendlyUnitInObjectRangeCheck u_check(me, me, 30.0f); Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, targets, u_check); - me->VisitNearbyObject(30.0f, searcher); + Cell::VisitAllObjects(me, searcher, 30.0f); for (std::list<Unit*>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) if ((*iter)->HasAura(SPELL_DK_SUMMON_GARGOYLE_1, ownerGuid)) { diff --git a/src/server/scripts/Pet/pet_mage.cpp b/src/server/scripts/Pet/pet_mage.cpp index 674edf47deb..ef1eb2a356e 100644 --- a/src/server/scripts/Pet/pet_mage.cpp +++ b/src/server/scripts/Pet/pet_mage.cpp @@ -60,7 +60,7 @@ class npc_pet_mage_mirror_image : public CreatureScript std::list<Unit*> targets; Trinity::AnyUnfriendlyUnitInObjectRangeCheck u_check(me, me, 30.0f); Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, targets, u_check); - me->VisitNearbyObject(40.0f, searcher); + Cell::VisitAllObjects(me, searcher, 40.0f); Unit* highestThreatUnit = nullptr; float highestThreat = 0.0f; @@ -122,7 +122,7 @@ class npc_pet_mage_mirror_image : public CreatureScript std::list<Unit*> targets; Trinity::AnyUnfriendlyUnitInObjectRangeCheck u_check(me, me, 30.0f); Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, targets, u_check); - me->VisitNearbyObject(40.0f, searcher); + Cell::VisitAllObjects(me, searcher, 40.0f); for (std::list<Unit*>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) { diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 9d23f016a76..62408425efa 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -744,7 +744,9 @@ class spell_gen_cannibalize : public SpellScriptLoader // search for nearby enemy corpse in range Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY); Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check); - caster->GetMap()->VisitFirstFound(caster->m_positionX, caster->m_positionY, max_range, searcher); + Cell::VisitWorldObjects(caster, searcher, max_range); + if (!result) + Cell::VisitGridObjects(caster, searcher, max_range); if (!result) return SPELL_FAILED_NO_EDIBLE_CORPSES; return SPELL_CAST_OK; diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp index 59b4e11d6c2..9ce05057f37 100644 --- a/src/server/scripts/Spells/spell_holiday.cpp +++ b/src/server/scripts/Spells/spell_holiday.cpp @@ -81,7 +81,7 @@ class spell_love_is_in_the_air_romantic_picnic : public SpellScriptLoader std::list<Player*> playerList; Trinity::AnyPlayerInObjectRangeCheck checker(target, INTERACTION_DISTANCE*2); Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(target, playerList, checker); - target->VisitNearbyWorldObject(INTERACTION_DISTANCE*2, searcher); + Cell::VisitWorldObjects(target, searcher, INTERACTION_DISTANCE * 2); for (std::list<Player*>::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr) { if ((*itr) != target && (*itr)->HasAura(GetId())) // && (*itr)->GetStandState() == UNIT_STAND_STATE_SIT) diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp index e3684578dbd..c26b0b47a59 100644 --- a/src/server/scripts/Spells/spell_hunter.cpp +++ b/src/server/scripts/Spells/spell_hunter.cpp @@ -507,7 +507,9 @@ class spell_hun_pet_carrion_feeder : public SpellScriptLoader // search for nearby enemy corpse in range Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY); Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check); - caster->GetMap()->VisitFirstFound(caster->m_positionX, caster->m_positionY, max_range, searcher); + Cell::VisitWorldObjects(caster, searcher, max_range); + if (!result) + Cell::VisitGridObjects(caster, searcher, max_range); if (!result) return SPELL_FAILED_NO_EDIBLE_CORPSES; return SPELL_CAST_OK; diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index a68c2bab31b..2959e50992e 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -1594,12 +1594,12 @@ class spell_q11010_q11102_q11023_choose_loc : public SpellScriptLoader std::list<Player*> playerList; Trinity::AnyPlayerInObjectRangeCheck checker(caster, 65.0f); Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(caster, playerList, checker); - caster->VisitNearbyWorldObject(65.0f, searcher); - for (std::list<Player*>::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr) + Cell::VisitWorldObjects(caster, searcher, 65.0f); + for (std::list<Player*>::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr) // Check if found player target is on fly mount or using flying form - if ((*itr)->HasAuraType(SPELL_AURA_FLY) || (*itr)->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED)) - // Summom Fel Cannon (bunny version) at found player - caster->SummonCreature(NPC_FEL_CANNON2, (*itr)->GetPositionX(), (*itr)->GetPositionY(), (*itr)->GetPositionZ()); + if ((*itr)->HasAuraType(SPELL_AURA_FLY) || (*itr)->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED)) + // Summom Fel Cannon (bunny version) at found player + caster->SummonCreature(NPC_FEL_CANNON2, (*itr)->GetPositionX(), (*itr)->GetPositionY(), (*itr)->GetPositionZ()); } void Register() override diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 6bfd65c6fe2..c568929c28f 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -561,7 +561,7 @@ public: std::list<Player*> players; Trinity::UnitAuraCheck check(true, SPELL_RIBBON_DANCE_COSMETIC); Trinity::PlayerListSearcher<Trinity::UnitAuraCheck> searcher(me, players, check); - me->VisitNearbyWorldObject(10.0f, searcher); + Cell::VisitWorldObjects(me, searcher, 10.0f); return players.empty(); } |
