From d6201e5dbb7fa7ca8b47ffa6c0d30fa38dceada5 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 (cherry picked from commit 9299e9bde087af7e5d777d5a55a3b79d2b63c48e) --- src/server/game/AI/CoreAI/TotemAI.cpp | 2 +- src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 16 +++++----------- src/server/game/AI/SmartScripts/SmartScript.cpp | 11 +++++------ 3 files changed, 11 insertions(+), 18 deletions(-) (limited to 'src/server/game/AI') diff --git a/src/server/game/AI/CoreAI/TotemAI.cpp b/src/server/game/AI/CoreAI/TotemAI.cpp index 34a147c0620..a44c4532e60 100644 --- a/src/server/game/AI/CoreAI/TotemAI.cpp +++ b/src/server/game/AI/CoreAI/TotemAI.cpp @@ -74,7 +74,7 @@ void TotemAI::UpdateAI(uint32 /*diff*/) victim = NULL; Trinity::NearestAttackableUnitInObjectRangeCheck u_check(me, me, max_range); Trinity::UnitLastSearcher checker(me, victim, u_check); - me->VisitNearbyObject(max_range, checker); + Cell::VisitAllObjects(me, checker, max_range); } // If have target diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 34706b6e882..5464b99f8c9 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -330,7 +330,7 @@ Unit* ScriptedAI::DoSelectLowestHpFriendly(float range, uint32 minHPDiff) Unit* unit = nullptr; Trinity::MostHPMissingInRange u_check(me, range, minHPDiff); Trinity::UnitLastSearcher searcher(me, unit, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitAllObjects(me, searcher, range); return unit; } @@ -340,7 +340,7 @@ Unit* ScriptedAI::DoSelectBelowHpPctFriendlyWithEntry(uint32 entry, float range, Unit* unit = nullptr; Trinity::FriendlyBelowHpPctEntryInRange u_check(me, entry, range, minHPDiff, excludeSelf); Trinity::UnitLastSearcher searcher(me, unit, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitAllObjects(me, searcher, range); return unit; } @@ -350,7 +350,7 @@ std::list ScriptedAI::DoFindFriendlyCC(float range) std::list list; Trinity::FriendlyCCedInRange u_check(me, range); Trinity::CreatureListSearcher searcher(me, list, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitAllObjects(me, searcher, range); return list; } @@ -360,7 +360,7 @@ std::list ScriptedAI::DoFindFriendlyMissingBuff(float range, uint32 u std::list list; Trinity::FriendlyMissingBuffInRange u_check(me, range, uiSpellid); Trinity::CreatureListSearcher searcher(me, list, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitAllObjects(me, searcher, range); return list; } @@ -369,15 +369,9 @@ Player* ScriptedAI::GetPlayerAtMinimumRange(float minimumRange) { Player* player = nullptr; - CellCoord pair(Trinity::ComputeCellCoord(me->GetPositionX(), me->GetPositionY())); - Cell cell(pair); - cell.SetNoCreate(); - Trinity::PlayerAtMinimumRangeAway check(me, minimumRange); Trinity::PlayerSearcher searcher(me, player, check); - TypeContainerVisitor, GridTypeMapContainer> visitor(searcher); - - cell.Visit(pair, visitor, *me->GetMap(), *me, minimumRange); + Cell::VisitWorldObjects(me, searcher, minimumRange); return player; } diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 969dc87faba..6dc0bd62256 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2493,7 +2493,7 @@ void SmartScript::GetWorldObjectsInDist(ObjectVector& targets, float dist) const Trinity::AllWorldObjectsInRange u_check(obj, dist); Trinity::WorldObjectListSearcher searcher(obj, targets, u_check); - obj->VisitNearbyObject(dist, searcher); + Cell::VisitAllObjects(obj, searcher, dist); } void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, uint32 var1, bool bvar, const SpellInfo* spell, GameObject* gob) @@ -3356,10 +3356,9 @@ Unit* SmartScript::DoSelectLowestHpFriendly(float range, uint32 MinHPDiff) const return nullptr; Unit* unit = nullptr; - Trinity::MostHPMissingInRange u_check(me, range, MinHPDiff); Trinity::UnitLastSearcher searcher(me, unit, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitGridObjects(me, searcher, range); return unit; } @@ -3370,7 +3369,7 @@ void SmartScript::DoFindFriendlyCC(std::vector& creatures, float rang Trinity::FriendlyCCedInRange u_check(me, range); Trinity::CreatureListSearcher searcher(me, creatures, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitGridObjects(me, searcher, range); } void SmartScript::DoFindFriendlyMissingBuff(std::vector& creatures, float range, uint32 spellid) const @@ -3380,7 +3379,7 @@ void SmartScript::DoFindFriendlyMissingBuff(std::vector& creatures, f Trinity::FriendlyMissingBuffInRange u_check(me, range, spellid); Trinity::CreatureListSearcher searcher(me, creatures, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitGridObjects(me, searcher, range); } Unit* SmartScript::DoFindClosestFriendlyInRange(float range, bool playerOnly) const @@ -3391,7 +3390,7 @@ Unit* SmartScript::DoFindClosestFriendlyInRange(float range, bool playerOnly) co Unit* unit = nullptr; Trinity::AnyFriendlyUnitInObjectRangeCheck u_check(me, me, range, playerOnly); Trinity::UnitLastSearcher searcher(me, unit, u_check); - me->VisitNearbyObject(range, searcher); + Cell::VisitAllObjects(me, searcher, range); return unit; } -- cgit v1.2.3