Skip to content

Commit

Permalink
up
Browse files Browse the repository at this point in the history
  • Loading branch information
beats-dh committed Mar 25, 2024
1 parent 3ebef93 commit 68c1f40
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 30 deletions.
2 changes: 1 addition & 1 deletion src/creatures/players/grouping/guild.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

void Guild::addMember(const std::shared_ptr<Player> &player) {
membersOnline.push_back(player);
for (auto member : getMembersOnline()) {
for (const auto& member : getMembersOnline()) {
g_game().updatePlayerHelpers(member);
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/creatures/players/grouping/guild.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ class Guild : public Bankable {
void addMember(const std::shared_ptr<Player> &player);
void removeMember(const std::shared_ptr<Player> &player);

bool isGuild() {
bool isGuild() override {
return true;
}

void setOnline(bool value) override {
online = value;
}
Expand Down
53 changes: 27 additions & 26 deletions src/creatures/players/grouping/party.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
* Website: https://docs.opentibiabr.com/
*/

#include <utility>

#include "pch.hpp"

#include "creatures/players/grouping/party.hpp"
Expand Down Expand Up @@ -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);
}

Expand Down Expand Up @@ -132,7 +134,7 @@ bool Party::leaveParty(std::shared_ptr<Player> 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);
Expand Down Expand Up @@ -185,12 +187,12 @@ bool Party::passPartyLeadership(std::shared_ptr<Player> 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);
}
Expand Down Expand Up @@ -231,7 +233,7 @@ bool Party::joinParty(const std::shared_ptr<Player> &player) {

g_game().updatePlayerShield(player);

for (auto member : getMembers()) {
for (const auto& member : getMembers()) {
member->sendCreatureSkull(player);
member->sendPlayerPartyIcons(player);
player->sendPlayerPartyIcons(member);
Expand Down Expand Up @@ -282,7 +284,7 @@ bool Party::removeInvite(const std::shared_ptr<Player> &player, bool removeFromP
if (empty()) {
disband();
} else {
for (auto member : getMembers()) {
for (const auto& member : getMembers()) {
g_game().updatePlayerHelpers(member);
}

Expand Down Expand Up @@ -332,7 +334,7 @@ bool Party::invitePlayer(const std::shared_ptr<Player> &player) {

inviteList.push_back(player);

for (auto member : getMembers()) {
for (const auto& member : getMembers()) {
g_game().updatePlayerHelpers(member);
}

Expand All @@ -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);
}

Expand All @@ -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);
}
}
Expand Down Expand Up @@ -454,14 +456,14 @@ void Party::shareExperience(uint64_t experience, std::shared_ptr<Creature> 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> player) {
return getMemberSharedExperienceStatus(player) == SHAREDEXP_OK;
return getMemberSharedExperienceStatus(std::move(player)) == SHAREDEXP_OK;
}

SharedExpStatus_t Party::getMemberSharedExperienceStatus(std::shared_ptr<Player> player) {
Expand All @@ -473,7 +475,6 @@ SharedExpStatus_t Party::getMemberSharedExperienceStatus(std::shared_ptr<Player>
return SHAREDEXP_EMPTYPARTY;
}

uint32_t highestLevel = getHighestLevel();
uint32_t minLevel = getMinLevel();
if (player->getLevel() < minLevel) {
return SHAREDEXP_LEVELDIFFTOOLARGE;
Expand All @@ -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();
}
Expand All @@ -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();
}
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -617,7 +618,7 @@ void Party::updatePlayerStatus(std::shared_ptr<Player> 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);
Expand All @@ -641,7 +642,7 @@ void Party::updatePlayerStatus(std::shared_ptr<Player> 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) {
Expand Down Expand Up @@ -670,7 +671,7 @@ void Party::updatePlayerHealth(std::shared_ptr<Player> player, std::shared_ptr<C
int32_t maxDistance = g_configManager().getNumber(PARTY_LIST_MAX_DISTANCE, __FUNCTION__);
auto playerPosition = player->getPosition();
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) {
Expand All @@ -690,7 +691,7 @@ void Party::updatePlayerMana(std::shared_ptr<Player> 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);
Expand All @@ -709,7 +710,7 @@ void Party::updatePlayerVocation(std::shared_ptr<Player> 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);
Expand All @@ -727,7 +728,7 @@ void Party::updateTrackerAnalyzer() {
return;
}

for (auto member : getMembers()) {
for (const auto& member : getMembers()) {
member->updatePartyTrackerAnalyzer();
}

Expand Down
2 changes: 1 addition & 1 deletion src/creatures/players/grouping/party.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class Party : public SharedObject {
void reloadPrices();

std::shared_ptr<PartyAnalyzer> getPlayerPartyAnalyzerStruct(uint32_t playerId) const {
if (auto it = std::find_if(membersData.begin(), membersData.end(), [playerId](const std::shared_ptr<PartyAnalyzer> preyIt) {
if (auto it = std::find_if(membersData.begin(), membersData.end(), [playerId](const std::shared_ptr<PartyAnalyzer>& preyIt) {
return preyIt->id == playerId;
});
it != membersData.end()) {
Expand Down
4 changes: 3 additions & 1 deletion src/creatures/players/grouping/team_finder.hpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#include <utility>

/**
* Canary - A free and open-source MMORPG server emulator
* Copyright (©) 2019-2024 OpenTibiaBR <[email protected]>
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 68c1f40

Please sign in to comment.