diff --git a/src/creatures/players/grouping/guild.cpp b/src/creatures/players/grouping/guild.cpp index aca512f28e3..10c96910c06 100644 --- a/src/creatures/players/grouping/guild.cpp +++ b/src/creatures/players/grouping/guild.cpp @@ -14,7 +14,7 @@ void Guild::addMember(const std::shared_ptr &player) { membersOnline.push_back(player); - for (auto member : getMembersOnline()) { + for (const auto& member : getMembersOnline()) { g_game().updatePlayerHelpers(member); } } diff --git a/src/creatures/players/grouping/guild.hpp b/src/creatures/players/grouping/guild.hpp index 834eb03252c..82b0a7367ea 100644 --- a/src/creatures/players/grouping/guild.hpp +++ b/src/creatures/players/grouping/guild.hpp @@ -32,9 +32,10 @@ class Guild : public Bankable { void addMember(const std::shared_ptr &player); void removeMember(const std::shared_ptr &player); - bool isGuild() { + bool isGuild() override { return true; } + void setOnline(bool value) override { online = value; } diff --git a/src/creatures/players/grouping/party.cpp b/src/creatures/players/grouping/party.cpp index 880fc77594f..d62f0312622 100644 --- a/src/creatures/players/grouping/party.cpp +++ b/src/creatures/players/grouping/party.cpp @@ -7,6 +7,8 @@ * Website: https://docs.opentibiabr.com/ */ +#include + #include "pch.hpp" #include "creatures/players/grouping/party.hpp" @@ -47,23 +49,23 @@ void Party::disband() { currentLeader->sendCreatureSkull(currentLeader); currentLeader->sendTextMessage(MESSAGE_PARTY_MANAGEMENT, "Your party has been disbanded."); - for (auto invitee : getInvitees()) { + for (const auto& invitee : getInvitees()) { invitee->removePartyInvitation(getParty()); currentLeader->sendCreatureShield(invitee); } inviteList.clear(); auto members = getMembers(); - for (auto member : members) { + for (const auto& member : members) { member->setParty(nullptr); member->sendClosePrivate(CHANNEL_PARTY); member->sendTextMessage(MESSAGE_PARTY_MANAGEMENT, "Your party has been disbanded."); } - for (auto member : members) { + for (const auto& member : members) { g_game().updatePlayerShield(member); - for (auto otherMember : members) { + for (const auto& otherMember : members) { otherMember->sendCreatureSkull(member); } @@ -132,7 +134,7 @@ bool Party::leaveParty(std::shared_ptr player) { g_game().updatePlayerShield(player); g_game().updatePlayerHelpers(player); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->sendCreatureSkull(player); player->sendPlayerPartyIcons(member); member->sendPartyCreatureUpdate(player); @@ -185,12 +187,12 @@ bool Party::passPartyLeadership(std::shared_ptr player) { updateSharedExperience(); updateTrackerAnalyzer(); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->sendPartyCreatureShield(oldLeader); member->sendPartyCreatureShield(player); } - for (auto invitee : getInvitees()) { + for (const auto& invitee : getInvitees()) { invitee->sendCreatureShield(oldLeader); invitee->sendCreatureShield(player); } @@ -231,7 +233,7 @@ bool Party::joinParty(const std::shared_ptr &player) { g_game().updatePlayerShield(player); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->sendCreatureSkull(player); member->sendPlayerPartyIcons(player); player->sendPlayerPartyIcons(member); @@ -282,7 +284,7 @@ bool Party::removeInvite(const std::shared_ptr &player, bool removeFromP if (empty()) { disband(); } else { - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { g_game().updatePlayerHelpers(member); } @@ -332,7 +334,7 @@ bool Party::invitePlayer(const std::shared_ptr &player) { inviteList.push_back(player); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { g_game().updatePlayerHelpers(member); } @@ -359,8 +361,8 @@ void Party::updateAllPartyIcons() { return; } auto members = getMembers(); - for (auto member : members) { - for (auto otherMember : members) { + for (const auto& member : members) { + for (const auto& otherMember : members) { member->sendPartyCreatureShield(otherMember); } @@ -376,14 +378,14 @@ void Party::broadcastPartyMessage(MessageClasses msgClass, const std::string &ms if (!leader) { return; } - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->sendTextMessage(msgClass, msg); } leader->sendTextMessage(msgClass, msg); if (sendToInvitations) { - for (auto invitee : getInvitees()) { + for (const auto& invitee : getInvitees()) { invitee->sendTextMessage(msgClass, msg); } } @@ -454,14 +456,14 @@ void Party::shareExperience(uint64_t experience, std::shared_ptr targe g_events().eventPartyOnShareExperience(getParty(), shareExperience); g_callbacks().executeCallback(EventCallback_t::partyOnShareExperience, &EventCallback::partyOnShareExperience, getParty(), shareExperience); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->onGainSharedExperience(shareExperience, target); } leader->onGainSharedExperience(shareExperience, target); } bool Party::canUseSharedExperience(std::shared_ptr player) { - return getMemberSharedExperienceStatus(player) == SHAREDEXP_OK; + return getMemberSharedExperienceStatus(std::move(player)) == SHAREDEXP_OK; } SharedExpStatus_t Party::getMemberSharedExperienceStatus(std::shared_ptr player) { @@ -473,7 +475,6 @@ SharedExpStatus_t Party::getMemberSharedExperienceStatus(std::shared_ptr return SHAREDEXP_EMPTYPARTY; } - uint32_t highestLevel = getHighestLevel(); uint32_t minLevel = getMinLevel(); if (player->getLevel() < minLevel) { return SHAREDEXP_LEVELDIFFTOOLARGE; @@ -498,7 +499,7 @@ uint32_t Party::getHighestLevel() { } uint32_t highestLevel = leader->getLevel(); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { if (member->getLevel() > highestLevel) { highestLevel = member->getLevel(); } @@ -516,7 +517,7 @@ uint32_t Party::getLowestLevel() { return 0; } uint32_t lowestLevel = leader->getLevel(); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { if (member->getLevel() < lowestLevel) { lowestLevel = member->getLevel(); } @@ -548,7 +549,7 @@ SharedExpStatus_t Party::getSharedExperienceStatus() { return leaderStatus; } - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { SharedExpStatus_t memberStatus = getMemberSharedExperienceStatus(member); if (memberStatus != SHAREDEXP_OK) { return memberStatus; @@ -617,7 +618,7 @@ void Party::updatePlayerStatus(std::shared_ptr player) { } int32_t maxDistance = g_configManager().getNumber(PARTY_LIST_MAX_DISTANCE, __FUNCTION__); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { bool condition = (maxDistance == 0 || (Position::getDistanceX(player->getPosition(), member->getPosition()) <= maxDistance && Position::getDistanceY(player->getPosition(), member->getPosition()) <= maxDistance)); if (condition) { showPlayerStatus(player, member, true); @@ -641,7 +642,7 @@ void Party::updatePlayerStatus(std::shared_ptr player, const Position &o int32_t maxDistance = g_configManager().getNumber(PARTY_LIST_MAX_DISTANCE, __FUNCTION__); if (maxDistance != 0) { - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { bool condition1 = (Position::getDistanceX(oldPos, member->getPosition()) <= maxDistance && Position::getDistanceY(oldPos, member->getPosition()) <= maxDistance); bool condition2 = (Position::getDistanceX(newPos, member->getPosition()) <= maxDistance && Position::getDistanceY(newPos, member->getPosition()) <= maxDistance); if (condition1 && !condition2) { @@ -670,7 +671,7 @@ void Party::updatePlayerHealth(std::shared_ptr player, std::shared_ptrgetPosition(); auto leaderPosition = leader->getPosition(); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { auto memberPosition = member->getPosition(); bool condition = (maxDistance == 0 || (Position::getDistanceX(playerPosition, memberPosition) <= maxDistance && Position::getDistanceY(playerPosition, memberPosition) <= maxDistance)); if (condition) { @@ -690,7 +691,7 @@ void Party::updatePlayerMana(std::shared_ptr player, uint8_t manaPercent } int32_t maxDistance = g_configManager().getNumber(PARTY_LIST_MAX_DISTANCE, __FUNCTION__); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { bool condition = (maxDistance == 0 || (Position::getDistanceX(player->getPosition(), member->getPosition()) <= maxDistance && Position::getDistanceY(player->getPosition(), member->getPosition()) <= maxDistance)); if (condition) { member->sendPartyPlayerMana(player, manaPercent); @@ -709,7 +710,7 @@ void Party::updatePlayerVocation(std::shared_ptr player) { } int32_t maxDistance = g_configManager().getNumber(PARTY_LIST_MAX_DISTANCE, __FUNCTION__); - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { bool condition = (maxDistance == 0 || (Position::getDistanceX(player->getPosition(), member->getPosition()) <= maxDistance && Position::getDistanceY(player->getPosition(), member->getPosition()) <= maxDistance)); if (condition) { member->sendPartyPlayerVocation(player); @@ -727,7 +728,7 @@ void Party::updateTrackerAnalyzer() { return; } - for (auto member : getMembers()) { + for (const auto& member : getMembers()) { member->updatePartyTrackerAnalyzer(); } diff --git a/src/creatures/players/grouping/party.hpp b/src/creatures/players/grouping/party.hpp index a356d1a032b..a694424e1a7 100644 --- a/src/creatures/players/grouping/party.hpp +++ b/src/creatures/players/grouping/party.hpp @@ -105,7 +105,7 @@ class Party : public SharedObject { void reloadPrices(); std::shared_ptr getPlayerPartyAnalyzerStruct(uint32_t playerId) const { - if (auto it = std::find_if(membersData.begin(), membersData.end(), [playerId](const std::shared_ptr preyIt) { + if (auto it = std::find_if(membersData.begin(), membersData.end(), [playerId](const std::shared_ptr& preyIt) { return preyIt->id == playerId; }); it != membersData.end()) { diff --git a/src/creatures/players/grouping/team_finder.hpp b/src/creatures/players/grouping/team_finder.hpp index 123ce7c07d8..9fafbd03227 100644 --- a/src/creatures/players/grouping/team_finder.hpp +++ b/src/creatures/players/grouping/team_finder.hpp @@ -1,3 +1,5 @@ +#include + /** * Canary - A free and open-source MMORPG server emulator * Copyright (©) 2019-2024 OpenTibiaBR @@ -31,7 +33,7 @@ class TeamFinder { hunt_area(initHunt_area), questID(initQuestID), leaderGuid(initLeaderGuid), - membersMap(initMembersMap) { } + membersMap(std::move(initMembersMap)) { } virtual ~TeamFinder() = default; uint16_t minLevel = 0;