diff options
author | Ujp8LfXBJ6wCPR <github@lillecarl.com> | 2020-02-29 13:22:51 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-22 16:42:54 +0100 |
commit | ee5384a15d440c89d89a9c10582cca5c840d4fdf (patch) | |
tree | 6aa35d408237d67bc7eb627b8be63dd7a87ac27c /src/server/game | |
parent | 43aa763d04b524f50c73b55802b11780b75a2f82 (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')
-rw-r--r-- | src/server/game/AI/CoreAI/PetAI.cpp | 8 | ||||
-rw-r--r-- | src/server/game/AI/PlayerAI/PlayerAI.cpp | 5 | ||||
-rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 17 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.cpp | 8 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 85 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 14 | ||||
-rw-r--r-- | src/server/game/Accounts/AccountMgr.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Accounts/RBAC.cpp | 18 | ||||
-rw-r--r-- | src/server/game/Achievements/AchievementMgr.cpp | 122 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 52 |
10 files changed, 166 insertions, 167 deletions
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index 48d23bc2325..c192719f80f 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -170,9 +170,9 @@ void PetAI::UpdateAI(uint32 diff) // No enemy, check friendly if (!spellUsed) { - for (GuidSet::const_iterator tar = _allySet.begin(); tar != _allySet.end(); ++tar) + for (ObjectGuid target : _allySet) { - Unit* ally = ObjectAccessor::GetUnit(*me, *tar); + Unit* ally = ObjectAccessor::GetUnit(*me, target); //only buff targets that are in combat, unless the spell can only be cast while out of combat if (!ally) @@ -219,8 +219,8 @@ void PetAI::UpdateAI(uint32 diff) } // deleted cached Spell objects - for (TargetSpellList::const_iterator itr = targetSpellStore.begin(); itr != targetSpellStore.end(); ++itr) - delete itr->second; + for (std::pair<Unit*, Spell*> const& unitspellpair : targetSpellStore) + delete unitspellpair.second; } // Update speed as needed to prevent dropping too far behind and despawning diff --git a/src/server/game/AI/PlayerAI/PlayerAI.cpp b/src/server/game/AI/PlayerAI/PlayerAI.cpp index 13667940f2b..d41a1292a19 100644 --- a/src/server/game/AI/PlayerAI/PlayerAI.cpp +++ b/src/server/game/AI/PlayerAI/PlayerAI.cpp @@ -1235,10 +1235,9 @@ void SimpleCharmedPlayerAI::UpdateAI(uint32 diff) // kill self if charm aura has infinite duration if (charmer->IsInEvadeMode()) { - Player::AuraEffectList const& auras = me->GetAuraEffectsByType(SPELL_AURA_MOD_CHARM); - for (Player::AuraEffectList::const_iterator iter = auras.begin(); iter != auras.end(); ++iter) + for (AuraEffect* aura : me->GetAuraEffectsByType(SPELL_AURA_MOD_CHARM)) { - if ((*iter)->GetCasterGUID() == charmer->GetGUID() && (*iter)->GetBase()->IsPermanent()) + if (aura->GetCasterGUID() == charmer->GetGUID() && aura->GetBase()->IsPermanent()) { me->KillSelf(); return; diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 2a94a0e69fa..7b73dcc833c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -97,9 +97,9 @@ void SummonList::RemoveNotExisting() bool SummonList::HasEntry(uint32 entry) const { - for (StorageType::const_iterator i = _storage.begin(); i != _storage.end(); ++i) + for (ObjectGuid const& guid : _storage) { - Creature* summon = ObjectAccessor::GetCreature(*_me, *i); + Creature* summon = ObjectAccessor::GetCreature(*_me, guid); if (summon && summon->GetEntry() == entry) return true; } @@ -109,7 +109,7 @@ bool SummonList::HasEntry(uint32 entry) const void SummonList::DoActionImpl(int32 action, StorageType const& summons) { - for (auto const& guid : summons) + for (ObjectGuid const& guid : summons) { Creature* summon = ObjectAccessor::GetCreature(*_me, guid); if (summon && summon->IsAIEnabled()) @@ -317,10 +317,10 @@ SpellInfo const* ScriptedAI::SelectSpell(Unit* target, uint32 school, uint32 mec AISpellInfoType const* aiSpell = nullptr; // Check if each spell is viable(set it to null if not) - for (uint32 i = 0; i < MAX_CREATURE_SPELLS; i++) + for (uint32 spell : me->m_spells) { - tempSpell = sSpellMgr->GetSpellInfo(me->m_spells[i], me->GetMap()->GetDifficultyID()); - aiSpell = GetAISpellInfo(me->m_spells[i], me->GetMap()->GetDifficultyID()); + tempSpell = sSpellMgr->GetSpellInfo(spell, me->GetMap()->GetDifficultyID()); + aiSpell = GetAISpellInfo(spell, me->GetMap()->GetDifficultyID()); // This spell doesn't exist if (!tempSpell || !aiSpell) @@ -409,9 +409,8 @@ void ScriptedAI::DoTeleportAll(float x, float y, float z, float o) if (!map->IsDungeon()) return; - Map::PlayerList const& PlayerList = map->GetPlayers(); - for (Map::PlayerList::const_iterator itr = PlayerList.begin(); itr != PlayerList.end(); ++itr) - if (Player* player = itr->GetSource()) + for (MapReference const& mapref : map->GetPlayers()) + if (Player* player = mapref.GetSource()) if (player->IsAlive()) player->TeleportTo(me->GetMapId(), x, y, z, o, TELE_TO_NOT_LEAVE_COMBAT); } 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); diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index ba689969489..5b71ad2d40c 100644 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -591,8 +591,8 @@ bool AccountMgr::HasPermission(uint32 accountId, uint32 permissionId, uint32 rea void AccountMgr::ClearRBAC() { - for (rbac::RBACPermissionsContainer::iterator itr = _permissions.begin(); itr != _permissions.end(); ++itr) - delete itr->second; + for (std::pair<uint32 const, rbac::RBACPermission*>& permission : _permissions) + delete permission.second; _permissions.clear(); _defaultPermissions.clear(); diff --git a/src/server/game/Accounts/RBAC.cpp b/src/server/game/Accounts/RBAC.cpp index 242587fec5e..2b79a79cdb8 100644 --- a/src/server/game/Accounts/RBAC.cpp +++ b/src/server/game/Accounts/RBAC.cpp @@ -213,8 +213,8 @@ void RBACData::LoadFromDBCallback(PreparedQueryResult result) // Add default permissions RBACPermissionContainer const& permissions = sAccountMgr->GetRBACDefaultPermissions(_secLevel); - for (RBACPermissionContainer::const_iterator itr = permissions.begin(); itr != permissions.end(); ++itr) - GrantPermission(*itr); + for (uint32 permission : permissions) + GrantPermission(permission); // Force calculation of permissions CalculateNewPermissions(); @@ -234,14 +234,14 @@ void RBACData::CalculateNewPermissions() void RBACData::AddPermissions(RBACPermissionContainer const& permsFrom, RBACPermissionContainer& permsTo) { - for (RBACPermissionContainer::const_iterator itr = permsFrom.begin(); itr != permsFrom.end(); ++itr) - permsTo.insert(*itr); + for (uint32 permission : permsFrom) + permsTo.insert(permission); } void RBACData::RemovePermissions(RBACPermissionContainer& permsFrom, RBACPermissionContainer const& permsToRemove) { - for (RBACPermissionContainer::const_iterator itr = permsToRemove.begin(); itr != permsToRemove.end(); ++itr) - permsFrom.erase(*itr); + for (uint32 permission: permsToRemove) + permsFrom.erase(permission); } void RBACData::ExpandPermissions(RBACPermissionContainer& permissions) @@ -264,9 +264,9 @@ void RBACData::ExpandPermissions(RBACPermissionContainer& permissions) // add all linked permissions (that are not already expanded) to the list of permissions to be checked RBACPermissionContainer const& linkedPerms = permission->GetLinkedPermissions(); - for (RBACPermissionContainer::const_iterator itr = linkedPerms.begin(); itr != linkedPerms.end(); ++itr) - if (permissions.find(*itr) == permissions.end()) - toCheck.insert(*itr); + for (uint32 linkedPerm : linkedPerms) + if (permissions.find(linkedPerm) == permissions.end()) + toCheck.insert(linkedPerm); } TC_LOG_DEBUG("rbac", "RBACData::ExpandPermissions: Expanded: %s", GetDebugPermissionString(permissions).c_str()); diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 46f7efcad84..1f66c00786f 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -39,7 +39,7 @@ struct VisibleAchievementCheck { - AchievementEntry const* operator()(std::pair<uint32, CompletedAchievementData> const& val) + AchievementEntry const* operator()(std::pair<uint32 const, CompletedAchievementData> const& val) { AchievementEntry const* achievement = sAchievementStore.LookupEntry(val.first); if (achievement && !(achievement->Flags & ACHIEVEMENT_FLAG_HIDDEN)) @@ -221,10 +221,10 @@ void PlayerAchievementMgr::Reset() { AchievementMgr::Reset(); - for (auto iter = _completedAchievements.begin(); iter != _completedAchievements.end(); ++iter) + for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { WorldPackets::Achievement::AchievementDeleted achievementDeleted; - achievementDeleted.AchievementID = iter->first; + achievementDeleted.AchievementID = completedAchievement.first; SendPacket(achievementDeleted.Write()); } @@ -319,49 +319,49 @@ void PlayerAchievementMgr::SaveToDB(CharacterDatabaseTransaction& trans) { if (!_completedAchievements.empty()) { - for (auto iter = _completedAchievements.begin(); iter != _completedAchievements.end(); ++iter) + for (std::pair<uint32 const, CompletedAchievementData>& completedAchievement : _completedAchievements) { - if (!iter->second.Changed) + if (!completedAchievement.second.Changed) continue; CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT); - stmt->setUInt32(0, iter->first); + stmt->setUInt32(0, completedAchievement.first); stmt->setUInt64(1, _owner->GetGUID().GetCounter()); trans->Append(stmt); stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT); stmt->setUInt64(0, _owner->GetGUID().GetCounter()); - stmt->setUInt32(1, iter->first); - stmt->setInt64(2, iter->second.Date); + stmt->setUInt32(1, completedAchievement.first); + stmt->setInt64(2, completedAchievement.second.Date); trans->Append(stmt); - iter->second.Changed = false; + completedAchievement.second.Changed = false; } } if (!_criteriaProgress.empty()) { - for (auto iter = _criteriaProgress.begin(); iter != _criteriaProgress.end(); ++iter) + for (std::pair<uint32 const, CriteriaProgress>& criteriaProgres : _criteriaProgress) { - if (!iter->second.Changed) + if (!criteriaProgres.second.Changed) continue; CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT_PROGRESS_BY_CRITERIA); stmt->setUInt64(0, _owner->GetGUID().GetCounter()); - stmt->setUInt32(1, iter->first); + stmt->setUInt32(1, criteriaProgres.first); trans->Append(stmt); - if (iter->second.Counter) + if (criteriaProgres.second.Counter) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_PROGRESS); stmt->setUInt64(0, _owner->GetGUID().GetCounter()); - stmt->setUInt32(1, iter->first); - stmt->setUInt64(2, iter->second.Counter); - stmt->setInt64(3, iter->second.Date); + stmt->setUInt32(1, criteriaProgres.first); + stmt->setUInt64(2, criteriaProgres.second.Counter); + stmt->setInt64(3, criteriaProgres.second.Date); trans->Append(stmt); } - iter->second.Changed = false; + criteriaProgres.second.Changed = false; } } } @@ -407,15 +407,15 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const achievementData.Data.Earned.reserve(_completedAchievements.size()); achievementData.Data.Progress.reserve(_criteriaProgress.size()); - for (auto itr = _completedAchievements.begin(); itr != _completedAchievements.end(); ++itr) + for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { - AchievementEntry const* achievement = filterInvisible(*itr); + AchievementEntry const* achievement = filterInvisible(completedAchievement); if (!achievement) continue; WorldPackets::Achievement::EarnedAchievement earned; - earned.Id = itr->first; - earned.Date = itr->second.Date; + earned.Id = completedAchievement.first; + earned.Date = completedAchievement.second.Date; if (!(achievement->Flags & ACHIEVEMENT_FLAG_ACCOUNT)) { earned.Owner = _owner->GetGUID(); @@ -424,16 +424,16 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const achievementData.Data.Earned.push_back(earned); } - for (auto itr = _criteriaProgress.begin(); itr != _criteriaProgress.end(); ++itr) + for (std::pair<uint32 const, CriteriaProgress> const& criteriaProgres : _criteriaProgress) { - Criteria const* criteria = sCriteriaMgr->GetCriteria(itr->first); + Criteria const* criteria = sCriteriaMgr->GetCriteria(criteriaProgres.first); WorldPackets::Achievement::CriteriaProgress progress; - progress.Id = itr->first; - progress.Quantity = itr->second.Counter; - progress.Player = itr->second.PlayerGUID; + progress.Id = criteriaProgres.first; + progress.Quantity = criteriaProgres.second.Counter; + progress.Player = criteriaProgres.second.PlayerGUID; progress.Flags = 0; - progress.Date = itr->second.Date; + progress.Date = criteriaProgres.second.Date; progress.TimeFromStart = Seconds::zero(); progress.TimeFromCreate = Seconds::zero(); achievementData.Data.Progress.push_back(progress); @@ -441,11 +441,11 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const if (criteria->FlagsCu & CRITERIA_FLAG_CU_ACCOUNT) { WorldPackets::Achievement::CriteriaProgress progress; - progress.Id = itr->first; - progress.Quantity = itr->second.Counter; + progress.Id = criteriaProgres.first; + progress.Quantity = criteriaProgres.second.Counter; progress.Player = _owner->GetSession()->GetBattlenetAccountGUID(); progress.Flags = 0; - progress.Date = itr->second.Date; + progress.Date = criteriaProgres.second.Date; progress.TimeFromStart = Seconds::zero(); progress.TimeFromCreate = Seconds::zero(); allAccountCriteria.Progress.push_back(progress); @@ -466,15 +466,15 @@ void PlayerAchievementMgr::SendAchievementInfo(Player* receiver, uint32 /*achiev inspectedAchievements.Data.Earned.reserve(_completedAchievements.size()); inspectedAchievements.Data.Progress.reserve(_criteriaProgress.size()); - for (auto itr = _completedAchievements.begin(); itr != _completedAchievements.end(); ++itr) + for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { - AchievementEntry const* achievement = filterInvisible(*itr); + AchievementEntry const* achievement = filterInvisible(completedAchievement); if (!achievement) continue; WorldPackets::Achievement::EarnedAchievement earned; - earned.Id = itr->first; - earned.Date = itr->second.Date; + earned.Id = completedAchievement.first; + earned.Date = completedAchievement.second.Date; if (!(achievement->Flags & ACHIEVEMENT_FLAG_ACCOUNT)) { earned.Owner = _owner->GetGUID(); @@ -483,14 +483,14 @@ void PlayerAchievementMgr::SendAchievementInfo(Player* receiver, uint32 /*achiev inspectedAchievements.Data.Earned.push_back(earned); } - for (auto itr = _criteriaProgress.begin(); itr != _criteriaProgress.end(); ++itr) + for (std::pair<uint32 const, CriteriaProgress> const& criteriaProgres : _criteriaProgress) { WorldPackets::Achievement::CriteriaProgress progress; - progress.Id = itr->first; - progress.Quantity = itr->second.Counter; - progress.Player = itr->second.PlayerGUID; + progress.Id = criteriaProgres.first; + progress.Quantity = criteriaProgres.second.Counter; + progress.Player = criteriaProgres.second.PlayerGUID; progress.Flags = 0; - progress.Date = itr->second.Date; + progress.Date = criteriaProgres.second.Date; progress.TimeFromStart = Seconds::zero(); progress.TimeFromCreate = Seconds::zero(); inspectedAchievements.Data.Progress.push_back(progress); @@ -711,10 +711,10 @@ void GuildAchievementMgr::Reset() AchievementMgr::Reset(); ObjectGuid guid = _owner->GetGUID(); - for (auto iter = _completedAchievements.begin(); iter != _completedAchievements.end(); ++iter) + for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { WorldPackets::Achievement::GuildAchievementDeleted guildAchievementDeleted; - guildAchievementDeleted.AchievementID = iter->first; + guildAchievementDeleted.AchievementID = completedAchievement.first; guildAchievementDeleted.GuildGUID = guid; guildAchievementDeleted.TimeDeleted = GameTime::GetGameTime(); SendPacket(guildAchievementDeleted.Write()); @@ -805,46 +805,50 @@ void GuildAchievementMgr::SaveToDB(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; std::ostringstream guidstr; - for (auto itr = _completedAchievements.begin(); itr != _completedAchievements.end(); ++itr) + for (std::pair<uint32 const, CompletedAchievementData>& completedAchievement : _completedAchievements) { - if (!itr->second.Changed) + if (!completedAchievement.second.Changed) continue; stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_ACHIEVEMENT); stmt->setUInt64(0, _owner->GetId()); - stmt->setUInt32(1, itr->first); + stmt->setUInt32(1, completedAchievement.first); trans->Append(stmt); stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_ACHIEVEMENT); stmt->setUInt64(0, _owner->GetId()); - stmt->setUInt32(1, itr->first); - stmt->setInt64(2, itr->second.Date); - for (GuidSet::const_iterator gItr = itr->second.CompletingPlayers.begin(); gItr != itr->second.CompletingPlayers.end(); ++gItr) - guidstr << gItr->GetCounter() << ','; + stmt->setUInt32(1, completedAchievement.first); + stmt->setInt64(2, completedAchievement.second.Date); + for (ObjectGuid memberGuid : completedAchievement.second.CompletingPlayers) + guidstr << memberGuid.GetCounter() << ','; stmt->setString(3, guidstr.str()); trans->Append(stmt); guidstr.str(""); + + completedAchievement.second.Changed = false; } - for (auto itr = _criteriaProgress.begin(); itr != _criteriaProgress.end(); ++itr) + for (std::pair<uint32 const, CriteriaProgress>& criteriaProgres : _criteriaProgress) { - if (!itr->second.Changed) + if (!criteriaProgres.second.Changed) continue; stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_ACHIEVEMENT_CRITERIA); stmt->setUInt64(0, _owner->GetId()); - stmt->setUInt32(1, itr->first); + stmt->setUInt32(1, criteriaProgres.first); trans->Append(stmt); stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_ACHIEVEMENT_CRITERIA); stmt->setUInt64(0, _owner->GetId()); - stmt->setUInt32(1, itr->first); - stmt->setUInt64(2, itr->second.Counter); - stmt->setInt64(3, itr->second.Date); - stmt->setUInt64(4, itr->second.PlayerGUID.GetCounter()); + stmt->setUInt32(1, criteriaProgres.first); + stmt->setUInt64(2, criteriaProgres.second.Counter); + stmt->setInt64(3, criteriaProgres.second.Date); + stmt->setUInt64(4, criteriaProgres.second.PlayerGUID.GetCounter()); trans->Append(stmt); + + criteriaProgres.second.Changed = false; } } @@ -854,15 +858,15 @@ void GuildAchievementMgr::SendAllData(Player const* receiver) const WorldPackets::Achievement::AllGuildAchievements allGuildAchievements; allGuildAchievements.Earned.reserve(_completedAchievements.size()); - for (auto itr = _completedAchievements.begin(); itr != _completedAchievements.end(); ++itr) + for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { - AchievementEntry const* achievement = filterInvisible(*itr); + AchievementEntry const* achievement = filterInvisible(completedAchievement); if (!achievement) continue; WorldPackets::Achievement::EarnedAchievement earned; - earned.Id = itr->first; - earned.Date = itr->second.Date; + earned.Id = completedAchievement.first; + earned.Date = completedAchievement.second.Date; allGuildAchievements.Earned.push_back(earned); } diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index e9a7a36c684..948e9b9cfe2 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -437,8 +437,8 @@ bool CriteriaData::Meets(uint32 criteriaId, Player const* source, WorldObject co bool CriteriaDataSet::Meets(Player const* source, WorldObject const* target, uint32 miscValue1 /*= 0*/, uint32 miscValue2 /*= 0*/) const { - for (CriteriaData const& data : _storage) - if (!data.Meets(_criteriaId, source, target, miscValue1, miscValue2)) + for (CriteriaData const& criteriadata : _storage) + if (!criteriadata.Meets(_criteriaId, source, target, miscValue1, miscValue2)) return false; return true; @@ -450,8 +450,8 @@ CriteriaHandler::~CriteriaHandler() { } void CriteriaHandler::Reset() { - for (auto iter = _criteriaProgress.begin(); iter != _criteriaProgress.end(); ++iter) - SendCriteriaProgressRemoved(iter->first); + for (std::pair<uint32 const, CriteriaProgress> const& criteriaprogress : _criteriaProgress) + SendCriteriaProgressRemoved(criteriaprogress.first); _criteriaProgress.clear(); } @@ -642,10 +642,10 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* { uint32 counter = 0; - const RewardedQuestSet& rewQuests = referencePlayer->getRewardedQuests(); - for (RewardedQuestSet::const_iterator itr = rewQuests.begin(); itr != rewQuests.end(); ++itr) + RewardedQuestSet const& rewQuests = referencePlayer->getRewardedQuests(); + for (uint32 rewQuest : rewQuests) { - Quest const* quest = sObjectMgr->GetQuestTemplate(*itr); + Quest const* quest = sObjectMgr->GetQuestTemplate(rewQuest); if (quest && quest->GetZoneOrSort() >= 0 && quest->GetZoneOrSort() == criteria->Entry->Asset.ZoneID) ++counter; } @@ -686,11 +686,9 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::LearnTradeskillSkillLine: { uint32 spellCount = 0; - for (PlayerSpellMap::const_iterator spellIter = referencePlayer->GetSpellMap().begin(); - spellIter != referencePlayer->GetSpellMap().end(); - ++spellIter) + for (std::pair<uint32 const, PlayerSpell*>& spellIter : referencePlayer->GetSpellMap()) { - SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellIter->first); + SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellIter.first); for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter) { if (skillIter->second->SkillLine == int32(criteria->Entry->Asset.SkillID)) @@ -1514,9 +1512,9 @@ bool CriteriaHandler::RequirementsSatisfied(Criteria const* criteria, uint64 mis break; bool matchFound = false; - for (int j = 0; j < MAX_WORLD_MAP_OVERLAY_AREA_IDX; ++j) + for (uint32 j : worldOverlayEntry->AreaID) { - AreaTableEntry const* area = sAreaTableStore.LookupEntry(worldOverlayEntry->AreaID[j]); + AreaTableEntry const* area = sAreaTableStore.LookupEntry(j); if (!area) break; @@ -4294,14 +4292,14 @@ CriteriaList const& CriteriaMgr::GetPlayerCriteriaByType(CriteriaType type, uint //========================================================== CriteriaMgr::~CriteriaMgr() { - for (auto itr = _criteriaTrees.begin(); itr != _criteriaTrees.end(); ++itr) - delete itr->second; + for (std::pair<uint32 const, CriteriaTree*>& criteriaTree : _criteriaTrees) + delete criteriaTree.second; - for (auto itr = _criteria.begin(); itr != _criteria.end(); ++itr) - delete itr->second; + for (std::pair<uint32 const, Criteria*>& criteria : _criteria) + delete criteria.second; - for (auto itr = _criteriaModifiers.begin(); itr != _criteriaModifiers.end(); ++itr) - delete itr->second; + for (std::pair<uint32 const, ModifierTreeNode*>& criteriaModifier : _criteriaModifiers) + delete criteriaModifier.second; } void CriteriaMgr::LoadCriteriaModifiersTree() @@ -4327,9 +4325,9 @@ void CriteriaMgr::LoadCriteriaModifiersTree() } // Build tree - for (auto itr = _criteriaModifiers.begin(); itr != _criteriaModifiers.end(); ++itr) - if (ModifierTreeNode* parentNode = Trinity::Containers::MapGetValuePtr(_criteriaModifiers, itr->second->Entry->Parent)) - parentNode->Children.push_back(itr->second); + for (std::pair<uint32 const, ModifierTreeNode*>& criteriaModifier : _criteriaModifiers) + if (ModifierTreeNode* parentNode = Trinity::Containers::MapGetValuePtr(_criteriaModifiers, criteriaModifier.second->Entry->Parent)) + parentNode->Children.push_back(criteriaModifier.second); TC_LOG_INFO("server.loading", ">> Loaded %u criteria modifiers in %u ms", uint32(_criteriaModifiers.size()), GetMSTimeDiffToNow(oldMSTime)); } @@ -4405,13 +4403,13 @@ void CriteriaMgr::LoadCriteriaList() } // Build tree - for (auto itr = _criteriaTrees.begin(); itr != _criteriaTrees.end(); ++itr) + for (std::pair<uint32 const, CriteriaTree*> const& criteriaTree : _criteriaTrees) { - if (CriteriaTree* parent = Trinity::Containers::MapGetValuePtr(_criteriaTrees, itr->second->Entry->Parent)) - parent->Children.push_back(itr->second); + if (CriteriaTree* parent = Trinity::Containers::MapGetValuePtr(_criteriaTrees, criteriaTree.second->Entry->Parent)) + parent->Children.push_back(criteriaTree.second); - if (sCriteriaStore.HasRecord(itr->second->Entry->CriteriaID)) - _criteriaTreeByCriteria[itr->second->Entry->CriteriaID].push_back(itr->second); + if (sCriteriaStore.HasRecord(criteriaTree.second->Entry->CriteriaID)) + _criteriaTreeByCriteria[criteriaTree.second->Entry->CriteriaID].push_back(criteriaTree.second); } // Load criteria |