AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
ToCloud9GroupHooks Class Reference

#include "TC9GroupHooks.h"

Public Member Functions

 ToCloud9GroupHooks ()
 
 ~ToCloud9GroupHooks ()
 

Static Public Member Functions

static void OnGroupCreated (EventObjectGroup *group)
 
static void OnGroupDisbanded (uint32 group)
 
static void OnGroupMemberAdded (uint32 group, uint64 member)
 
static void OnGroupMemberRemoved (uint32 group, uint64 member, uint64 newLeader)
 
static void OnGroupLootTypeChanged (uint32 group, uint8 lootType, uint64 looter, uint8 lootThreshold)
 
static void OnGroupConvertedToRaid (uint32 group)
 
static void OnGroupRaidDifficultyChanged (uint32 group, uint8 difficulty)
 
static void OnGroupDungeonDifficultyChanged (uint32 group, uint8 difficulty)
 

Detailed Description

Constructor & Destructor Documentation

◆ ToCloud9GroupHooks()

ToCloud9GroupHooks::ToCloud9GroupHooks ( )
inline
27{};

◆ ~ToCloud9GroupHooks()

ToCloud9GroupHooks::~ToCloud9GroupHooks ( )
inline
28{};

Member Function Documentation

◆ OnGroupConvertedToRaid()

void ToCloud9GroupHooks::OnGroupConvertedToRaid ( uint32  group)
static
94{
95 LOG_INFO("server", "Group converted to raid. ID: {}.", group);
96
97 if (Group* g = sGroupMgr->GetGroupByGUID(group))
98 g->ConvertToRaid();
99}
#define sGroupMgr
Definition GroupMgr.h:51
#define LOG_INFO(filterType__,...)
Definition Log.h:153
Definition Group.h:177

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupCreated()

void ToCloud9GroupHooks::OnGroupCreated ( EventObjectGroup *  group)
static
25{
26 LOG_INFO("server", "Group created. ID: {}; Leader: {}.", group->guid, group->leader);
27
28 // Idempotent under sidecar event redelivery: a replayed create must not leak a second Group.
29 if (sGroupMgr->GetGroupByGUID(group->guid))
30 return;
31
32 Group* g = new Group();
33 g->m_guid = ObjectGuid(HighGuid::Group, group->guid);
34 g->m_leaderGuid = ObjectGuid(group->leader);
35 sCharacterCache->GetCharacterNameByGuid(g->m_leaderGuid, g->m_leaderName);
36 g->m_dungeonDifficulty = Difficulty(group->difficulty);
37 g->m_raidDifficulty = Difficulty(group->raidDifficulty);
38 g->m_lootMethod = LootMethod(group->lootMethod);
39 g->m_lootThreshold = ItemQualities(group->lootThreshold);
40 g->m_looterGuid = ObjectGuid(group->looterGuid);
41 g->m_masterLooterGuid = ObjectGuid(group->masterLooterGuid);
42 g->m_groupType = GroupType(group->groupType);
43
44 // Must precede member insertion: it zeroes the subgroup counters that AddMemberWithGuid increments.
47
48 for (int i = 0; i < group->membersSize; i++)
49 g->AddMemberWithGuid(ObjectGuid(group->members[i]));
50
51 sGroupMgr->AddGroup(g);
52 // Mark the service-assigned id used so a locally generated group can't collide with it.
53 sGroupMgr->RegisterGroupId(g->GetGUID().GetCounter());
54}
#define sCharacterCache
Definition CharacterCache.h:88
Difficulty
Definition DBCEnums.h:266
GroupType
Definition Group.h:86
@ GROUPTYPE_RAID
Definition Group.h:89
LootMethod
Definition LootMgr.h:57
ItemQualities
Definition SharedDefines.h:316
ObjectGuid m_leaderGuid
Definition Group.h:355
std::string m_leaderName
Definition Group.h:356
void _initRaidSubGroupsCounter()
Definition Group.cpp:2683
ObjectGuid m_looterGuid
Definition Group.h:365
Difficulty m_raidDifficulty
Definition Group.h:359
ObjectGuid GetGUID() const
Definition Group.cpp:2512
ObjectGuid m_masterLooterGuid
Definition Group.h:366
LootMethod m_lootMethod
Definition Group.h:363
ObjectGuid m_guid
Definition Group.h:369
void AddMemberWithGuid(ObjectGuid guid)
Definition Group.cpp:581
Difficulty m_dungeonDifficulty
Definition Group.h:358
ItemQualities m_lootThreshold
Definition Group.h:364
GroupType m_groupType
Definition Group.h:357
Definition ObjectGuid.h:121
LowType GetCounter() const
Definition ObjectGuid.h:149

References Group::_initRaidSubGroupsCounter(), Group::AddMemberWithGuid(), ObjectGuid::GetCounter(), Group::GetGUID(), Group, GROUPTYPE_RAID, LOG_INFO, Group::m_dungeonDifficulty, Group::m_groupType, Group::m_guid, Group::m_leaderGuid, Group::m_leaderName, Group::m_looterGuid, Group::m_lootMethod, Group::m_lootThreshold, Group::m_masterLooterGuid, Group::m_raidDifficulty, sCharacterCache, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupDisbanded()

void ToCloud9GroupHooks::OnGroupDisbanded ( uint32  group)
static
57{
58 LOG_INFO("server", "Group disbanded. ID: {}.", group);
59
60 if (Group* g = sGroupMgr->GetGroupByGUID(group))
61 g->ForcedDisband(true);
62}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupDungeonDifficultyChanged()

void ToCloud9GroupHooks::OnGroupDungeonDifficultyChanged ( uint32  group,
uint8  difficulty 
)
static
110{
111 LOG_INFO("server", "Dungeon difficulty changed. ID: {}; Difficulty: {}.", group, difficulty);
112
113 if (Group* g = sGroupMgr->GetGroupByGUID(group))
114 g->SetDungeonDifficulty((Difficulty)difficulty);
115}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupLootTypeChanged()

void ToCloud9GroupHooks::OnGroupLootTypeChanged ( uint32  group,
uint8  lootType,
uint64  looter,
uint8  lootThreshold 
)
static
81{
82 LOG_INFO("server", "Group loot type changed. ID: {}; LootType: {}; Looter: {}; LootThreshold: {}.",
83 group, lootType, looter, lootThreshold);
84
85 if (Group* g = sGroupMgr->GetGroupByGUID(group))
86 {
87 g->SetLootMethod((LootMethod)lootType);
88 g->SetMasterLooterGuid(ObjectGuid(looter));
89 g->SetLootThreshold((ItemQualities)lootThreshold);
90 }
91}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupMemberAdded()

void ToCloud9GroupHooks::OnGroupMemberAdded ( uint32  group,
uint64  member 
)
static
65{
66 LOG_INFO("server", "Group member added. ID: {}; Member: {}.", group, member);
67
68 if (Group* g = sGroupMgr->GetGroupByGUID(group))
69 g->AddMemberWithGuid(ObjectGuid(member));
70}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupMemberRemoved()

void ToCloud9GroupHooks::OnGroupMemberRemoved ( uint32  group,
uint64  member,
uint64  newLeader 
)
static
73{
74 LOG_INFO("server", "Group member removed. ID: {}; Member: {}; NewLeader: {}.", group, member, newLeader);
75
76 if (Group* g = sGroupMgr->GetGroupByGUID(group))
77 g->RemoveMember(ObjectGuid(member));
78}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().

◆ OnGroupRaidDifficultyChanged()

void ToCloud9GroupHooks::OnGroupRaidDifficultyChanged ( uint32  group,
uint8  difficulty 
)
static
102{
103 LOG_INFO("server", "Raid difficulty changed. ID: {}; Difficulty: {}.", group, difficulty);
104
105 if (Group* g = sGroupMgr->GetGroupByGUID(group))
106 g->SetRaidDifficulty((Difficulty)difficulty);
107}

References LOG_INFO, and sGroupMgr.

Referenced by ToCloud9Sidecar::SetupHooks().


The documentation for this class was generated from the following files: