aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2012-01-05 00:50:33 +0200
committerShocker <shocker@freakz.ro>2012-01-05 00:50:33 +0200
commit1a1d8a100becd59f6d5ca1c2371a4e4e58ea6503 (patch)
tree390c73c1c7e0852ff34f1f74b800437ec3f28937 /src
parentd5647760e24e2f755f34d787a243cdc6c156d967 (diff)
Core/Guilds: Players should be removed from guild when changing faction
Closes #4623
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
index 47af8c9bc1e..fd649175f76 100644
--- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp
@@ -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))