mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030
(cherrypicked from 59ce3d6c9b)
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "Bag.h"
|
||||
#include "CalendarMgr.h"
|
||||
#include "CalendarPackets.h"
|
||||
#include "CharacterCache.h"
|
||||
#include "Chat.h"
|
||||
#include "ChatPackets.h"
|
||||
#include "Config.h"
|
||||
@@ -1734,7 +1735,7 @@ void Guild::HandleAcceptMember(WorldSession* session)
|
||||
{
|
||||
Player* player = session->GetPlayer();
|
||||
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) &&
|
||||
player->GetTeam() != ObjectMgr::GetPlayerTeamByGUID(GetLeaderGUID()))
|
||||
player->GetTeam() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID()))
|
||||
return;
|
||||
|
||||
SQLTransaction trans(nullptr);
|
||||
@@ -2374,7 +2375,7 @@ bool Guild::LoadMemberFromDB(Field* fields)
|
||||
return false;
|
||||
}
|
||||
|
||||
sWorld->UpdateCharacterGuildId(playerGuid, GetId());
|
||||
sCharacterCache->UpdateCharacterGuildId(playerGuid, GetId());
|
||||
m_members[member->GetGUID()] = member;
|
||||
return true;
|
||||
}
|
||||
@@ -2623,7 +2624,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
|
||||
}
|
||||
|
||||
Member* member = itr->second;
|
||||
uint32 level = Player::GetLevelFromCharacterInfo(member->GetGUID());
|
||||
uint32 level = sCharacterCache->GetCharacterLevelByGuid(member->GetGUID());
|
||||
|
||||
if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank))
|
||||
packet.Invites.emplace_back(member->GetGUID(), level);
|
||||
@@ -2642,7 +2643,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId)
|
||||
if (player->GetGuildId())
|
||||
return false;
|
||||
}
|
||||
else if (Player::GetGuildIdFromCharacterInfo(guid))
|
||||
else if (sCharacterCache->GetCharacterGuildIdByGuid(guid))
|
||||
return false;
|
||||
|
||||
// Remove all player signs from another petitions
|
||||
@@ -2697,7 +2698,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId)
|
||||
return false;
|
||||
}
|
||||
m_members[guid] = member;
|
||||
sWorld->UpdateCharacterGuildId(guid, GetId());
|
||||
sCharacterCache->UpdateCharacterGuildId(guid, GetId());
|
||||
}
|
||||
|
||||
member->SaveToDB(trans);
|
||||
@@ -2771,7 +2772,7 @@ void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbandi
|
||||
player->RemoveSpell(entry->SpellID, false, false);
|
||||
}
|
||||
else
|
||||
sWorld->UpdateCharacterGuildId(guid, 0);
|
||||
sCharacterCache->UpdateCharacterGuildId(guid, 0);
|
||||
|
||||
Guild::_DeleteMemberFromDB(trans, guid.GetCounter());
|
||||
if (!isDisbanding)
|
||||
|
||||
Reference in New Issue
Block a user