aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI/SmartScripts
diff options
context:
space:
mode:
authorUjp8LfXBJ6wCPR <github@lillecarl.com>2020-02-29 13:22:51 +0100
committerShauren <shauren.trinity@gmail.com>2021-12-22 16:42:54 +0100
commitee5384a15d440c89d89a9c10582cca5c840d4fdf (patch)
tree6aa35d408237d67bc7eb627b8be63dd7a87ac27c /src/server/game/AI/SmartScripts
parent43aa763d04b524f50c73b55802b11780b75a2f82 (diff)
Modernize codebase with Clang-Tidy range based loops (#24165)
Manual expansion of auto types into "typed types" (cherry picked from commit a933ba60151f478c7bae23dddbba315a448ffe3e)
Diffstat (limited to 'src/server/game/AI/SmartScripts')
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp8
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp85
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp14
3 files changed, 53 insertions, 54 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index bb41d3427aa..7658a62d928 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -893,12 +893,12 @@ void SmartAI::CheckConditions(uint32 diff)
if (_vehicleConditionsTimer <= diff)
{
- if (Vehicle * vehicleKit = me->GetVehicleKit())
+ if (Vehicle* vehicleKit = me->GetVehicleKit())
{
- for (SeatMap::iterator itr = vehicleKit->Seats.begin(); itr != vehicleKit->Seats.end(); ++itr)
- if (Unit * passenger = ObjectAccessor::GetUnit(*me, itr->second.Passenger.Guid))
+ for (std::pair<int8 const, VehicleSeat>& seat : vehicleKit->Seats)
+ if (Unit* passenger = ObjectAccessor::GetUnit(*me, seat.second.Passenger.Guid))
{
- if (Player * player = passenger->ToPlayer())
+ if (Player* player = passenger->ToPlayer())
{
if (!sConditionMgr->IsObjectMeetingNotGroupedConditions(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry(), player, me))
{
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 0825695e507..972886427dc 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -173,12 +173,12 @@ Creature* SmartScript::FindCreatureNear(WorldObject* searchObject, ObjectGuid::L
void SmartScript::OnReset()
{
ResetBaseObject();
- for (SmartAIEventList::iterator i = mEvents.begin(); i != mEvents.end(); ++i)
+ for (SmartScriptHolder& event : mEvents)
{
- if (!((*i).event.event_flags & SMART_EVENT_FLAG_DONT_RESET))
+ if (!(event.event.event_flags & SMART_EVENT_FLAG_DONT_RESET))
{
- InitTimer((*i));
- (*i).runOnce = false;
+ InitTimer(event);
+ event.runOnce = false;
}
}
ProcessEventsFor(SMART_EVENT_RESET);
@@ -220,15 +220,15 @@ void SmartScript::ResetBaseObject()
void SmartScript::ProcessEventsFor(SMART_EVENT e, Unit* unit, uint32 var0, uint32 var1, bool bvar, SpellInfo const* spell, GameObject* gob, std::string const& varString)
{
- for (SmartAIEventList::iterator i = mEvents.begin(); i != mEvents.end(); ++i)
+ for (SmartScriptHolder& event : mEvents)
{
- SMART_EVENT eventType = SMART_EVENT(i->GetEventType());
+ SMART_EVENT eventType = SMART_EVENT(event.GetEventType());
if (eventType == SMART_EVENT_LINK)//special handling
continue;
if (eventType == e)
- if (sConditionMgr->IsObjectMeetingSmartEventConditions(i->entryOrGuid, i->event_id, i->source_type, unit, GetBaseObject()))
- ProcessEvent(*i, unit, var0, var1, bvar, spell, gob, varString);
+ if (sConditionMgr->IsObjectMeetingSmartEventConditions(event.entryOrGuid, event.event_id, event.source_type, unit, GetBaseObject()))
+ ProcessEvent(event, unit, var0, var1, bvar, spell, gob, varString);
}
}
@@ -514,8 +514,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
// Special handling for vehicles
if (IsUnit(target))
if (Vehicle* vehicle = target->ToUnit()->GetVehicleKit())
- for (SeatMap::iterator it = vehicle->Seats.begin(); it != vehicle->Seats.end(); ++it)
- if (Player* player = ObjectAccessor::GetPlayer(*target, it->second.Passenger.Guid))
+ for (std::pair<int8 const, VehicleSeat>& seat : vehicle->Seats)
+ if (Player* player = ObjectAccessor::GetPlayer(*target, seat.second.Passenger.Guid))
player->AreaExploredOrEventHappens(e.action.quest.quest);
if (IsPlayer(target))
@@ -863,8 +863,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
// Special handling for vehicles
if (Vehicle* vehicle = unit->GetVehicleKit())
- for (SeatMap::iterator it = vehicle->Seats.begin(); it != vehicle->Seats.end(); ++it)
- if (Player* passenger = ObjectAccessor::GetPlayer(*unit, it->second.Passenger.Guid))
+ for (std::pair<int8 const, VehicleSeat>& seat : vehicle->Seats)
+ if (Player* passenger = ObjectAccessor::GetPlayer(*unit, seat.second.Passenger.Guid))
passenger->GroupEventHappens(e.action.quest.quest, GetBaseObject());
break;
}
@@ -986,8 +986,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
}
else if (IsUnit(target)) // Special handling for vehicles
if (Vehicle* vehicle = target->ToUnit()->GetVehicleKit())
- for (SeatMap::iterator seatItr = vehicle->Seats.begin(); seatItr != vehicle->Seats.end(); ++seatItr)
- if (Player* player = ObjectAccessor::GetPlayer(*target, seatItr->second.Passenger.Guid))
+ for (std::pair<int8 const, VehicleSeat>& seat : vehicle->Seats)
+ if (Player* player = ObjectAccessor::GetPlayer(*target, seat.second.Passenger.Guid))
player->KilledMonsterCredit(e.action.killedMonster.creature);
}
}
@@ -2155,9 +2155,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (!path || path->nodes.empty())
continue;
- for (auto itr = path->nodes.begin(); itr != path->nodes.end(); ++itr)
+ for (WaypointNode const& waypoint : path->nodes)
{
- WaypointNode const waypoint = *itr;
float distamceToThisNode = creature->GetDistance(waypoint.x, waypoint.y, waypoint.z);
if (distamceToThisNode < distanceToClosest)
{
@@ -3039,9 +3038,9 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
case SMART_TARGET_VEHICLE_PASSENGER:
{
if (me && me->IsVehicle())
- for (auto seatItr = me->GetVehicleKit()->Seats.begin(); seatItr != me->GetVehicleKit()->Seats.end(); ++seatItr)
- if (!e.target.vehicle.seatMask || (e.target.vehicle.seatMask & (1 << seatItr->first)))
- if (Unit* u = ObjectAccessor::GetUnit(*me, seatItr->second.Passenger.Guid))
+ for (std::pair<int8 const, VehicleSeat>& seat : me->GetVehicleKit()->Seats)
+ if (!e.target.vehicle.seatMask || (e.target.vehicle.seatMask & (1 << seat.first)))
+ if (Unit* u = ObjectAccessor::GetUnit(*me, seat.second.Passenger.Guid))
targets.push_back(u);
break;
}
@@ -3765,12 +3764,12 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff)
invoker = ObjectAccessor::GetUnit(*me, mTimedActionListInvoker);
ProcessEvent(e, invoker);
e.enableTimed = false;//disable event if it is in an ActionList and was processed once
- for (SmartAIEventList::iterator i = mTimedActionList.begin(); i != mTimedActionList.end(); ++i)
+ for (SmartScriptHolder& scriptholder : mTimedActionList)
{
//find the first event which is not the current one and enable it
- if (i->event_id > e.event_id)
+ if (scriptholder.event_id > e.event_id)
{
- i->enableTimed = true;
+ scriptholder.enableTimed = true;
break;
}
}
@@ -3794,8 +3793,8 @@ void SmartScript::InstallEvents()
{
if (!mInstallEvents.empty())
{
- for (SmartAIEventList::iterator i = mInstallEvents.begin(); i != mInstallEvents.end(); ++i)
- mEvents.push_back(*i);//must be before UpdateTimers
+ for (SmartScriptHolder& installevent : mInstallEvents)
+ mEvents.push_back(installevent);//must be before UpdateTimers
mInstallEvents.clear();
}
@@ -3880,8 +3879,8 @@ void SmartScript::OnUpdate(uint32 const diff)
InstallEvents();//before UpdateTimers
- for (SmartAIEventList::iterator i = mEvents.begin(); i != mEvents.end(); ++i)
- UpdateTimer(*i, diff);
+ for (SmartScriptHolder& mEvent : mEvents)
+ UpdateTimer(mEvent, diff);
if (!mStoredEvents.empty())
{
@@ -3897,11 +3896,11 @@ void SmartScript::OnUpdate(uint32 const diff)
if (!mTimedActionList.empty())
{
isProcessingTimedActionList = true;
- for (SmartAIEventList::iterator i = mTimedActionList.begin(); i != mTimedActionList.end(); ++i)
+ for (SmartScriptHolder& scriptholder : mTimedActionList)
{
- if ((*i).enableTimed)
+ if (scriptholder.enableTimed)
{
- UpdateTimer(*i, diff);
+ UpdateTimer(scriptholder, diff);
needCleanup = false;
}
}
@@ -3948,14 +3947,14 @@ void SmartScript::FillScript(SmartAIEventList e, WorldObject* obj, AreaTriggerEn
TC_LOG_DEBUG("scripts.ai", "SmartScript: EventMap for Quest %u is empty but is using SmartScript.", quest->GetQuestId());
return;
}
- for (SmartAIEventList::iterator i = e.begin(); i != e.end(); ++i)
+ for (SmartScriptHolder& scriptholder : e)
{
#ifndef TRINITY_DEBUG
- if ((*i).event.event_flags & SMART_EVENT_FLAG_DEBUG_ONLY)
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DEBUG_ONLY)
continue;
#endif
- if ((*i).event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_ALL)//if has instance flag add only if in it
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_ALL)//if has instance flag add only if in it
{
if (obj && obj->GetMap()->IsDungeon())
{
@@ -3964,21 +3963,21 @@ void SmartScript::FillScript(SmartAIEventList e, WorldObject* obj, AreaTriggerEn
{
case DIFFICULTY_NORMAL:
case DIFFICULTY_10_N:
- if (i->event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_0)
- mEvents.emplace_back(std::move(*i));
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_0)
+ mEvents.emplace_back(std::move(scriptholder));
break;
case DIFFICULTY_HEROIC:
case DIFFICULTY_25_N:
- if (i->event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_1)
- mEvents.emplace_back(std::move(*i));
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_1)
+ mEvents.emplace_back(std::move(scriptholder));
break;
case DIFFICULTY_10_HC:
- if (i->event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_2)
- mEvents.emplace_back(std::move(*i));
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_2)
+ mEvents.emplace_back(std::move(scriptholder));
break;
case DIFFICULTY_25_HC:
- if (i->event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_3)
- mEvents.emplace_back(std::move(*i));
+ if (scriptholder.event.event_flags & SMART_EVENT_FLAG_DIFFICULTY_3)
+ mEvents.emplace_back(std::move(scriptholder));
break;
default:
break;
@@ -3986,7 +3985,7 @@ void SmartScript::FillScript(SmartAIEventList e, WorldObject* obj, AreaTriggerEn
}
continue;
}
- mEvents.push_back((*i));//NOTE: 'world(0)' events still get processed in ANY instance mode
+ mEvents.push_back(scriptholder);//NOTE: 'world(0)' events still get processed in ANY instance mode
}
}
@@ -4081,8 +4080,8 @@ void SmartScript::OnInitialize(WorldObject* obj, AreaTriggerEntry const* at, Sce
GetScript();//load copy of script
- for (SmartAIEventList::iterator i = mEvents.begin(); i != mEvents.end(); ++i)
- InitTimer((*i));//calculate timers for first time use
+ for (SmartScriptHolder& event : mEvents)
+ InitTimer(event);//calculate timers for first time use
ProcessEventsFor(SMART_EVENT_AI_INIT);
InstallEvents();
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index 1affc3b3d3a..2432dc14984 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -114,8 +114,8 @@ void SmartAIMgr::LoadSmartAIFromDB()
uint32 oldMSTime = getMSTime();
- for (uint8 i = 0; i < SMART_SCRIPT_TYPE_MAX; i++)
- mEventMap[i].clear(); //Drop Existing SmartAI List
+ for (SmartAIEventMap& eventmap : mEventMap)
+ eventmap.clear(); //Drop Existing SmartAI List
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_SMART_SCRIPTS);
PreparedQueryResult result = WorldDatabase.Query(stmt);
@@ -384,15 +384,15 @@ void SmartAIMgr::LoadSmartAIFromDB()
while (result->NextRow());
// Post Loading Validation
- for (uint8 i = 0; i < SMART_SCRIPT_TYPE_MAX; ++i)
+ for (SmartAIEventMap& eventmap : mEventMap)
{
- for (SmartAIEventMap::iterator itr = mEventMap[i].begin(); itr != mEventMap[i].end(); ++itr)
+ for (std::pair<int64 const, SmartAIEventList>& eventlistpair : eventmap)
{
- for (SmartScriptHolder const& e : itr->second)
+ for (SmartScriptHolder const& e : eventlistpair.second)
{
if (e.link)
{
- if (!FindLinkedEvent(itr->second, e.link))
+ if (!FindLinkedEvent(eventlistpair.second, e.link))
{
TC_LOG_ERROR("sql.sql", "SmartAIMgr::LoadSmartAIFromDB: Entry " SI64FMTD " SourceType %u, Event %u, Link Event %u not found or invalid.",
e.entryOrGuid, e.GetScriptType(), e.event_id, e.link);
@@ -401,7 +401,7 @@ void SmartAIMgr::LoadSmartAIFromDB()
if (e.GetEventType() == SMART_EVENT_LINK)
{
- if (!FindLinkedSourceEvent(itr->second, e.event_id))
+ if (!FindLinkedSourceEvent(eventlistpair.second, e.event_id))
{
TC_LOG_ERROR("sql.sql", "SmartAIMgr::LoadSmartAIFromDB: Entry " SI64FMTD " SourceType %u, Event %u, Link Source Event not found or invalid. Event will never trigger.",
e.entryOrGuid, e.GetScriptType(), e.event_id);