33#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
34#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
46 static std::vector<ChatCommand> groupSetCommandTable =
54 static std::vector<ChatCommand> groupCommandTable =
68 static std::vector<ChatCommand> commandTable =
84 Player* target = player->GetConnectedPlayer();
94 target = it->GetSource();
99 if (level != oldlevel)
108 if (oldlevel <
static_cast<uint8>(level))
130 Player* target = it->GetSource();
155 Player* target = it->GetSource();
178 std::string nameLink = handler->
GetNameLink(target);
189 bool onlyLocalSummon =
false;
200 onlyLocalSummon =
true;
206 Player* player = itr->GetSource();
208 if (!player || player == gmPlayer || !player->
GetSession())
215 std::string plNameLink = handler->
GetNameLink(player);
260 Group* group =
nullptr;
262 char* nameStr = strtok((
char*)args,
" ");
286 Group* group =
nullptr;
288 char* nameStr = strtok((
char*)args,
" ");
345 Group* group =
nullptr;
347 char* nameStr = strtok((
char*)args,
" ");
366 Group* group =
nullptr;
368 char* nameStr = strtok((
char*)args,
" ");
389 Player* playerSource =
nullptr;
390 Player* playerTarget =
nullptr;
391 Group* groupSource =
nullptr;
392 Group* groupTarget =
nullptr;
395 char* nameplgrStr = strtok((
char*)args,
" ");
396 char* nameplStr = strtok(
nullptr,
" ");
411 if (groupTarget || playerTarget->
GetGroup() == groupSource)
418 if (groupSource->
IsFull())
433 char const* zoneName =
"<ERROR>";
434 char const* onlineState =
"Offline";
437 Group* groupTarget =
nullptr;
449 groupTarget =
sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
468 for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
482 flags.append(
"MainTank");
489 flags.append(
"MainAssist");
501 onlineState =
"online";
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
std::shared_ptr< PreparedResultSet > PreparedQueryResult
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
@ LANG_GROUP_PLAYER_JOINED
@ LANG_CANNOT_SUMMON_INST_INST
@ LANG_GROUP_NOT_IN_GROUP
@ LANG_GROUP_PLAYER_NAME_GUID
@ LANG_LEADER_CANNOT_BE_ASSISTANT
@ LANG_GROUP_NOT_IN_RAID_GROUP
@ LANG_GROUP_ALREADY_IN_GROUP
@ LANG_GROUP_ROLE_CHANGED
@ LANG_PARTIAL_GROUP_SUMMON
std::optional< T > Optional
Optional helper class to wrap optional values within.
Role Based Access Control related classes definition.
bool GetPlayerGroupAndGUIDByName(char const *cname, Player *&player, Group *&group, ObjectGuid &guid, bool offline=false)
WorldSession * GetSession()
virtual LocaleConstant GetSessionDbcLocale() const
virtual std::string GetNameLink() const
bool HasLowerSecurity(Player *target, ObjectGuid guid, bool strong=false)
void SetSentErrorMessage(bool val)
void PSendSysMessage(char const *fmt, Args &&... args)
virtual void SendSysMessage(std::string_view str, bool escapeCharacters=false)
virtual bool needReportToTarget(Player *chr) const
bool extractPlayerTarget(char *args, Player **player, ObjectGuid *player_guid=nullptr, std::string *player_name=nullptr)
MemberSlotList const & GetMemberSlots() const
void BroadcastGroupUpdate(void)
void Disband(bool hideDestroy=false)
std::list< MemberSlot > MemberSlotList
bool AddMember(Player *player)
bool IsLeader(ObjectGuid guid) const
void SetGroupMemberFlag(ObjectGuid guid, bool apply, GroupMemberFlags flag)
void ChangeLeader(ObjectGuid guid)
GroupReference * GetFirstMember()
bool RemoveMember(ObjectGuid guid, RemoveMethod const &method=GROUP_REMOVEMETHOD_DEFAULT, ObjectGuid kicker=ObjectGuid::Empty, char const *reason=nullptr)
ObjectGuid GetLeaderGUID() const
uint8 GetMemberFlags(ObjectGuid guid) const
bool Instanceable() const
uint32 GetInstanceId() const
LowType GetCounter() const
static ObjectGuid const Empty
std::string ToString() const
void InitTalentForLevel()
void SpawnCorpseBones(bool triggerSave=true)
void DurabilityRepairAll(bool takeCost, float discountMod, bool guildBank)
WorldSession * GetSession() const
void SaveRecallPosition()
bool IsGameMaster() const
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0)
void SaveToDB(bool create=false)
bool IsBeingTeleported() const
void ResurrectPlayer(float restore_percent, bool applySickness=false)
void setUInt32(uint8 index, uint32 value)
float GetCombatReach() const override
void SetLevel(uint8 lvl, bool sendUpdate=true)
uint32 GetPhaseMask() const
void GetClosePoint(float &x, float &y, float &z, float size, float distance2d=0, float relAngle=0) const
uint32 GetInstanceId() const
std::string const & GetName() const
Player * GetPlayer() const
bool HasPermission(uint32 permissionId)
static bool GroupFlagCommand(ChatHandler *handler, char const *args, GroupMemberFlags flag, char const *what)
static bool HandleGroupRemoveCommand(ChatHandler *handler, char const *args)
static bool HandleGroupDisbandCommand(ChatHandler *handler, char const *args)
static bool HandleGroupMainTankCommand(ChatHandler *handler, char const *args)
static bool HandleGroupAssistantCommand(ChatHandler *handler, char const *args)
static bool HandleGroupRepairCommand(ChatHandler *handler, char const *args)
static bool HandleGroupLeaderCommand(ChatHandler *handler, char const *args)
static bool HandleGroupReviveCommand(ChatHandler *handler, char const *args)
static bool HandleGroupListCommand(ChatHandler *handler, PlayerIdentifier const &target)
static bool HandleGroupJoinCommand(ChatHandler *handler, char const *args)
static bool HandleGroupMainAssistCommand(ChatHandler *handler, char const *args)
static bool HandleGroupSummonCommand(ChatHandler *handler, char const *args)
std::vector< ChatCommand > GetCommands() const override
static bool HandleGroupLevelCommand(ChatHandler *handler, Optional< PlayerIdentifier > player, int16 level)
void AddSC_group_commandscript()
TC_GAME_API Player * FindPlayer(ObjectGuid const &)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
std::string GetRolesString(uint8 roles)
@ RBAC_PERM_COMMAND_GROUP_DISBAND
@ RBAC_PERM_COMMAND_GROUP
@ RBAC_PERM_COMMAND_GROUP_SUMMON
@ RBAC_PERM_COMMAND_GROUP_LIST
@ RBAC_PERM_COMMAND_GROUP_REMOVE
@ RBAC_PERM_COMMAND_GROUP_LEADER
@ RBAC_PERM_COMMAND_GROUP_MAINTANK
@ RBAC_PERM_COMMAND_CHARACTER_LEVEL
@ RBAC_PERM_COMMAND_REPAIRITEMS
@ RBAC_PERM_COMMAND_GROUP_MAINASSIST
@ RBAC_PERM_COMMAND_GROUP_ASSISTANT
@ RBAC_PERM_COMMAND_GROUP_JOIN
@ RBAC_PERM_COMMAND_REVIVE
@ RBAC_PERM_COMMAND_GROUP_SET
@ RBAC_PERM_RESURRECT_WITH_FULL_HPS
char const * AreaName[16]
float GetOrientation() const
Player * GetConnectedPlayer() const
ObjectGuid GetGUID() const
std::string const & GetName() const
static Optional< PlayerIdentifier > FromTargetOrSelf(ChatHandler *handler)