36#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
37#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
49 static std::vector<ChatCommand> groupSetCommandTable =
57 static std::vector<ChatCommand> groupCommandTable =
71 static std::vector<ChatCommand> commandTable =
83 player = PlayerIdentifier::FromTargetOrSelf(handler);
87 Player* target = player->GetConnectedPlayer();
97 target = it->GetSource();
102 if (level != oldlevel)
111 if (oldlevel <
static_cast<uint8>(level))
133 Player* target = it->GetSource();
158 Player* target = it->GetSource();
181 std::string nameLink = handler->
GetNameLink(target);
192 bool onlyLocalSummon =
false;
203 onlyLocalSummon =
true;
209 Player* player = itr->GetSource();
211 if (!player || player == gmPlayer || !player->
GetSession())
218 std::string plNameLink = handler->
GetNameLink(player);
263 Group* group =
nullptr;
265 char* nameStr = strtok((
char*)args,
" ");
289 Group* group =
nullptr;
291 char* nameStr = strtok((
char*)args,
" ");
348 Group* group =
nullptr;
350 char* nameStr = strtok((
char*)args,
" ");
369 Group* group =
nullptr;
371 char* nameStr = strtok((
char*)args,
" ");
392 Player* playerSource =
nullptr;
393 Player* playerTarget =
nullptr;
394 Group* groupSource =
nullptr;
395 Group* groupTarget =
nullptr;
398 char* nameplgrStr = strtok((
char*)args,
" ");
399 char* nameplStr = strtok(
nullptr,
" ");
414 if (groupTarget || playerTarget->
GetGroup() == groupSource)
421 if (groupSource->
IsFull())
436 char const* zoneName =
"<ERROR>";
437 char const* onlineState =
"Offline";
440 Group* groupTarget =
nullptr;
452 groupTarget =
sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
471 for (Group::MemberSlotList::const_iterator itr = members.begin(); itr != members.end(); ++itr)
485 flags.append(
"MainTank");
492 flags.append(
"MainAssist");
504 onlineState =
"online";
DB2Storage< AreaTableEntry > sAreaTableStore("AreaTable.db2", &AreaTableLoadInfo::Instance)
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.
WorldSession * GetSession()
virtual LocaleConstant GetSessionDbcLocale() const
virtual std::string GetNameLink() const
void PSendSysMessage(const char *fmt, Args &&... args)
bool HasLowerSecurity(Player *target, ObjectGuid guid, bool strong=false)
void SetSentErrorMessage(bool val)
bool GetPlayerGroupAndGUIDByName(const char *cname, Player *&player, Group *&group, ObjectGuid &guid, bool offline=false)
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)
bool RemoveMember(ObjectGuid guid, RemoveMethod method=GROUP_REMOVEMETHOD_DEFAULT, ObjectGuid kicker=ObjectGuid::Empty, const char *reason=nullptr)
GroupReference * GetFirstMember()
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
static std::string FormatPhases(PhaseShift const &phaseShift)
void InitTalentForLevel()
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, TeleportToOptions options=TELE_TO_NONE, Optional< uint32 > instanceId={})
void SpawnCorpseBones(bool triggerSave=true)
void DurabilityRepairAll(bool takeCost, float discountMod, bool guildBank)
WorldSession * GetSession() const
void SaveRecallPosition()
void SaveToDB(bool create=false)
Group * GetGroup(Optional< uint8 > partyIndex)
bool IsBeingTeleported() const
void ResurrectPlayer(float restore_percent, bool applySickness=false)
void setUInt64(const uint8 index, const uint64 value)
float GetCombatReach() const override
void SetLevel(uint8 lvl, bool sendUpdate=true)
constexpr uint32 GetMapId() const
void GetClosePoint(float &x, float &y, float &z, float size, float distance2d=0, float relAngle=0) const
PhaseShift & GetPhaseShift()
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
EnumFlag< AreaFlags > GetFlags() const
constexpr float GetOrientation() const
Player * GetConnectedPlayer() const
ObjectGuid GetGUID() const
std::string const & GetName() const