57 char lastchar = args[strlen(args) - 1];
121 char* receiver_str = strtok((
char*)args,
" ");
122 char* text = strtok(NULL,
"");
127 if (!pCreature || !receiver_str || !text)
132 pCreature->
Whisper(text, receiver_guid);
188 sWorld.SendGlobalMessage(&data);
204 sWorld.SendGlobalGMMessage(&data);
220 std::string argstr = (
char*)args;
263 std::string argstr = (
char*)args;
292 return (std::string)str;
298 for (GmTicketList::iterator itr =
ticketmgr.GM_TicketList.begin(); itr !=
ticketmgr.GM_TicketList.end(); ++itr)
300 if ((*itr)->closed != 0)
303 std::stringstream ss;
308 if (
sObjectMgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
318 for (GmTicketList::iterator itr =
ticketmgr.GM_TicketList.begin(); itr !=
ticketmgr.GM_TicketList.end(); ++itr)
320 if ((*itr)->closed != 0 || !
sObjectMgr.GetPlayer((*itr)->playerGuid))
324 std::stringstream ss;
329 if (
sObjectMgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
339 for (GmTicketList::iterator itr =
ticketmgr.GM_TicketList.begin(); itr !=
ticketmgr.GM_TicketList.end(); ++itr)
341 if ((*itr)->closed == 0)
345 std::stringstream ss;
350 if (
sObjectMgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
362 uint64 tguid = atoi(args);
382 std::stringstream ss;
420 std::stringstream ss;
439 uint64 tguid = atoi(args);
441 if (!ticket || ticket->
closed != 0)
451 std::stringstream ss;
459 if (!plr || !plr->IsInWorld())
467 plr->GetSession()->SendPacket(&data);
474 plr->GetSession()->SendPacket(&data);
485 char* tguid = strtok((
char*)args,
" ");
486 uint64 ticketGuid = atoi(tguid);
487 char* targetgm = strtok(NULL,
" ");
492 std::string targm = targetgm;
499 if (!ticket || ticket->
closed != 0)
522 sObjectMgr.GetPlayerNameByGUID(tarGUID, gmname);
541 std::stringstream ss;
554 uint64 ticketGuid = atoi(args);
558 if (!ticket || ticket->
closed != 0)
578 std::stringstream ss;
605 char* tguid = strtok((
char*)args,
" ");
606 uint64 ticketGuid = atoi(tguid);
607 char* comment = strtok(NULL,
"\n");
615 if (!ticket || ticket->
closed != 0)
630 std::stringstream ss;
644 uint64 ticketGuid = atoi(args);
658 std::stringstream ss;
665 if (plr && plr->IsInWorld())
670 plr->GetSession()->SendPacket(&data);
694 std::string argstr = (
char*)args;
726 std::string name = args;
789 cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), obj->
GetInstanceId(),
790 zone_x, zone_y, ground_z, floor_z, have_map, have_vmap);
792 sLog.outDebug(
"Player %s GPS call for %s '%s' (%s: %u):",
797 obj->
GetMapId(), (mapEntry ? mapEntry->
name[
sWorld.GetDefaultDbcLocale()] :
"<unknown>"),
798 zone_id, (zoneEntry ? zoneEntry->
area_name[
sWorld.GetDefaultDbcLocale()] :
"<unknown>"),
799 area_id, (areaEntry ? areaEntry->
area_name[
sWorld.GetDefaultDbcLocale()] :
"<unknown>"),
801 cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), obj->
GetInstanceId(),
802 zone_x, zone_y, ground_z, floor_z, have_map, have_vmap);
817 std::string name = args;
934 std::string name = args;
1086 std::string name = args;
1129 int32 hp = atoi((
char*)args);
1130 int32 hpm = atoi((
char*)args);
1132 if (hp < 1 || hpm < 1 || hpm < hp)
1180 int32 mana = atoi((
char*)args);
1181 int32 manam = atoi((
char*)args);
1183 if (mana <= 0 || manam <= 0 || manam < mana)
1225 int32 energy = atoi((
char*)args) * 10;
1226 int32 energym = atoi((
char*)args) * 10;
1228 if (energy <= 0 || energym <= 0 || energym < energy)
1272 int32 rage = atoi((
char*)args) * 10;
1273 int32 ragem = atoi((
char*)args) * 10;
1275 if (rage <= 0 || ragem <= 0 || ragem < rage)
1336 uint32 factionid = atoi(pfactionid);
1339 char* pflag = strtok(NULL,
" ");
1345 char* pnpcflag = strtok(NULL,
" ");
1351 npcflag = atoi(pnpcflag);
1353 char* pdyflag = strtok(NULL,
" ");
1359 dyflag = atoi(pdyflag);
1381 if (!*args)
return false;
1382 char* pspellflatid = strtok((
char*)args,
" ");
1386 char* pop = strtok(NULL,
" ");
1390 char* pval = strtok(NULL,
" ");
1396 char* pmark = strtok(NULL,
" ");
1398 uint8 spellflatid = atoi(pspellflatid);
1399 uint8 op = atoi(pop);
1419 data <<
uint8(spellflatid);
1434 int tp = atoi((
char*)args);
1460 std::string argstr = (
char*)args;
1473 if (argstr ==
"off")
1494 float modSpeed = (float)atof((
char*)args);
1497 if (modSpeed > 10 || modSpeed < 0.1)
1537 float modSpeed = (float)atof((
char*)args);
1539 if (modSpeed > 10 || modSpeed < 0.1)
1576 float modSpeed = (float)atof((
char*)args);
1578 if (modSpeed > 10.0f || modSpeed < 0.1f)
1615 float modSpeed = (float)atof((
char*)args);
1617 if (modSpeed > 10.0f || modSpeed < 0.1f)
1654 float modSpeed = (float)atof((
char*)args);
1656 if (modSpeed > 50.0f || modSpeed < 0.1f)
1686 float Scale = (float)atof((
char*)args);
1687 if (Scale > 10.0f || Scale < 0.1f)
1721 float speed = (float)15;
1724 num = atoi((
char*)args);
1959 data << float(speed);
1965 data << float(speed);
1985 int32 addmoney = atoi((
char*)args);
1991 int32 newmoney = moneyuser + addmoney;
2037 char* pField = strtok((
char*)args,
" ");
2041 char* pBit = strtok(NULL,
" ");
2045 uint16 field = atoi(pField);
2054 if (bit < 1 || bit > 32)
2061 if (target->
HasFlag(field, (1 << (bit - 1))))
2068 target->
SetFlag(field, (1 << (bit - 1)));
2150 std::string namepart = args;
2151 std::wstring wnamepart;
2170 std::string name = areaEntry->
area_name[loc];
2193 if (maxResults && count++ == maxResults)
2200 std::ostringstream ss;
2202 ss << areaEntry->
ID <<
" - |cffffffff|Harea:" << areaEntry->
ID <<
"|h[" << name <<
" " <<
localeNames[loc] <<
"]|h|r";
2204 ss << areaEntry->
ID <<
" - " << name <<
" " << localeNames[loc];
2230 char const* str = strtok((
char*)args,
" ");
2234 std::string namepart = str;
2235 std::wstring wnamepart;
2243 std::ostringstream reply;
2246 bool limitReached =
false;
2249 for (GameTeleMap::const_iterator itr = teleMap.begin(); itr != teleMap.end(); ++itr)
2251 GameTele const* tele = &itr->second;
2253 if (tele->
wnameLow.find(wnamepart) == std::wstring::npos)
2256 if (maxResults && count++ == maxResults)
2258 limitReached =
true;
2263 reply <<
" |cffffffff|Htele:" << itr->first <<
"|h[" << tele->
name <<
"]|h|r\n";
2265 reply <<
" " << itr->first <<
" " << tele->
name <<
"\n";
2268 if (reply.str().empty())
2288 std::string argstr = (
char*)args;
2298 if (argstr ==
"off")
2326 char* pName = strtok((
char*)args,
" ");
2330 char* tail1 = strtok(NULL,
"");
2336 msgSubject = strtok(tail1 + 1,
"\"");
2339 char* space = strtok(tail1,
"\"");
2342 msgSubject = strtok(NULL,
"\"");
2348 char* tail2 = strtok(NULL,
"");
2354 msgText = strtok(tail2 + 1,
"\"");
2357 char* space = strtok(tail2,
"\"");
2360 msgText = strtok(NULL,
"\"");
2367 std::string name = pName;
2368 std::string subject = msgSubject;
2369 std::string text = msgText;
2408 char* pName = strtok((
char*)args,
" ");
2413 std::string name = pName;
2422 char* tail = strtok(NULL,
"");
2521 Player* pl = itr->GetSource();
2558 std::string name = args;
2588 if (to_instance && (
2600 Player* pl = itr->GetSource();
2656 char* px = strtok((
char*)args,
" ");
2657 char* py = strtok(NULL,
" ");
2658 char* pmapid = strtok(NULL,
" ");
2663 float x = (float)atof(px);
2664 float y = (float)atof(py);
2667 mapid = (
uint32)atoi(pmapid);
2703 char* px = strtok((
char*)args,
" ");
2704 char* py = strtok(NULL,
" ");
2705 char* pz = strtok(NULL,
" ");
2706 char* pmapid = strtok(NULL,
" ");
2708 if (!px || !py || !pz)
2711 float x = (float)atof(px);
2712 float y = (float)atof(py);
2713 float z = (float)atof(pz);
2716 mapid = (
uint32)atoi(pmapid);
2750 char* px = strtok((
char*)args,
" ");
2751 char* py = strtok(NULL,
" ");
2752 char* tail = strtok(NULL,
"");
2759 float x = (float)atof(px);
2760 float y = (float)atof(py);
2765 if (x < 0 || x > 100 || y < 0 || y > 100 || !areaEntry)
2812 if (!*args)
return false;
2815 char* px = strtok((
char*)args,
" ");
2816 char* py = strtok(NULL,
" ");
2817 char* pmapid = strtok(NULL,
" ");
2822 float grid_x = (float)atof(px);
2823 float grid_y = (float)atof(py);
2826 mapid = (
uint32)atoi(pmapid);
2859 if (!*args)
return false;
2862 if (drunklevel > 100)
2865 uint16 drunkMod = drunklevel * 0xFFFF / 100;
void SetAcceptWhispers(bool on)
bool HandleNpcSayCommand(const char *args)
bool Utf8FitTo(const std::string &str, std::wstring search)
AreaTableEntry const * GetAreaEntryByAreaID(uint32 area_id)
void SendNotification(const char *format,...) ATTR_PRINTF(2
bool IsBattlegroundOrArena() const
void SetSentErrorMessage(bool val)
bool HandleGMTicketListCommand(const char *args)
bool HandleModifySpellCommand(const char *args)
const uint32 & GetUInt32Value(uint16 index) const
std::string PGetParseString(int32 entry,...)
bool HasUnitMovementFlag(uint32 f) const
void SendGlobalGMSysMessage(const char *str)
void Mount(uint32 mount, uint32 spellId=0)
static bool ExistVMap(uint32 mapid, int gx, int gy)
Creature * getSelectedCreature()
uint32 GetZoneId(uint32 mapid, float x, float y, float z)
bool HandleGMTicketCommentCommand(const char *args)
uint32 GetFaction() const
bool HandleSummonCommand(const char *args)
void Yell(const char *text, uint32 language, uint64 TargetGuid)
bool HandleGMChatCommand(const char *args)
bool HandleGMmodeCommand(const char *args)
bool HandleModifyFactionCommand(const char *args)
void SetFreeTalentPoints(uint32 points)
void SetObjectScale(float scale)
bool HandleNotifyCommand(const char *args)
static void SavePositionInDB(uint32 mapid, float x, float y, float z, float o, uint32 zone, uint64 guid)
bool HandleGMTicketCloseByIdCommand(const char *args)
bool HandleModifySwimCommand(const char *args)
MotionMaster * GetMotionMaster()
bool HandleModifyRageCommand(const char *args)
bool HandleModifySpeedCommand(const char *args)
DBCStorage< FactionTemplateEntry > sFactionTemplateStore(FactionTemplateEntryfmt)
void SetBattlegroundEntryPoint()
float GetHeight(float x, float y, float z, bool checkVMap=true, float maxSearchDist=DEFAULT_HEIGHT_SEARCH) const
#define sLog
Log class singleton.
void SetUInt32Value(uint16 index, uint32 value)
void SaveRecallPosition()
bool HandleGPSCommand(const char *args)
bool HandleGMTicketDeleteByIdCommand(const char *args)
bool isAcceptWhispers() const
Player * getSelectedPlayerOrSelf()
void Initialize(uint16 opcode, size_t newres=200)
bool HandleGoXYZCommand(const char *args)
virtual void SendSysMessage(const char *str)
bool HandleModifyMoneyCommand(const char *args)
bool IsGameMaster() const
Player * GetPlayer() const
bool HandleDrunkCommand(const char *args)
uint32 GetGUIDLow() const
bool HandleGoXYCommand(const char *args)
LocaleConstant GetSessionDbcLocale() const
bool HandleAnnounceCommand(const char *args)
void AddAura(uint32 spellId, Unit *target)
DungeonDifficulty GetDifficulty()
bool Utf8toWStr(char const *utf8str, size_t csize, wchar_t *wstr, size_t &wsize)
void SetFlag(uint16 index, uint32 newFlag)
bool HandleNpcTextEmoteCommand(const char *args)
bool HandleGMTicketUnAssignCommand(const char *args)
void wstrToLower(std::wstring &str)
void SendPacket(WorldPacket const *packet)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
static ObjectAccessor & Instance()
bool HandleGMTicketReloadCommand(const char *)
bool HandleTaxiCheatCommand(const char *args)
bool HandleVisibleCommand(const char *args)
void ClearTaxiDestinations()
Map const * CreateBaseMap(uint32 id) const
bool HandleGMAnnounceCommand(const char *args)
bool HandleModifyHPCommand(const char *args)
bool HandleGroupSummonCommand(const char *args)
bool IsBeingTeleported() const
bool HandleGMNameAnnounceCommand(const char *args)
bool HandleGMTicketAssignToCommand(const char *args)
void RemoveAurasDueToSpell(uint32 spellId, Aura *except=NULL)
char const * localeNames[MAX_LOCALE]
bool normalizePlayerName(std::string &name)
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0)
Creature * GetCreature(uint64 guid)
uint32 GetMaxPower(Powers power) const
float GetOrientation() const
bool HandleGMTicketGetByIdCommand(const char *args)
void Zone2MapCoordinates(float &x, float &y, uint32 zone)
const bool & IsInWorld() const
void SetPhaseMask(uint32 newPhaseMask, bool update) override
float GetWaterLevel(float x, float y) const
void LeaveBattleground(bool teleportToEntryPoint=true)
void PSendSysMessage(const char *format,...) ATTR_PRINTF(2
uint32 GetPhaseMask() const
bool HandleModifyScaleCommand(const char *args)
ZLiquidStatus getLiquidStatus(float x, float y, float z, uint8 ReqLiquidType, LiquidData *data=0) const
bool HandleNpcYellCommand(const char *args)
bool HandleGMTicketListOnlineCommand(const char *args)
bool HandleModifyMountCommand(const char *args)
bool HandleAppearCommand(const char *args)
float GetPositionY() const
void SetDifficulty(DungeonDifficulty dungeon_difficulty)
const char * GetMapName() const
void GetPosition(float &x, float &y) const
bool HandleLookupTeleCommand(const char *args)
uint32 GetInstanceId() const
float GetPositionZ() const
float GetAngle(Position const *pos) const
bool HandleModifyBWalkCommand(const char *args)
const uint64 & GetSelection() const
void Say(const char *text, uint32 language, uint64 TargetGuid)
PackedGuid const & GetPackGUID() const
void UpdateObjectVisibility(bool forced=true) override
bool HandleGMNotifyCommand(const char *args)
InstancePlayerBind * GetBoundInstance(uint32 mapid, uint8 difficulty)
bool HandleGMTicketGetByNameCommand(const char *args)
void SetMaxHealth(uint32 val)
void SetDrunkValue(uint16 newDrunkValue, uint32 itemid=0)
GroupReference * GetFirstMember()
void SendMailTo(MailReceiver const &receiver, MailSender const &sender, MailCheckMask checked=MAIL_CHECK_MASK_NONE, uint32 deliver_delay=0)
bool HandleModifyEnergyCommand(const char *args)
void CleanupAfterTaxiFlight()
InstancePlayerBind * BindToInstance(InstanceSave *save, bool permanent, bool load=false)
void SetMoney(uint32 value)
bool HandleLookupAreaCommand(const char *args)
bool HandleGoGridCommand(const char *args)
CellCoord ComputeCellCoord(float x, float y)
std::string secsToTimeString(uint32 timeInSecs, bool shortText, bool hoursOnly)
void SetBattlegroundId(uint32 val)
const char * GetName() const
Player * getSelectedPlayer()
void RemoveFlag(uint16 index, uint32 oldFlag)
bool HandleGMTicketListClosedCommand(const char *args)
bool HandleNameAnnounceCommand(const char *args)
uint32 GetBattlegroundId() const
bool HandleModifyASpeedCommand(const char *args)
const uint64 & GetLeaderGUID() const
void SetGameMaster(bool on)
virtual const char * GetOregonString(int32 entry) const
bool IsBattlegroundOrArena() const
void SetGMVisible(bool on)
bool HandleSendMailCommand(const char *args)
uint32 realmID
Id of the realm.
static bool IsValidMapCoord(uint32 mapid, float x, float y)
void Map2ZoneCoordinates(float &x, float &y, uint32 zone)
void SetFaction(uint32 faction)
UNORDERED_MAP< uint32, GameTele > GameTeleMap
bool HandleRecallCommand(const char *args)
bool HandleTeleCommand(const char *args)
bool HandleGoZoneXYCommand(const char *args)
bool HandleNameTeleCommand(const char *args)
bool HandleNpcWhisperCommand(const char *args)
void SetPower(Powers power, uint32 val)
static IVMapManager * createOrGetVMapManager()
void ModifyHonorPoints(int32 value)
void HandleEmoteCommand(uint32 anim_id)
bool Instanceable() const
bool HandleGroupTeleCommand(const char *args)
static bool ExistMap(uint32 mapid, int gx, int gy)
void SetMaxPower(Powers power, uint32 val)
void SetSpeed(UnitMoveType mtype, float rate, bool forced=false)
void SendMessageToSet(WorldPacket *data, bool self) override
void UpdateTriggerVisibility()
bool IsOutdoors(float x, float y, float z) const
WorldSession * GetSession() const
InstanceGroupBind * GetBoundInstance(Player *player)
void uint32 GetSecurity() const
void SetHealth(uint32 val)
void Whisper(const char *text, uint64 receiver, bool IsBossWhisper=false)
bool HandleModifyHonorCommand(const char *args)
bool HasFlag(uint16 index, uint32 flag) const
void ModifyMoney(int32 d)
float GetPositionX() const
bool HandleSaveAllCommand(const char *args)
void MovementExpired(bool reset=true)
bool HandleModifyFlyCommand(const char *args)
bool HandleModifyTalentCommand(const char *args)
char * extractKeyFromLink(char *text, char const *linkType, char **something1=NULL)
float GetObjectSize() const
virtual bool needReportToTarget(Player *chr) const
bool HandleWhispersCommand(const char *args)
void TextEmote(const char *text, uint64 TargetGuid, bool IsBossEmote=false)
uint32 GetInstanceId() const
bool HandleModifyBitCommand(const char *args)
bool HandleModifyManaCommand(const char *args)
void SetOpcode(uint16 opcode)
virtual bool processCommand(char *pCommand)=0
virtual char const * GetName() const
GameTele const * extractGameTeleFromLink(char *text)
void SetTaxiCheater(bool on)
void GetClosePoint(float &x, float &y, float &z, float size, float distance2d=0, float angle=0) const
DBCStorage< AreaTableEntry > sAreaStore(AreaTableEntryfmt)
bool HasAura(uint32 spellId, uint8 effIndex=0) const
GridCoord ComputeGridCoord(float x, float y)
static bool LoadPositionFromDB(uint32 &mapid, float &x, float &y, float &z, float &o, bool &in_flight, uint64 guid)