Planeshift
adminmanager.h
Go to the documentation of this file.
1 /*
2  * adminmanager.h
3  *
4  * Copyright (C) 2001 Atomic Blue (info@planeshift.it, http://www.atomicblue.org)
5  *
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation (version 2 of the License)
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17  *
18  */
19 #ifndef __ADMINMANAGER_H__
20 #define __ADMINMANAGER_H__
21 
22 //=============================================================================
23 // Crystal Space Includes
24 //=============================================================================
25 #include <csutil/ref.h>
26 
27 //=============================================================================
28 // Project Includes
29 //=============================================================================
30 #include "net/messages.h" // Chat Message definitions
31 #include "util/psconst.h"
32 #include "util/waypoint.h"
33 
34 //=============================================================================
35 // Local Includes
36 //=============================================================================
37 #include "msgmanager.h" // Parent class
38 #include "gmeventmanager.h"
39 
42 #define PETITION_GM 0xFFFFFFFF
43 
44 //------------------------------------------------------------------------------------
45 // Forward Declarations
46 //------------------------------------------------------------------------------------
47 class psDatabase;
48 class psSpawnManager;
49 class psServer;
50 class psDatabase;
51 class EventManager;
53 class EntityManager;
54 class psSpawnManager;
55 class psAdminGameEvent;
56 class psNPCDialog;
57 class psItem;
58 class psSkillInfo;
59 struct Result;
60 class iResultSet;
61 class Client;
62 class psPathNetwork;
63 class LocationManager;
64 class psPath;
65 class Waypoint;
66 class WordArray;
67 class gemNPC;
68 
71 {
73  GM_LEVEL_9 = 29,
74  GM_LEVEL_8 = 28,
75  GM_LEVEL_7 = 27,
76  GM_LEVEL_6 = 26,
77  GM_LEVEL_5 = 25,
78  GM_LEVEL_4 = 24,
79  GM_LEVEL_3 = 23,
80  GM_LEVEL_2 = 22,
81  GM_LEVEL_1 = 21,
82  GM_LEVEL_0 = 20,
83  GM_TESTER = 10
84 };
85 
90 {
91 public:
94  {
101  };
102 
104 
107  psRewardData(Reward_Type prewardType);
108 
111  virtual ~psRewardData();
112 
116  virtual bool IsZero();
117 
122  //virtual void Award(int gmClientNum, Client* target);
123 };
124 
127 {
128 public:
129  int expDelta;
130 
134  psRewardDataExperience(int pexpDelta);
135 
139  virtual bool IsZero();
140 
141 };
142 
145 {
146 public:
147  csString factionName;
149 
150  psRewardDataFaction(csString pfactionName, int pfactionDelta);
151 
155  virtual bool IsZero();
156 };
157 
160 {
161 public:
166  csString skillName;
168  unsigned int skillCap;
169 
173 
174  psRewardDataSkill(csString pskillName, int pskillDelta, int pskillCap, bool prelativeSkill);
175 
180  virtual bool IsZero();
181 };
182 
185 {
186 public:
191  csString skillName;
192  int practice;
193 
194  psRewardDataPractice(csString pSkillName, int pDelta);
195 
200  virtual bool IsZero();
201 };
202 
205 {
206 public:
207  csString moneyType;
208 
212  bool random;
213 
219  psRewardDataMoney(csString pmoneyType, int pmoneyCount, bool prandom);
220 
224  virtual bool IsZero();
225 };
226 
229 {
230 public:
231  csString itemName;
232  unsigned short stackCount;
233 
234  psRewardDataItem(csString pitemName, int pstackCount);
235 
239  virtual bool IsZero();
240 };
241 
249 {
264 };
265 
271 {
272 public:
273  csString command;
274  bool help;
275  bool valid;
276 
280  AdminCmdData(csString commandName)
281  : command(commandName), help(false), valid(true)
282  {}
283 
288  AdminCmdData(csString commandName, WordArray &words);
289 
290  virtual ~AdminCmdData()
291  {}
292 
301  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
302 
306  virtual csString GetHelpMessage();
307 
314  void ParseError(MsgEntry* me, const char* errmsg);
315 
321  virtual bool LogGMCommand(Client* gmClient, const char* cmd);
322 
328  virtual bool IsQuietInvalid()
329  {
330  return false;
331  }
332 
333 protected:
341  bool LogGMCommand(Client* gmClient, PID playerID, const char* cmd);
342 
348  bool IsHelp(const csString &word)
349  {
350  help = (word == "help");
351  return help;
352  }
353 };
354 
362 {
363 public:
367 
370  bool area;
372  csString target;
373  PID targetID;
374 
378  AdminCmdTargetParser(int targetTypes)
379  : targetObject(NULL), targetActor(NULL), targetClient(NULL),
380  area(false), duplicateActor(false), target(), targetID(),
381  allowedTargetTypes(targetTypes), targetTypes(ADMINCMD_TARGET_UNKNOWN),
382  targetAccountID()
383  {}
384 
388  {}
389 
398  {
399  return (targetTypes == ADMINCMD_TARGET_UNKNOWN);
400  }
401 
407  {
408  return (allowedTargetTypes & targetType);
409  }
410 
416  {
417  return (targetTypes & targetType);
418  }
419 
428  virtual bool ParseTarget(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, csString target);
429 
436  virtual csString GetHelpMessagePartForTarget();
437 
442  virtual AccountID GetAccountID(size_t gmClientNum);
443 
447  bool IsOnline()
448  {
449  return (targetObject != NULL);
450  }
451 
452 protected:
455  AccountID targetAccountID;
456 
464  bool GetPlayerAccountIDByPID(size_t gmClientNum, const csString &word);
465 
474  bool GetPlayerAccountIDByPIDFromName(size_t gmClientNum, const csString &word, bool reporterror);
475 
487  bool GetPlayerAccountIDByName(size_t gmClientNum, const csString &word, bool reporterror);
488 
497  bool GetPlayerClient(AdminManager* msgManager, size_t gmClientNum, const csString &playerName, bool allowduplicate);
498 
503  virtual void Reset();
504 };
505 
510 {
511 public:
512  csHash<csString, csString> subCommands;
513 
517  {}
518 
525  AdminCmdSubCommandParser(csString commandList);
526 
528  {}
529 
533  virtual csString GetHelpMessage();
534 
538  virtual csString GetHelpMessage(const csString &subcommand);
539 
544  bool IsSubCommand(const csString &word);
545 
551  void Push(csString subcommand, csString helpmsg);
552 };
553 
557 {
558 public:
560 
561  csPDelArray<psRewardData> rewards;
562  csString error;
563 
564 
569 
571  {}
572 
578  bool ParseWords(size_t index, const WordArray &words);
579 
583  virtual csString GetHelpMessage();
584 };
585 
592 {
593 public:
597  {
598  ADMINCMD_SETTING_UNKNOWN = 0,
599  ADMINCMD_SETTING_ON = 1,
601  ADMINCMD_SETTING_TOGGLE
602  };
603 
605  csString error;
606 
607  AdminCmdOnOffToggleParser(ADMINCMD_SETTING_ONOFF defaultValue = ADMINCMD_SETTING_UNKNOWN);
608 
612  csString GetHelpMessage();
613 
617  bool IsOn();
618 
622  bool IsOff();
623 
627  bool IsToggle();
628 
636  bool ParseWord(const csString &word);
637 };
638 
642 {
643 public:
648  AdminCmdDataTarget(csString commandName, int targetTypes)
649  : AdminCmdData(commandName), AdminCmdTargetParser(targetTypes)
650  {}
651 
661  AdminCmdDataTarget(csString commandName, int targetTypes, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
662 
664  {}
665 
678  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
679 
683  virtual csString GetHelpMessage();
684 
690  virtual bool LogGMCommand(Client* gmClient, const char* cmd);
691 
696  virtual bool IsQuietInvalid()
697  {
698  return IsTargetType(ADMINCMD_TARGET_AREA);
699  }
700 };
701 
705 {
706 public:
707  csString reason;
708 
712  AdminCmdDataTargetReason(csString command)
714  {};
715 
724  AdminCmdDataTargetReason(csString command, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
725 
727  {};
728 
736  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
737 
741  virtual csString GetHelpMessage();
742 };
743 
747 {
748 public:
749  csString requestor;
750 
755  {};
756 
764  AdminCmdDataDeath(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
765 
767  {};
768 
776  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
777 
781  virtual csString GetHelpMessage();
782 };
783 
787 {
788 public:
790 
795  {};
796 
804  AdminCmdDataDeleteChar(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
805 
807  {};
808 
816  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
817 
821  virtual csString GetHelpMessage();
822 };
823 
824 
828 {
829 public:
830  csString place;
831 
836  {};
837 
845  AdminCmdDataUpdateRespawn(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
846 
848  {};
849 
857  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
858 
862  virtual csString GetHelpMessage();
863 };
864 
868 {
869 public:
870  int minutes;
871  int hours;
872  int days;
873  bool banIP;
874  csString reason;
875 
880  {};
881 
889  AdminCmdDataBan(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
890 
892  {};
893 
901  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
902 
906  virtual csString GetHelpMessage();
907 };
908 
912 {
913 public:
914  bool reload;
915  float damage;
916 
921  {};
922 
930  AdminCmdDataKillNPC(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
931 
933  {};
934 
943  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
944 
948  virtual csString GetHelpMessage();
949 };
950 
954 {
955 public:
956  csString perception;
957  csString type;
958 
963  {};
964 
972  AdminCmdDataPercept(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
973 
975  {};
976 
985  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
986 
990  virtual csString GetHelpMessage();
991 };
992 
996 {
997 public:
998  csString npcType;
999 
1004  {};
1005 
1013  AdminCmdDataChangeNPCType(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1014 
1016  {};
1017 
1026  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1027 
1031  virtual csString GetHelpMessage();
1032 };
1033 
1037 {
1038 public:
1040 
1045  {};
1046 
1054  AdminCmdDataDebugNPC(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1055 
1057  {};
1058 
1067  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1068 
1072  virtual csString GetHelpMessage();
1073 };
1074 
1078 {
1079 public:
1081 
1086  {};
1087 
1095  AdminCmdDataDebugTribe(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1096 
1101 
1110  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1111 
1115  virtual csString GetHelpMessage();
1116 };
1117 
1121 {
1122 public:
1124  csString stackableAction;
1125 
1130  {};
1131 
1139  AdminCmdDataSetStackable(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1140 
1142  {};
1143 
1152  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1153 
1157  virtual csString GetHelpMessage();
1158 };
1159 
1163 {
1164 public:
1165  csString questName;
1166 
1170  : AdminCmdData("/loadquest")
1171  {};
1172 
1180  AdminCmdDataLoadQuest(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1181 
1183  {};
1184 
1193  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1194 
1198  virtual csString GetHelpMessage();
1199 };
1200 
1204 {
1205 public:
1206  csString subCmd;
1207 
1212  {};
1213 
1221  AdminCmdDataInfo(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1222 
1224  {};
1225 
1234  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1235 
1239  virtual csString GetHelpMessage();
1240 };
1241 
1245 {
1246 public:
1247  bool random;
1248  int quality;
1249  int quantity;
1250 
1254  : AdminCmdDataTarget("/item", ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_STRING), random(false), quality(50), quantity(1)
1255  {}
1256 
1264  AdminCmdDataItem(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1265 
1267  {}
1268 
1277  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1278 
1282  virtual csString GetHelpMessage();
1283 };
1284 
1290 {
1291 public:
1294  csString subCommand;
1295 
1300  subCommandList("make makemaster copy clearlocks skel"),
1301  subTargetCommandList("changelock makeunlockable securitylockable addlock removelock")
1302  {};
1303 
1311  AdminCmdDataKey(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1312 
1314  {};
1315 
1324  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1325 
1329  virtual csString GetHelpMessage();
1330 };
1331 
1335 {
1336 public:
1337  csString scriptName;
1339 
1344  {};
1345 
1353  AdminCmdDataRunScript(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1354 
1356  {};
1357 
1366  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1367 
1371  virtual csString GetHelpMessage();
1372 };
1373 
1377 {
1378 public:
1379  int interval;
1380  int random;
1381  int amount;
1382  float range;
1383  csString itemName;
1384 
1389  {};
1390 
1398  AdminCmdDataCrystal(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1399 
1401  {};
1402 
1411  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1412 
1416  virtual csString GetHelpMessage();
1417 };
1418 
1422 {
1423 public:
1425 
1431  csString dest;
1432  csString destMap;
1433  csString destSector;
1434  float x;
1435  float y;
1436  float z;
1437 
1442  {};
1443 
1451  AdminCmdDataTeleport(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1452 
1454  {};
1455 
1464  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1465 
1469  virtual csString GetHelpMessage();
1470 };
1471 
1477 {
1478 public:
1479  csString direction;
1480  float slideAmount;
1481 
1486  {}
1487 
1495  AdminCmdDataSlide(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1496 
1498  {};
1499 
1508  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1509 
1513  virtual csString GetHelpMessage();
1514 };
1515 
1519 {
1520 public:
1521  bool uniqueName;
1523  csString newName;
1524  csString newLastName;
1525 
1530  {};
1531 
1539  AdminCmdDataChangeName(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1540 
1542  {};
1543 
1552  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1553 
1557  virtual csString GetHelpMessage();
1558 };
1559 
1560 
1564 {
1565 public:
1566  csString guildName;
1567  csString newName;
1568 
1572  : AdminCmdData("/changeguildname")
1573  {};
1574 
1582  AdminCmdDataChangeGuildName(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1583 
1585  {};
1586 
1595  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1596 
1600  virtual csString GetHelpMessage();
1601 };
1602 
1606 {
1607 public:
1608  csString guildName;
1609 
1614  {};
1615 
1623  AdminCmdDataChangeGuildLeader(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1624 
1626  {};
1627 
1636  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1637 
1641  virtual csString GetHelpMessage();
1642 };
1643 
1647 {
1648 public:
1649  csString petition;
1650 
1654  : AdminCmdData("/petition")
1655  {};
1656 
1664  AdminCmdDataPetition(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1665 
1667  {};
1668 
1677  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1678 
1682  virtual csString GetHelpMessage();
1683 };
1684 
1690 {
1691 public:
1692  csString commandMod;
1693  csString text;
1694  int duration;
1695 
1700  {};
1701 
1709  AdminCmdDataImpersonate(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1710 
1712  {};
1713 
1722  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1723 
1727  virtual csString GetHelpMessage();
1728 };
1729 
1735 {
1736 public:
1737  csString securityLevel;
1738 
1743  {};
1744 
1752  AdminCmdDataDeputize(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1753 
1755  {};
1756 
1765  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1766 
1770  virtual csString GetHelpMessage();
1771 };
1772 
1776 {
1777 public:
1779 
1784  {};
1785 
1793  AdminCmdDataAward(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1794 
1796  {};
1797 
1806  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1807 
1811  virtual csString GetHelpMessage();
1812 };
1813 
1817 {
1818 public:
1819  csString itemName;
1821 
1825  AdminCmdDataItemTarget(csString command)
1827  {};
1828 
1837  AdminCmdDataItemTarget(csString command, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1838 
1840  {};
1841 
1850  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1851 
1855  virtual csString GetHelpMessage();
1856 };
1857 
1861 {
1862 public:
1866  : AdminCmdDataItemTarget("/checkitem")
1867  {};
1868 
1876  AdminCmdDataCheckItem(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1877 
1879  {};
1880 
1889  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1890 
1894  virtual csString GetHelpMessage();
1895 };
1896 
1900 {
1901 public:
1903  csString sectorName;
1905 
1909  AdminCmdDataSectorTarget(csString command)
1910  : AdminCmdData(command), isClientSector(false), sectorInfo(NULL)
1911  {};
1912 
1921  AdminCmdDataSectorTarget(csString command, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1922 
1924  {};
1925 
1934  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1935 
1939  virtual csString GetHelpMessage();
1940 
1949  virtual bool ParseTarget(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, csString target);
1950 
1951 
1956  virtual bool GetSectorOfClient(Client* client);
1957 };
1958 
1962 {
1963 public:
1964  bool enabled;
1965  int type;
1966 
1970  : AdminCmdDataSectorTarget("/weather"), enabled(false), type(0)
1971  {};
1972 
1980  AdminCmdDataWeather(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1981 
1983  {};
1984 
1993  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
1994 
1998  virtual csString GetHelpMessage();
1999 };
2000 
2004 {
2005 public:
2006  bool enabled;
2008  int interval;
2009  int fadeTime;
2010 
2014  AdminCmdDataWeatherEffect(csString command)
2015  : AdminCmdDataSectorTarget(command), enabled(false), particleCount(4000), interval(600000), fadeTime(10000)
2016  {};
2017 
2026  AdminCmdDataWeatherEffect(csString command, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2027 
2029  {};
2030 
2039  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2040 
2044  virtual csString GetHelpMessage();
2045 };
2046 
2050 {
2051 public:
2052  bool enabled;
2053  int density;
2054  int fadeTime;
2055  int interval;
2056  int r;
2057  int g;
2058  int b;
2059 
2063  : AdminCmdDataSectorTarget("/fog"), enabled(false), density(200), fadeTime(10000), interval(0), r(200), g(200), b(200)
2064  {};
2065 
2073  AdminCmdDataFog(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2074 
2076  {};
2077 
2086  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2087 
2091  virtual csString GetHelpMessage();
2092 };
2093 
2097 {
2098 public:
2100  csString subCommand;
2101  int interval;
2103  int amount;
2104  int range;
2105  float x;
2106  float y;
2107  float z;
2108  float rot;
2109  csString skillName;
2110  int level;
2111  bool enabled;
2112 
2116  : AdminCmdDataTarget("/modify", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_ITEM | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET), attributeList("pickupable unpickable transient npcowned collide settingitem")
2117  {};
2118 
2126  AdminCmdDataModify(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2127 
2129  {};
2130 
2139  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2140 
2144  virtual csString GetHelpMessage();
2145 };
2146 
2150 {
2151 public:
2152  csString subCommand;
2153  csString raceName;
2154  csString genderName;
2155  csString scale;
2156 
2161  {};
2162 
2170  AdminCmdDataMorph(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2171 
2173  {};
2174 
2183  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2184 
2188  virtual csString GetHelpMessage();
2189 };
2190 
2194 {
2195 public:
2196  csString subCommand;
2197  csString scale;
2198 
2203  {};
2204 
2212  AdminCmdDataScale(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2213 
2215  {};
2216 
2225  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2226 
2230  virtual csString GetHelpMessage();
2231 };
2232 
2233 
2237 {
2238 public:
2243  csString subCommand;
2245  /*
2246  csString skillName; ///< Name of the skill to set
2247  int value; ///< value of the skill
2248  bool relative; ///< when the value should be relative
2249  */
2250 
2255  {};
2256 
2264  AdminCmdDataSetSkill(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2265 
2267  {};
2268 
2277  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2278 
2282  virtual csString GetHelpMessage();
2283 };
2284 
2288 {
2289 public:
2293 
2294  csString subCommand;
2295  csString attribute;
2296 
2300  : AdminCmdDataTarget("/set", ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PID | ADMINCMD_TARGET_AREA | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_NPC | ADMINCMD_TARGET_EID | ADMINCMD_TARGET_CLIENTTARGET | ADMINCMD_TARGET_ME), subCommandList("list gm player"), attributeList("invincible invincibility invisibility invisible viewall nevertired nofalldamage infiniteinventory questtester infinitemana instantcast givekillexp attackable buddyhide"), setting()
2301  {};
2302 
2310  AdminCmdDataSet(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2311 
2313  {};
2314 
2323  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2324 
2328  virtual csString GetHelpMessage();
2329 };
2330 
2334 {
2335 public:
2337 
2338  csString labelType;
2339 
2344  {};
2345 
2353  AdminCmdDataSetLabelColor(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2354 
2356  {};
2357 
2366  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2367 
2371  virtual csString GetHelpMessage();
2372 };
2373 
2377 {
2378 public:
2380  csString subCommand;
2381  csString guildName;
2382  csString description;
2383 
2387  : AdminCmdDataSectorTarget("/action"), subCommandList("create_entrance")
2388  {};
2389 
2397  AdminCmdDataAction(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2398 
2400  {};
2401 
2410  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2411 
2415  virtual csString GetHelpMessage();
2416 };
2417 
2421 {
2422 public:
2424  csString subCommand;
2425  csString locationType;
2426  csString locationName;
2427  float radius;
2429  float rotAngle;
2430 
2434  : AdminCmdData("/location"), subCommandList("help adjust display hide")
2435  {};
2436 
2444  AdminCmdDataLocation(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2445 
2447  {};
2448 
2457  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2458 
2462  virtual csString GetHelpMessage();
2463 };
2464 
2468 {
2469 public:
2473  csString subCmd;
2474  csString aliasSubCmd;
2477  float radius;
2478  float newRadius;
2479  csString waypoint;
2480  csString alias;
2481  csString flagName;
2482  csString waypointPathName;
2484  csString waypointFlags;
2485  csString pathFlags;
2486  csString cmdTarget;
2490 
2491 
2495  : AdminCmdData("/path"), subCommandList("adjust alias display format help hide info point start stop"), aliasSubCommandList("add remove"), wpList("waypoints points"), subCmd(), defaultRadius(2.0)
2496  {};
2497 
2505  AdminCmdDataPath(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2506 
2508  {};
2509 
2518  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2519 
2523  virtual csString GetHelpMessage();
2524 };
2525 
2529 {
2530 public:
2532  csString subCmd;
2533 
2536 
2537  csString gmeventName;
2538  csString gmeventDesc;
2539 
2540  csString commandMod;
2542  float range;
2543 
2547  : AdminCmdData("/event"), subCommandList("help list"), subCmd(), player(ADMINCMD_TARGET_TARGET | ADMINCMD_TARGET_PLAYER | ADMINCMD_TARGET_CLIENTTARGET)
2548  {};
2549 
2557  AdminCmdDataGameMasterEvent(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2558 
2560  {};
2561 
2570  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2571 
2575  virtual csString GetHelpMessage();
2576 };
2577 
2581 {
2582 public:
2584  csString subCmd;
2585  csString typeName;
2586  csString typeNPCType;
2588 
2591 
2595  : AdminCmdData("/hire"), subCommandList("help list"), subCmd(), owner(NULL), hiredNPC(NULL)
2596  {};
2597 
2605  AdminCmdDataHire(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2606 
2608  {};
2609 
2618  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2619 
2623  virtual csString GetHelpMessage();
2624 };
2625 
2629 {
2630 public:
2631  int first;
2632  int last;
2633 
2638  {};
2639 
2647  AdminCmdDataBadText(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2648 
2650  {};
2651 
2660  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2661 
2665  virtual csString GetHelpMessage();
2666 };
2667 
2671 {
2672 public:
2674  csString subCmd;
2675  csString questName;
2676 
2681  subCommandList("complete list discard assign")
2682  {};
2683 
2691  AdminCmdDataQuest(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2692 
2694  {};
2695 
2704  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2705 
2709  virtual csString GetHelpMessage();
2710 };
2711 
2715 {
2716 public:
2717  int quality;
2719 
2724  {};
2725 
2733  AdminCmdDataSetQuality(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2734 
2736  {};
2737 
2746  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2747 
2751  virtual csString GetHelpMessage();
2752 };
2753 
2757 {
2758 public:
2759  csString subCmd;
2760  csString race;
2762  csString traitName;
2763 
2768  {};
2769 
2777  AdminCmdDataSetTrait(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2778 
2780  {};
2781 
2790  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2791 
2795  virtual csString GetHelpMessage();
2796 };
2797 
2801 {
2802 public:
2803  csString name;
2804  csString description;
2805 
2810  {};
2811 
2819  AdminCmdDataSetItem(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2820 
2822  {};
2823 
2832  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2833 
2837  virtual csString GetHelpMessage();
2838 };
2839 
2843 {
2844 public:
2845  csString subCmd;
2846  int itemID;
2848 
2852  : AdminCmdData("/reload"), itemID(0)
2853  {};
2854 
2862  AdminCmdDataReload(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2863 
2865  {};
2866 
2875  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2876 
2880  virtual csString GetHelpMessage();
2881 };
2882 
2886 {
2887 public:
2892  {};
2893 
2901  AdminCmdDataListWarnings(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2902 
2904  {};
2905 
2914  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2915 
2919  virtual csString GetHelpMessage();
2920 };
2921 
2925 {
2926 public:
2927  csString questName;
2928  bool saveToDb;
2929 
2933  : AdminCmdData("/disablequest")
2934  {};
2935 
2943  AdminCmdDataDisableQuest(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2944 
2946  {};
2947 
2956  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2957 
2961  virtual csString GetHelpMessage();
2962 };
2963 
2967 {
2968 public:
2969  int expValue;
2970 
2975  {};
2976 
2984  AdminCmdDataSetKillExp(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2985 
2987  {};
2988 
2997  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
2998 
3002  virtual csString GetHelpMessage();
3003 };
3004 
3008 {
3009 public:
3010  csString factionName;
3012 
3017  {};
3018 
3026  AdminCmdDataAssignFaction(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3027 
3029  {};
3030 
3039  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3040 
3044  virtual csString GetHelpMessage();
3045 };
3046 
3050 {
3051 public:
3052  csString reason;
3053  int time;
3054 
3058  : AdminCmdData("/serverquit")
3059  {};
3060 
3068  AdminCmdDataServerQuit(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3069 
3071  {};
3072 
3081  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3082 
3086  virtual csString GetHelpMessage();
3087 };
3088 
3092 {
3093 public:
3097  : AdminCmdData("/npcclientquit")
3098  {};
3099 
3107  AdminCmdDataNPCClientQuit(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3108 
3110  {};
3111 
3120  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3121 
3125  virtual csString GetHelpMessage();
3126 };
3127 
3131 {
3132 public:
3135  AdminCmdDataSimple(csString commandName)
3136  : AdminCmdData(commandName)
3137  {};
3138 
3149  AdminCmdDataSimple(csString commandName, AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3150 
3152  {};
3153 
3162  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3163 
3167  virtual csString GetHelpMessage();
3168 };
3169 
3170 
3174 {
3175 public:
3176  csString text;
3177  bool sequential;
3178 
3182  : AdminCmdData("/rndmsgtest")
3183  {};
3184 
3192  AdminCmdDataRndMsgTest(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3193 
3195  {};
3196 
3207  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3208 
3214  virtual csString GetHelpMessage();
3215 };
3216 
3223 {
3224 public:
3226  csString subCommand;
3227 
3232  : AdminCmdData("/list"), subCommandList("map")
3233  {};
3234 
3244  AdminCmdDataList(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3245 
3247  {};
3248 
3259  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3260 
3266  virtual csString GetHelpMessage();
3267 };
3268 
3275 {
3276 public:
3278  csString subCommand;
3279  int hour,minute;
3280 
3284  : AdminCmdData("/time"), subCommandList("show set"), hour(0), minute(0)
3285  {}
3286 
3296  AdminCmdDataTime(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3297 
3299  {};
3300 
3311  virtual AdminCmdData* CreateCmdData(AdminManager* msgManager, MsgEntry* me, psAdminCmdMessage &msg, Client* client, WordArray &words);
3312 
3318  virtual csString GetHelpMessage();
3319 };
3320 
3321 
3333 {
3334 public:
3336  virtual ~AdminCmdDataFactory();
3337 
3342  AdminCmdData* FindFactory(csString datatypename);
3343 
3344  /*/* @brief Register a new AdminCmdData for a command.
3345  * @param func Factory function that creates data objects for the command
3346  * @param datatypename Name of the command to search for (including /)
3347  */
3348  //void RegisterMsgFactoryFunction(AdminCmdMsgFactoryFunc func, const char* datatypename);
3349 
3353  void RegisterMsgFactoryFunction(AdminCmdData* obj);
3354 
3355 protected:
3356  csPDelArray<AdminCmdData> adminCmdDatas;
3357 };
3358 
3361 class AdminManager : public MessageManager<AdminManager>, public iEffectIDAllocator
3362 {
3363 public:
3364  AdminManager();
3365  virtual ~AdminManager();
3366 
3379  void Admin(int clientnum, Client* client, int requestedLevel = -1);
3380 
3386  void AwardExperienceToTarget(int gmClientnum, Client* target, int ppAward);
3387 
3394  void AdjustFactionStandingOfTarget(int gmClientnum, Client* target, csString factionName, int standingDelta);
3395 
3405  bool ApplySkill(int gmClientNum, Client* target, psSkillInfo* skill, int value, bool relative = false, int cap = 0);
3406 
3413  void AwardToTarget(unsigned int gmClientNum, Client* target, psRewardData* data);
3414 
3420  bool GetStartOfMap(int clientnum, const csString &map, iSector* &targetSector, csVector3 &targetPoint);
3421 
3426  void HandleNpcCommand(MsgEntry* pMsg, Client* client);
3427 
3431  {
3432  return pathNetwork;
3433  }
3434 
3436  {
3437  return locations;
3438  }
3439 
3440 protected:
3444 
3449  bool IsReseting(const csString &command);
3450 
3455  void HandleAdminCmdMessage(MsgEntry* pMsg, Client* client);
3456 
3461  void HandlePetitionMessage(MsgEntry* pMsg, Client* client);
3462 
3467  void HandleGMGuiMessage(MsgEntry* pMsg, Client* client);
3468 
3476  void SpawnItemInv(MsgEntry* me, Client* client);
3477 
3483  void SpawnItemInv(MsgEntry* me, psGMSpawnItem &msg, Client* client);
3484 
3490  void HandleLoadQuest(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3491 
3498  void GetSiblingChars(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3499 
3500 
3507  void GetInfo(MsgEntry* me,psAdminCmdMessage &msg, AdminCmdData* data,Client* client);
3508 
3509 
3516  void CreateNPC(MsgEntry* me,psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3517 
3524  void KillNPC(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3525 
3532  void Percept(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3533 
3540  void ChangeNPCType(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* cmddata, Client* client);
3541 
3548  void DebugNPC(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* cmddata, Client* client);
3549 
3556  void DebugTribe(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* cmddata, Client* client);
3557 
3567  void CreateItem(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3568 
3575  void ModifyKey(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3576 
3587  void ChangeLock(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3588 
3599  void MakeUnlockable(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3600 
3610  void MakeSecurity(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3611 
3612 
3625  void MakeKey(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client, bool masterkey);
3626 
3634  void CopyKey(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client, psItem* key);
3635 
3643  void AddRemoveLock(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client,psItem* key);
3644 
3651  void RunScript(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3652 
3664  void CreateHuntLocation(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3665 
3672  void ModifyItem(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3673 
3685  void Slide(MsgEntry* me,psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3686 
3691  void TeleportOfflineCharacter(Client* client, AdminCmdDataTeleport* data);
3692 
3699  void Teleport(MsgEntry* me,psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3700 
3712  bool GetTargetOfTeleport(Client* client, psAdminCmdMessage &msg, AdminCmdData* data, iSector* &targetSector, csVector3 &targetPoint, float &yRot, gemObject* subject, InstanceID &instance);
3713 
3722  bool MoveObject(Client* client, gemObject* target, csVector3 &pos, float yrot, iSector* sector, InstanceID instance);
3723 
3734  void WarnMessage(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3735 
3744  void KickPlayer(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3745 
3752  void MutePlayer(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3753 
3760  void UnmutePlayer(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3761 
3768  void Death(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3769 
3776  void Impersonate(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3777 
3786  void SetAttrib(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3787 
3794  void SetLabelColor(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3795 
3800  void Divorce(MsgEntry* me, AdminCmdData* data);
3801 
3806  void ViewMarriage(MsgEntry* me, AdminCmdData* data);
3807 
3814  int PathPointCreate(int pathID, int prevPointId, csVector3 &pos, csString &sectorName);
3815 
3834  void FindPath(csVector3 &pos, iSector* sector, float radius,
3835  Waypoint** wp, float* rangeWP,
3836  psPath** path, float* rangePath, int* indexPath, float* fraction,
3837  psPath** pointPath, float* rangePoint, int* indexPoint);
3838 
3841  virtual uint32_t GetEffectID();
3842 
3848  void HideAllPaths(bool clearSelected);
3849 
3855  void HidePaths(Client* client);
3856 
3862  void HideWaypoints(Client* client);
3863 
3870  void HidePaths(Client* client, iSector* sector);
3871 
3878  void HideWaypoints(Client* client, iSector* sector);
3879 
3883  void RedisplayAllPaths();
3884 
3890  void ShowPaths(Client* client);
3891 
3897  void ShowWaypoints(Client* client);
3898 
3905  void ShowPaths(Client* client, iSector* sector);
3906 
3913  void ShowWaypoints(Client* client, iSector* sector);
3914 
3918  void UpdateDisplayPath(psPathPoint* point);
3919 
3923  void UpdateDisplayWaypoint(Waypoint* wp);
3924 
3933  void HandlePath(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3934 
3944  int LocationCreate(int typeID, csVector3 &pos, csString &sectorName, csString &name, int radius);
3945 
3949  void ShowLocations(Client* client);
3950 
3954  void ShowLocations(Client* client, iSector* sector);
3955 
3961  void HideAllLocations(bool clearSelected);
3962 
3965  void HideLocations(Client* client);
3966 
3969  void HideLocations(Client* client, iSector* sector);
3970 
3974  void RedisplayAllLocations();
3975 
3978  void UpdateDisplayLocation(Location* location);
3979 
3988  void HandleLocation(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3989 
3998  void HandleActionLocation(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
3999 
4008  void HandleAddPetition(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data,Client* client);
4009 
4017  void BroadcastDirtyPetitions(int clientNum, bool includeSelf=false);
4018 
4027  bool GetPetitionsArray(csArray<psPetitionInfo> &petitions, Client* client, bool IsGMrequest = false);
4028 
4036  void ListPetitions(MsgEntry* me, psPetitionRequestMessage &msg, Client* client);
4037 
4045  void CancelPetition(MsgEntry* me, psPetitionRequestMessage &msg, Client* client);
4046 
4054  void ChangePetition(MsgEntry* me, psPetitionRequestMessage &msg, Client* client);
4055 
4063  void GMListPetitions(MsgEntry* me, psPetitionRequestMessage &msg, Client* client);
4064 
4074  void GMHandlePetition(MsgEntry* me, psPetitionRequestMessage &msg, Client* client);
4075 
4083  void SendGMPlayerList(MsgEntry* me, psGMGuiMessage &msg, Client* client);
4084 
4094  void HandleList(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data,Client* client);
4095 
4104  void HandleTime(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data,Client* client);
4105 
4114  void ChangeName(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4115 
4122  void UpdateRespawn(AdminCmdData* data, Client* client);
4123 
4133  void Weather(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4134 
4144  void Rain(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4145 
4155  void Snow(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4156 
4167  void Thunder(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4168 
4178  void Fog(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4179 
4194  void DeleteCharacter(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4195 
4207  void BanName(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4208 
4220  void UnBanName(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4221 
4234  void BanClient(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4235 
4248  void UnbanClient(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4249 
4263  void BanAdvisor(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4264 
4277  void UnbanAdvisor(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4278 
4287  void SendSpawnTypes(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4288 
4295  void SendSpawnItems(MsgEntry* me, Client* client);
4296 
4303  void SendSpawnMods(MsgEntry* me, Client* client);
4304 
4313  void RenameGuild(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4314 
4323  void ChangeGuildLeader(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4324 
4334  void SendAwardInfo(size_t gmClientnum, Client* target, const char* awardname, const char* awarddesc, int awarded);
4335 
4345  void AwardExperience(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client, Client* target);
4346 
4353  void Award(AdminCmdData* data, Client* client);
4354 
4363  void TransferItem(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4364 
4372  void CheckItem(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data);
4373 
4382  void FreezeClient(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4383 
4392  void ThawClient(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4393 
4404  void Inspect(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4405 
4416  void SetSkill(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4417 
4426  void Morph(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4427 
4436  void Scale(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4437 
4446  void TempSecurityLevel(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4447 
4454  int GetTrueSecurityLevel(AccountID accountID);
4455 
4464  void HandleGMEvent(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4465 
4472  void HandleHire(AdminCmdData* data, Client* client);
4473 
4481  void HandleBadText(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4482 
4491  void HandleQuest(MsgEntry* me,psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4492 
4499  void HandleSetQuality(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4500 
4509  void ItemStackable(MsgEntry* me, AdminCmdData* data, Client* client);
4510 
4518  void HandleSetTrait(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4519 
4527  void HandleSetItemName(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4528 
4537  void HandleReload(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4538 
4546  void HandleListWarnings(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4547 
4555  void CheckTarget(psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4556 
4565  void DisableQuest(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4566 
4575  void SetKillExp(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4576 
4585  void AssignFaction(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4586 
4595  void HandleServerQuit(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4596 
4605  void HandleNPCClientQuit(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4606 
4615  void HandleVersion(MsgEntry* me, psAdminCmdMessage &msg, AdminCmdData* data, Client* client);
4616 
4626  bool AddPetition(PID playerID, const char* petition);
4627 
4636  iResultSet* GetPetitions(PID playerID, PID gmID = PETITION_GM);
4637 
4646  bool CancelPetition(PID playerID, int petitionID, bool isGMrequest = false);
4647 
4657  bool ChangePetition(PID playerID, int petitionID, const char* petition);
4658 
4667  bool ClosePetition(PID gmID, int petitionID, const char* desc);
4668 
4676  bool AssignPetition(PID gmID, int petitionID);
4677 
4686  bool DeassignPetition(PID gmID, int gmLevel, int petitionID);
4687 
4697  bool EscalatePetition(PID gmID, int gmLevel, int petitionID);
4698 
4708  bool DescalatePetition(PID gmID, int gmLevel, int petitionID);
4709 
4719  bool LogGMCommand(AccountID accountID, PID gmID, PID playerID, const char* cmd);
4720 
4730  void RandomMessageTest(AdminCmdData* data, Client* client);
4731 
4738  const char* GetLastSQLError();
4739 
4740  csString lasterror;
4741 
4743 
4744 
4750  void SendGMAttribs(Client* client);
4751 
4761 
4766 
4771 };
4772 
4773 #endif
PSCHARACTER_GENDER gender
gender of the character
Class for storing subcommands for a specific word position.
Definition: adminmanager.h:509
gemActor * owner
Class for commands with a sector target.
csString raceName
name of the race to morph to
AdminCmdSubCommandParser subCommandList
list of subcommands
AdminCmdRewardParser rewardList
rewards parser and storage
csString questName
name of the specified quest
InstanceID destInstance
id for the destination instance (when given)
virtual ~AdminCmdDataSetLabelColor()
csString typeNPCType
type NPC type storage
csString newName
new guildname
Class for terminating the server.
uint32 InstanceID
Definition: psconst.h:64
int duration
The duration of the anim if any (0 default one run)
int amount
amount of items
csString place
named place to respawn (currently &#39;here&#39; or nothing)
Definition: adminmanager.h:830
csString newLastName
new Lastname
virtual ~AdminCmdDataPercept()
Definition: adminmanager.h:974
csString perception
the perception to fire.
Definition: adminmanager.h:956
AdminCmdSubCommandParser subCommandList
list of valid subcommands
Class for setting quality for an item command.
bool banIP
true if the IP address is to ban
Definition: adminmanager.h:873
csPDelArray< psRewardData > rewards
extracted rewards
Definition: adminmanager.h:561
RewardDataPractice holds practice reward data.
Definition: adminmanager.h:184
Manages CEL entities on the server.
Definition: entitymanager.h:77
virtual ~AdminCmdDataChangeName()
psPathNetwork * pathNetwork
Holds the entire PathNetwork for editing of paths.
AdminCmdDataSetKillExp()
Creates obj for specified command that sets the killing exp.
virtual ~AdminCmdDataImpersonate()
int density
density of the fog
AdminCmdDataSetTrait()
Creates obj for specified command that sets/displays traits.
AdminCmdSubCommandParser attributeList
virtual ~AdminCmdDataServerQuit()
Class for location command.
AdminCmdDataSetQuality()
Creates obj for specified command that changes item quality.
AdminCmdSubCommandParser subTargetCommandList
list of sub commands requiring a target
csString dest
destination command (when not a generic target)
Class for killing and reloading a npc.
Definition: adminmanager.h:911
csString guildName
guildname whos leader is to change
int first
first textline to fetch from npc
virtual ~AdminCmdSubCommandParser()
Definition: adminmanager.h:527
csString waypoint
waypoint name
virtual bool IsQuietInvalid()
Used to invalidate commands with area as they will be handled elsewhere.
Definition: adminmanager.h:696
unsigned short stackCount
number of items to award
Definition: adminmanager.h:232
csString itemName
name of the item to award
Definition: adminmanager.h:231
Represents a skill an NPC, player or pet can learn.
Definition: psskills.h:72
int moneyCount
relativ amount of money to adjust by if this is 0, a random value is used
Definition: adminmanager.h:211
AdminCmdDataScale()
Creates obj for specified command that needs a reason.
virtual ~AdminCmdDataKillNPC()
Definition: adminmanager.h:932
AdminCmdDataQuest()
Creates obj for specified command that examine/modify quests.
AdminCmdDataChangeGuildLeader()
Creates obj for specified command that changes a guild leader.
AdminCmdDataAction()
Creates obj for specified command creating a guildentrance.
csString subCmd
subcommand storage
bool uniqueFirstName
whether the first name should be unique
virtual ~AdminCmdDataSetTrait()
virtual ~AdminCmdDataWeather()
bool IsHelp(const csString &word)
Test for help word and store help state when found.
Definition: adminmanager.h:348
"name of a npc"
Definition: adminmanager.h:257
Class for changing tribe debug level.
AdminCmdDataRndMsgTest()
Creates obj for specified command sending test message.
csString locationType
type of the location
csString flagName
single flag name
bool IsAllowedTargetType(ADMINCMD_TARGET_TYPES targetType)
Test whether the given target type is allowed or not.
Definition: adminmanager.h:406
AdminCmdTargetParser player
when a playertarget needs to be parsed
csString scale
optional scale
float newRadius
The radius to set for new radius for wps.
float z
point to teleport to z coordinate
AccountID targetAccountID
internal cache value for accountID
Definition: adminmanager.h:455
float searchRadius
The radius to search for the location.
virtual bool IsZero()
checks if the reward is zero returns bool: true when reward is a zero gain, otherwise false ...
virtual ~AdminCmdDataDisableQuest()
float rotationAngle
The rotation angle of a alias.
Definition: pspath.h:152
Base class for on, off, toggle string Parser.
Definition: adminmanager.h:591
csString command
command name this obj contains data for
Definition: adminmanager.h:273
csString pathFlags
path flags
virtual bool IsQuietInvalid()
Used for overriding.
Definition: adminmanager.h:328
Class for issuing player warnings.
int stackCount
amount to transfer
int qualityMax
qualitymax for the item
Class for list command.
the targeted object of the client issuing the admincomman
Definition: adminmanager.h:260
bool wpOrPathIsIndex
True when an index is used.
virtual ~AdminCmdDataDebugTribe()
Destructor.
Admin commands.
Definition: messages.h:1306
csString aliasSubCmd
storage for alias subcommand
Class for handling path commands.
Class for deputize command.
ADMINCMD_TARGET_TYPES
The different generic target types of admin command targets.
Definition: adminmanager.h:248
csString subCommand
subcommand (copy)
trias, octas, ...
Definition: adminmanager.h:98
int r
fog color, red component
AdminCmdDataAward()
Creates obj for specified command that awards rewards.
AdminCmdDataImpersonate()
Creates obj for specified command that impersonates someone.
bool help
flag for displaying help (true for displaying help)
Definition: adminmanager.h:274
int allowedTargetTypes
allowed destination types
Definition: adminmanager.h:453
csString alias
waypoint alias name
csString direction
direction where the slide should done
int b
fog color, blue component
The structure of 1 queue entry (pointer to a message)
Definition: message.h:143
Class for disabling/enabling a quest.
int skillDelta
value to adjust the skill by/set it to
Definition: adminmanager.h:167
Simple one word commands.
Class containing object factory for AdminCmdData objects.
virtual ~AdminCmdDataList()
csString target
player that is target for the command
Definition: adminmanager.h:372
AdminCmdDataTargetReason(csString command)
Creates obj for specified command that needs a reason.
Definition: adminmanager.h:712
csString requestor
gm requesting this deletion command
Definition: adminmanager.h:749
PID targetID
stores PID when target is a player/npc/???? specified by PID
Definition: adminmanager.h:373
Class for setting attributes on a player.
csString skillName
name of the skill picked
csString text
msg to test send
The main server class.
Definition: psserver.h:102
int hours
hours part of the time to ban
Definition: adminmanager.h:871
Class for setting the killing exp.
Class for searching for bad npc text.
csString locationName
name of the location
int targetTypes
type of the parsed target
Definition: adminmanager.h:454
Class for setting item names and descriptions.
csString itemName
name of the item to hunt
Base class for all the data classes for admin commands.
Definition: adminmanager.h:270
virtual ~AdminCmdDataLocation()
AdminCmdSubCommandParser aliasSubCommandList
subsubcmds of alias
csString subCommand
storage for the given subcommand
float y
movement related data, y coordinate
AdminCmdDataRunScript()
Creates obj for specified command that execute a script.
AdminCmdSubCommandParser subCommandList
list of subcommands
A waypoint is a specified circle on the map with a name, location, and a list of waypoints it is conn...
Definition: waypoint.h:81
virtual ~AdminCmdDataPath()
GM_LEVEL
List of GM levels and their security level.
Definition: adminmanager.h:70
AdminCmdDataGameMasterEvent()
Creates obj for specified command that concern game events.
AdminCmdSubCommandParser subCommandList
list of subcommands
bool area
is set to true if a character was found by name and multiple name instances were found.
Definition: adminmanager.h:370
csString subCmd
subcommand storage
AdminCmdDataWeatherEffect(csString command)
Creates obj for specified command that change weather effects.
Class for modifying command.
bool enabled
whether to enable/disable the effect
int debugLevel
The debug level to set for npc.
AdminCmdDataDeputize()
Creates obj for specified command that elevates someones rights.
AdminCmdTargetParser sourcePlayer
target parser for possible source player can also be optional, but then the target player must be spe...
virtual ~AdminCmdDataCrystal()
ADMINCMD_SETTING_ONOFF
detected settings recognized by the parser.
Definition: adminmanager.h:596
csString subCmd
possibly one subcommand here
Class for commands deleting a player.
Definition: adminmanager.h:786
virtual ~AdminCmdDataTarget()
Definition: adminmanager.h:663
Class for commands creating items.
csString subCommand
the parsed subcommand if any
bool IsTargetType(ADMINCMD_TARGET_TYPES targetType)
Test whether the given target type is of the supplied type or not.
Definition: adminmanager.h:415
csString reason
reason for the shutdown
AdminCmdDataFog()
Creates obj for specified command that control fog.
AdminCmdDataLoadQuest()
Creates obj for specified command that needs a reason.
float range
range to search for targets
AdminCmdDataSectorTarget(csString command)
Creates obj for specified command that target a sector.
Class for commands for instantly killing a user (player).
Definition: adminmanager.h:746
virtual ~AdminCmdDataItem()
csString attribute
the parsed attribute name if any
RangeSpecifier rangeSpecifier
range type
int level
level for a skill
csString destSector
sectorname
AdminCmdDataModify()
Creates obj for specified command that modifies an item.
when the target does not need to be any of the above defined targets
Definition: adminmanager.h:263
Class for some action (guildentrance creation).
csString stackableAction
subcommand storage
csString subCmd
storage for subcommand
int quantity
quantity of the item
virtual ~AdminCmdDataLoadQuest()
int interval
interval value
Class for game event command.
virtual ~AdminCmdData()
Definition: adminmanager.h:290
AdminCmdDataItem()
Creates obj for specified command that needs a reason.
Class for banning a player.
Definition: adminmanager.h:867
AdminCmdSubCommandParser wpList
targetnames of hide/show
virtual ~AdminCmdDataSetKillExp()
int expValue
experience to set
virtual ~AdminCmdDataBadText()
Base class for creating treasure hunts.
Class for time command.
AdminCmdSubCommandParser subCommandList
list of subcommands
AdminCmdDataSetLabelColor()
Creates obj for specified command setting labels.
AdminCmdSubCommandParser subCommandList
possible sub commands
"name of an object"
Definition: adminmanager.h:256
bool saveToDb
whether to save this to the db or not
AdminCmdDataNPCClientQuit()
Creates obj for specified command that ends the server.
bool IsOnline()
Returns true when the &#39;target&#39; is online.
Definition: adminmanager.h:447
csString typeName
type name storage
csString npcType
The type of npc which will be assigned.
Definition: adminmanager.h:998
csString moneyType
name of the money type to award (circles, hexas, ...)
Definition: adminmanager.h:207
virtual ~AdminCmdDataRunScript()
csString description
description for the guild entrance
Admin manager that handles GM commands and general game control.
AdminCmdSubCommandParser()
initializes subcommands list without any commands.
Definition: adminmanager.h:516
AdminCmdTargetParser(int targetTypes)
default constructor.
Definition: adminmanager.h:378
csString scale
optional scale
Any semi-autonomous object, either a player or an NPC.
Definition: gem.h:1170
Class for sliding a player command.
ADMINCMD_SETTING_ONOFF value
stores on,off,toggle
Definition: adminmanager.h:604
AdminCmdDataLocation()
Creates obj for specified command that needs a reason.
virtual ~AdminCmdDataMorph()
Class for teleport command.
csString itemName
name of the item to transfer
AdminCmdTargetParser destObj
when specified at the cmd line, that an ingame object is the destination
csString reason
reason for the ban
Definition: adminmanager.h:874
csString race
specifier for the race of the character
virtual ~AdminCmdDataInfo()
float radius
radius of the location
gemObject * targetObject
set to the object of the target when possible
Definition: adminmanager.h:364
csString labelType
name of the label &#39;color&#39;
Class for assigning awards for factions.
virtual ~AdminCmdDataSetStackable()
AdminCmdSubCommandParser destList
list of destination commands
virtual ~AdminCmdDataDebugNPC()
csString guildName
guildname for create_entrance
Class for a command running a script.
Class for awarding rewards command.
Manager that manage all locations and location types.
Definition: location.h:353
int waypointPathIndex
Index of the wp or point.
csString subCommand
subcommand (if any)
unsigned int skillCap
maximum value the skill should have
Definition: adminmanager.h:168
when object is an item
Definition: adminmanager.h:259
bool destInstanceValid
true when the instance is valid
csString questName
quest to disable
WordArray is class that parses text command (e.g.
Definition: strutil.h:62
virtual ~AdminCmdDataSetQuality()
csString error
set to error message when parsing failed
Definition: adminmanager.h:605
Class for item check command.
csString scriptName
name of the script to execute
AdminCmdDataReload()
Creates obj for specified command that reloads item stats.
float x
point to teleport to x coordinate
AdminCmdDataUpdateRespawn()
Creates obj for specified command that updates a respawn point.
Definition: adminmanager.h:834
Class for terminating the server.
psSectorInfo * sectorInfo
sector either found by sectorname or client position
AdminCmdDataSimple(csString commandName)
Creates obj for specified command that ends the server.
float defaultRadius
default radius for the case radius == 0.0
float damage
If <> 0 than only do this damage.
Definition: adminmanager.h:915
virtual ~AdminCmdDataSimple()
csString subCommand
given subcommand
AdminCmdDataWeather()
Creates obj for specified command that change the weather.
virtual ~AdminCmdDataDeleteChar()
Definition: adminmanager.h:806
when it&#39;s allowed to lookup the database.
Definition: adminmanager.h:262
virtual ~AdminCmdDataListWarnings()
virtual ~AdminCmdDataAward()
int maxinterval
maximum
csString subCmd
subcommand
AdminCmdDataPetition()
Creates obj for specified command that creates petitions.
float rot
movement related data, rotation
Class for setskill command.
bool enabled
whether the weather effect is enabled or not
int factionDelta
relative value to adjust faction by
Definition: adminmanager.h:148
csString gmeventDesc
description of the event
AdminCmdDataCheckItem()
Creates obj for specified item check command.
csString commandMod
whether say,shout,worldshout should be used
Class for key (lock) related commands.
Class for commands that only need a target and a reason.
Definition: adminmanager.h:704
csString newName
new Firstname
csString traitName
name of the trait to add (if adding is possible)
int particleCount
number of particles for the effect
float slideAmount
the distance to slide
virtual ~AdminCmdDataSetSkill()
AdminCmdDataAssignFaction()
Creates obj for specified command that assigns factions.
virtual ~AdminCmdDataUpdateRespawn()
Definition: adminmanager.h:847
This is a wrapper class for result sets which makes syntax for getting at the data easier and also us...
Definition: psdatabase.h:132
int minutes
minutes part of the time to ban
Definition: adminmanager.h:870
#define PETITION_GM
This is used for petitions to choose if it&#39;s a player or a gm asking to do a certain operation...
Definition: adminmanager.h:42
Class for name changing of a player.
int days
days part of the time to ban
Definition: adminmanager.h:872
AdminCmdDataPercept()
Creates obj for specified command that kills/reloads a npc.
Definition: adminmanager.h:961
PSCHARACTER_GENDER
Definition: charmessages.h:14
csString guildName
name of the guild
csString lasterror
internal string used for formating and passing back errormessages
Base class for all commands that need a target to work on.
Definition: adminmanager.h:641
Class for weather command.
RangeSpecifier
AdminCmdDataCrystal()
Creates obj for specified command that define a treasure hunt.
Class for un/setting, displaying information on stackable items.
int quality
quality in numbers for the item
AdminCmdSubCommandParser subCommandList
List of possible sub commands.
csString gmeventName
name of the event
Class for commands creating items.
This class collects data of a netclient.
Definition: client.h:95
csString securityLevel
security level to grant temporarily
gemActor * targetActor
set to the targets actor when possible
Definition: adminmanager.h:365
psRewardDataSkill skillData
data about the skill to set
virtual ~AdminCmdDataBan()
Definition: adminmanager.h:891
int interval
lenght of the weather effect
AdminCmdDataChangeName()
Creates obj for specified command that changes a players name.
AdminCmdSubCommandParser attributeList
list of valid attributes
Class for transfering items.
bool random
whether the amount should be randomized or fix
Definition: adminmanager.h:212
AdminCmdDataInfo()
Creates obj for specified command that needs a reason.
AdminCmdOnOffToggleParser setting
the specified setting on|off|toggle
float radius
radius for waypoint/path operations
virtual ~AdminCmdDataChangeNPCType()
Definition: gem.h:1910
int debugLevel
The debug level to set for npc.
AdminCmdDataKey()
Creates obj for specified command managing locks.
virtual ~AdminCmdDataRndMsgTest()
AdminCmdDataSlide()
Creates obj for specified command that needs a reason.
Class for petitions.
AdminCmdDataList()
Creates obj for specified command that needs a reason.
ClientConnectionSet * clients
internal list of clients connected to the server
AdminCmdDataKillNPC()
Creates obj for specified command that kills/reloads a npc.
Definition: adminmanager.h:919
virtual ~AdminCmdDataAction()
int interval
lenght of the weather effect
AdminCmdDataPath()
Creates obj for specified command that manipulate paths.
int interval
respawn interval ??
csString questName
name of quest to modify/examine
AdminCmdDataDeleteChar()
Creates obj for specified command that needs a reason.
Definition: adminmanager.h:793
virtual ~AdminCmdDataSectorTarget()
virtual ~AdminCmdDataDeputize()
AdminCmdDataDisableQuest()
Creates obj for specified command for quest dis-/en-abling.
virtual ~AdminCmdDataPetition()
Class for scale command.
int quality
quality for the item
Class for percepting a npc.
Definition: adminmanager.h:953
float range
spawn range ??
Helper interface to allocate effect IDs.
Definition: pspath.h:48
AdminCmdDataSetItem()
Creates obj for specified command changing item name/description.
AdminCmdDataListWarnings()
Creates obj for specified command that issues a player warning.
csString subCommand
given subcommand
AdminCmdSubCommandParser labelTypeList
list of valid label types
This class exists per NPC, and holds all dialog triggers, responses and scripts for this particular N...
Definition: psnpcdialog.h:151
Messages that are sent to the GM GUI windowManager.
Definition: messages.h:1070
csString subCommand
subcommand storage
AdminCmdDataBan()
Creates obj for specified command that bans a player.
Definition: adminmanager.h:878
csString description
description for the item
Class for parsing rewards data from a command string and storing it.
Definition: adminmanager.h:556
bool uniqueName
whether the name should be unique
AdminCmdTargetParser origObj
Optional argument to specify a different origin for the script being run.
csString destMap
mapname
Class for guild leader changing command.
RewardDataItem holds item reward data.
Definition: adminmanager.h:228
csString type
the type data for the perception.
Definition: adminmanager.h:957
Class for reloading item stats.
virtual ~AdminCmdDataScale()
virtual ~AdminCmdDataTime()
bool sequential
true is for sending messages in sequende, otherwise randomly
int expDelta
relative value to adjust exp by
Definition: adminmanager.h:129
AdminCmdData(csString commandName)
creates data object for the specified command.
Definition: adminmanager.h:280
Class for changing npc debug level.
Class for changing npc types.
Definition: adminmanager.h:995
csString subCommand
sub command envoked
AdminCmdDataServerQuit()
Creates obj for specified command that ends the server.
int practice
value to adjust the practice by/set it to
Definition: adminmanager.h:192
AdminCmdSubCommandParser subCommandList
allowed subcommands
AdminCmdDataChangeNPCType()
Creates obj for specified command that changes npctype of a npc.
AdminCmdDataChangeGuildName()
Creates obj for specified command that changes a guild name.
csString commandMod
subsubcommand
Class for sending sequenced test message.
virtual ~AdminCmdTargetParser()
the default destructor.
Definition: adminmanager.h:387
Class for impersonation command.
float rotAngle
rotation angle for this location
Class for setting traits or retrieving info.
virtual ~AdminCmdDataCheckItem()
virtual ~AdminCmdDataQuest()
virtual ~AdminCmdDataTargetReason()
Definition: adminmanager.h:726
Class for examing/modifying quests.
bool enabled
enable or disable a setting
when the target word gives an account name
Definition: adminmanager.h:261
virtual ~psRewardData()
Destructor.
virtual ~AdminCmdDataTeleport()
AdminCmdDataTarget(csString commandName, int targetTypes)
Creates obj for the given command and allowed target types.
Definition: adminmanager.h:648
Client * targetClient
set to the targets client when possible
Definition: adminmanager.h:366
csString waypointFlags
waypoint flags
A gemObject is any solid, graphical object visible in PS with normal physics and normal collision det...
Definition: gem.h:314
Reward_Type
The different types of rewards that can be assigned.
Definition: adminmanager.h:93
bool random
random item modifiers are added
csString name
name for the item
when not recognized as any of the below types
Definition: adminmanager.h:250
AdminCmdSubCommandParser subCommandList
list of subcommands
csString subCommand
subcommand storage
csHash< csString, csString > subCommands
list of subcommands
Definition: adminmanager.h:512
int itemID
item id
RewardDataMoney holds money reward data.
Definition: adminmanager.h:204
bool relativeSkill
determines whether the value to adjust the skill is relative or not
Definition: adminmanager.h:172
AdminCmdDataSetStackable()
Creates obj for specified command that needs a reason.
virtual ~AdminCmdDataDeath()
Definition: adminmanager.h:766
bool isClientSector
true when sector of client is stored
float y
point to teleport to y coordinate
AdminCmdSubCommandParser subCommandList
List of possible sub commands.
AdminCmdDataDebugTribe()
Creates obj for specified command that changes Tribe Debug level.
virtual ~AdminCmdDataSetItem()
virtual ~AdminCmdDataAssignFaction()
csPDelArray< AdminCmdData > adminCmdDatas
storage for command data factory functions
psPathNetwork * GetPathNetwork()
return the path network
int g
fog color, green component
AdminCmdDataDeath()
Creates obj for specified command that needs a requestor.
Definition: adminmanager.h:753
Class for setting labels.
csString genderName
name of the gender to morph to
int firstIndex
index for waypoint paths
float x
movement related data, x coordinate
csString cmdTarget
&#39;W&#39; or &#39;P&#39; as a target for hide/show
csString factionName
faction name to assign
csString subCommand
subcommand (if any)
csString petition
text of the petition
This class is a list of several CLient objects, it&#39;s designed for finding clients very fast based on ...
Definition: clients.h:58
csString sectorName
name of the sector (when parsed successfully)
Contains information about sectors from the server perspective.
Definition: pssectorinfo.h:46
bool valid
flag for setting content valid/invalid
Definition: adminmanager.h:275
AdminCmdDataTeleport()
Creates obj for teleport command data.
AdminCmdDataItemTarget(csString command)
Creates obj for specified command that transfers items.
virtual ~AdminCmdDataWeatherEffect()
Messages sent by the user to the server with requests for petition information.
Definition: messages.h:1045
csString waypointPathName
pathname for waypoints
virtual ~AdminCmdDataItemTarget()
A Location is a named place on the map, located dynamically by NPCs as scripted.
Definition: location.h:48
RewardDataExperience holds experience reward data.
Definition: adminmanager.h:126
psNPCDialog * npcdlg
Holds a dummy dialog.
virtual ~AdminCmdDataNPCClientQuit()
csString text
text to send impersonated
int factionPoints
faction points to assign
virtual ~AdminCmdDataKey()
RewardDataSkill holds skill reward data.
Definition: adminmanager.h:159
A network of Waypoint and psPath objects.
Definition: pspathnetwork.h:42
Class for game event command.
virtual ~AdminCmdDataSlide()
AdminCmdDataMorph()
Creates obj for specified command that needs a reason.
csString skillName
name of the skill to adjust.
Definition: adminmanager.h:166
Reward_Type rewardType
stores the reward type /see Reward_Type
Definition: adminmanager.h:103
RewardDataFaction holds faction reward data.
Definition: adminmanager.h:144
bool enabled
whether the weather effect is enabled or not
bool wpOrPathIsWP
Is it the path or the wp that should be updated.
csString subCmd
Sub of commands.
AdminCmdDataFactory * dataFactory
Data object factory for parsing command data.
AdminCmdRewardParser rewardList
rewards parser and storage
AdminCmdTargetParser requestor
gm requesting this deletion command
Definition: adminmanager.h:789
LocationManager * GetLocationManager()
float z
movement related data, z coordinate
AdminCmdSubCommandParser subCommandList
list of sub commands
AdminCmdDataHire()
Creates obj for specified command that concern hire.
This class handles all queueing and invoking of timed events, such as combat, spells, NPC dialog responses, range weapons, or NPC respawning.
Definition: eventmanager.h:40
Represents a point on a path between two waypoints.
Definition: pspath.h:58
virtual ~AdminCmdDataModify()
virtual ~AdminCmdDataHire()
Base class for manipulating weather effects.
Class for loading/reloading quests.
csString skillName
name of the practice to adjust.
Definition: adminmanager.h:191
Class for name changing a guild.
AdminCmdSubCommandParser rewardTypes
reward types
Definition: adminmanager.h:559
int fadeTime
in millisecs the time to have the particles fade
csString subCmd
sub command
bool reload
whether NPC should be reloaded after the kill or not
Definition: adminmanager.h:914
int type
Which weather effect we should disable or enable.
AdminCmdDataSetSkill()
Creates obj for specified command that change skill levels.
int time
time until shutdown
virtual ~AdminCmdDataFog()
Class for parsing a target of a admin command.
Definition: adminmanager.h:361
"name of a player"
Definition: adminmanager.h:255
Class for fog command.
AdminCmdDataBadText()
Creates obj for specified command examine npc dialogs.
LocationManager * locations
Hold every location in the world for editing of locations.
int fadeTime
in millisecs the time to have the particles fade
AdminCmdDataTime()
Creates obj for specified command that needs a reason.
bool IsTargetTypeUnknown()
Test for unparsable targettype.
Definition: adminmanager.h:397
virtual ~AdminCmdDataReload()
int last
last textline to fetch
AdminCmdDataDebugNPC()
Creates obj for specified command that changes NPC Debug level.
AdminCmdSubCommandParser subCommandList
list of allowed subcommands
psRewardData(Reward_Type prewardType)
Only initializes the rewardType.
PID masterPID
master PID storage
AdminCmdDataSet()
Creates obj for specified command that set attribute values.
virtual ~AdminCmdDataSet()
Reward Data is an abstract structure for all kinds of rewards.
Definition: adminmanager.h:89
csString factionName
name of the faction to adjust
Definition: adminmanager.h:147
Class for player/npc respawn update.
Definition: adminmanager.h:827
This class embodies item instances in the game.
Definition: psitem.h:238
csString reason
reason for this deletion command
Definition: adminmanager.h:707
csString error
only set when an error occured during parsing
Definition: adminmanager.h:562
Provides a manager to facilitate subscriptions.
Definition: msgmanager.h:106
Class for morph command.