diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-02-04 10:57:32 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-02-04 10:57:32 +0100 |
| commit | 996e9115ac1104f23a52444c05c829ba1f1231ca (patch) | |
| tree | 3dd650c02fd920f26fad63b0622abd6540c3e1a2 /src/server/game/Groups/Group.cpp | |
| parent | f1bfd43c58626d02814dc3abb343cc33b085bf57 (diff) | |
Core/Groups: Fixed UnitIsPartyLeader lua function
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
| -rw-r--r-- | src/server/game/Groups/Group.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 354f00a9e91..a3fee2d52aa 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -99,6 +99,7 @@ bool Group::Create(Player* leader) m_guid = MAKE_NEW_GUID(lowguid, 0, HIGHGUID_GROUP); m_leaderGuid = leaderGuid; m_leaderName = leader->GetName(); + leader->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_GROUP_LEADER); if (isBGGroup() || isBFGroup()) m_groupType = GROUPTYPE_BGRAID; @@ -666,6 +667,10 @@ void Group::ChangeLeader(uint64 newLeaderGuid) CharacterDatabase.CommitTransaction(trans); } + if (Player* oldLeader = ObjectAccessor::FindPlayer(m_leaderGuid)) + oldLeader->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_GROUP_LEADER); + + newLeader->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_GROUP_LEADER); m_leaderGuid = newLeader->GetGUID(); m_leaderName = newLeader->GetName(); ToggleGroupMemberFlag(slot, MEMBER_FLAG_ASSISTANT, false); |
