Core/Guilds: Players should be removed from guild when changing faction

Closes #4623
This commit is contained in:
Shocker
2012-01-05 00:50:33 +02:00
parent d5647760e2
commit 1a1d8a100b

View File

@@ -1800,7 +1800,9 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data)
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD))
{
// Reset guild
trans->PAppend("DELETE FROM `guild_member` WHERE `guid`= '%u'", lowGuid);
if (QueryResult result = CharacterDatabase.PQuery("SELECT guildid FROM `guild_member` WHERE guid ='%u'", lowGuid))
if (Guild* guild = sGuildMgr->GetGuildById((result->Fetch()[0]).GetUInt32()))
guild->DeleteMember(MAKE_NEW_GUID(lowGuid, 0, HIGHGUID_PLAYER));
}
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ADD_FRIEND))