9
3

Commands.h 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  1. /*
  2. EQ2Emulator: Everquest II Server Emulator
  3. Copyright (C) 2007 EQ2EMulator Development Team (http://www.eq2emulator.net)
  4. This file is part of EQ2Emulator.
  5. EQ2Emulator is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. EQ2Emulator is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with EQ2Emulator. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #ifndef __EQ2_COMMANDS__
  17. #define __EQ2_COMMANDS__
  18. #include "../../common/DataBuffer.h"
  19. #include "../../common/MiscFunctions.h"
  20. #include "../../common/types.h"
  21. #include "../../common/opcodemgr.h"
  22. #include <vector>
  23. #include <string>
  24. #include <map>
  25. #include "../../common/debug.h"
  26. using namespace std;
  27. class Client;
  28. class Spawn;
  29. class ZoneServer;
  30. extern map<int16,OpcodeManager*>EQOpcodeManager;
  31. #define CHANNEL_COLOR_RED 3
  32. #define CHANNEL_COLOR_CHAT_RELATIONSHIP 4
  33. #define CHANNEL_COLOR_YELLOW 5
  34. #define CHANNEL_COLOR_REVIVE 12
  35. #define CHANNEL_COLOR_MAIL 12
  36. #define CHANNEL_COLOR_WHITE 12
  37. #define CHANNEL_COLOR_GROUP 15
  38. #define CHANNEL_COLOR_GUILD 18
  39. #define CHANNEL_COLOR_GUILD_MOTD 20
  40. #define CHANNEL_COLOR_GUILD_EVENT 22
  41. #define CHANNEL_COLOR_EXP 36
  42. #define CHANNEL_COLOR_SKILL 39
  43. #define CHANNEL_COLOR_FACTION 40
  44. #define CHANNEL_COLOR_SPELL_EFFECT 42
  45. #define CHANNEL_COLOR_SPELL 47
  46. #define CHANNEL_COLOR_SPELL_INTERRUPT 52
  47. #define CHANNEL_COLOR_SPELL_FADE 51
  48. #define CHANNEL_COLOR_COMBAT 60
  49. #define CHANNEL_COLOR_LOOT 81
  50. #define CHANNEL_COLOR_NEW_LOOT 84
  51. #define CHANNEL_COLOR_NEWEST_LOOT 89
  52. #define CHANNEL_COLOR_MERCHANT 88
  53. #define CHANNEL_COLOR_GROUP_INVITE 89
  54. #define CHANNEL_COLOR_GUILD_MSGS 94
  55. #define CHANNEL_COLOR_HARVEST 96
  56. #define UPDATE_COLOR_WHITE 254 // For UpdateText
  57. #define CHANNEL_SAY 8
  58. #define CHANNEL_SHOUT 9
  59. #define CHANNEL_EMOTE 10
  60. #define CHANNEL_GROUP 15
  61. #define CHANNEL_RAID 16
  62. #define CHANNEL_GUILD 18
  63. #define CHANNEL_OFFICER 19
  64. #define CHANNEL_SAYTARGET 25 // you say to xxx
  65. #define CHANNEL_TELL 28 // you tell xxx
  66. #define CHANNEL_OOC 32
  67. //#define CHANNEL_AUCTION 30
  68. #define CLASSIC_CLIENT_CHANNEL_SAY 10
  69. #define CLASSIC_CLIENT_CHANNEL_SHOUT 11
  70. #define CLASSIC_CLIENT_CHANNEL_EMOTE 12
  71. #define CLASSIC_CLIENT_CHANNEL_GROUP 26
  72. #define CLASSIC_CLIENT_CHANNEL_RAID 27
  73. #define CLASSIC_CLIENT_CHANNEL_GUILD 32
  74. #define CLASSIC_CLIENT_CHANNEL_OFFICER 33
  75. #define CLASSIC_CLIENT_CHANNEL_SAYTARGET 40 // you say to xxx
  76. #define CLASSIC_CLIENT_CHANNEL_TELL 41 // you tell xxx
  77. #define CLASSIC_CLIENT_CHANNEL_OOC 49
  78. #define CHANNEL_GAME_TEXT 1
  79. #define CHANNEL_DEFAULT 2
  80. #define CHANNEL_ERROR 3
  81. #define CHANNEL_STATUS 4
  82. #define CHANNEL_MOTD 5
  83. #define CHANNEL_CHAT_TEXT 6
  84. #define CHANNEL_NEARBY_CHAT 7
  85. #define CHANNEL_SAY 8
  86. #define CHANNEL_SHOUT 9
  87. #define CHANNEL_EMOTE 10
  88. #define CHANNEL_YELL 11
  89. #define CHANNEL_NARRATIVE 12
  90. #define CHANNEL_NONPLAYER_SAY 13
  91. #define CHANNEL_GROUP_CHAT 14
  92. #define CHANNEL_GROUP_SAY 15 // Use this for group chat
  93. #define CHANNEL_RAID_SAY 16
  94. #define CHANNEL_GUILD_CHAT 17
  95. #define CHANNEL_GUILD_SAY 18 // Use this for guild chat
  96. #define CHANNEL_OFFICER_SAY 19
  97. #define CHANNEL_GUILD_MOTD 20
  98. #define CHANNEL_GUILD_MEMBER_ONLINE 21
  99. #define CHANNEL_GUILD_EVENT 22
  100. #define CHANNEL_GUILD_RECRUITING_PAGE 23
  101. #define CHANNEL_GUILD_RECRUITING_PAGE_OTHER 24
  102. #define CHANNEL_PRIVATE_CHAT 25
  103. #define CHANNEL_NONPLAYER_TELL 26
  104. #define CHANNEL_OBJECT_TEXT 27
  105. #define CHANNEL_PRIVATE_TELL 28
  106. #define CHANNEL_TELL_FROM_CS 29
  107. #define CHANNEL_ARENA 30
  108. #define CHANNEL_CHAT_CHANNEL_TEXT 31
  109. #define CHANNEL_OUT_OF_CHARACTER 32
  110. #define CHANNEL_AUCTION 33
  111. // 34 is nothing, message with 34 as type will not show on client
  112. #define CHANNEL_CHARACTER_TEXT 35
  113. #define CHANNEL_REWARD 36
  114. #define CHANNEL_DEATH 37
  115. #define CHANNEL_PET_CHAT 38
  116. #define CHANNEL_SKILL 39
  117. #define CHANNEL_FACTION 40
  118. // Combat related chat channels start here
  119. #define CHANNEL_SPELLS 41
  120. #define CHANNEL_YOU_CAST 42
  121. #define CHANNEL_YOU_FAIL 43
  122. #define CHANNEL_CRITICAL_CAST 44
  123. #define CHANNEL_FRIENDLY_CAST 45
  124. #define CHANNEL_FRIENDLY_FAIL 46
  125. #define CHANNEL_OTHER_CAST 47
  126. #define CHANNEL_OTHER_FAIL 48
  127. #define CHANNEL_HOSTILE_CAST 49
  128. #define CHANNEL_HOSTILE_FAIL 50
  129. #define CHANNEL_WORN_OFF 51
  130. #define CHANNEL_SPELLS_OTHER 52
  131. #define CHANNEL_HEAL_SPELLS 53
  132. #define CHANNEL_HEALS 54
  133. #define CHANNEL_FRIENDLY_HEALS 55
  134. #define CHANNEL_OTHER_HEALS 56
  135. #define CHANNEL_HOSTILE_HEALS 57
  136. #define CHANNEL_CRITICAL_HEALS 58
  137. #define CHANNEL_COMBAT 59
  138. #define CHANNEL_GENERAL_COMBAT 60
  139. #define CHANNEL_HEROIC_OPPORTUNITY 61
  140. #define CHANNEL_NON_MELEE_DAMAGE 62
  141. #define CHANNEL_DAMAGE_SHIELD 63
  142. #define CHANNEL_WARD 64
  143. #define CHANNEL_DAMAGE_INTERCEPT 65
  144. #define CHANNEL_MELEE_COMBAT 66
  145. #define CHANNEL_WARNINGS 67
  146. #define CHANNEL_YOU_HIT 68
  147. #define CHANNEL_YOU_MISS 69
  148. #define CHANNEL_ATTACKER_HITS 70
  149. #define CHANNEL_ATTACKER_MISSES 71
  150. #define CHANNEL_YOUR_PET_HITS 72
  151. #define CHANNEL_YOUR_PET_MISSES 73
  152. #define CHANNEL_ATTACKER_HITS_PET 74
  153. #define CHANNEL_ATTACKER_MISSES_PET 75
  154. #define CHANNEL_OTHER_HIT 76
  155. #define CHANNEL_OTHER_MISSES 77
  156. #define CHANNEL_CRITICAL_HIT 78
  157. #define CHANNEL_HATE_ADJUSTMENTS 79
  158. #define CHANNEL_YOUR_HATE 80
  159. #define CHANNEL_OTHERS_HATE 81
  160. #define CHANNEL_DISPELS_AND_CURES 82
  161. #define CHANNEL_DISPEL_YOU 83
  162. #define CHANNEL_DISPEL_OTHER 84
  163. #define CHANNEL_CURE_YOU 85
  164. #define CHANNEL_CURE_OTHER 86
  165. // End of combat chat channels
  166. #define CHANNEL_OTHER 87
  167. #define CHANNEL_MONEY_SPLIT 88
  168. #define CHANNEL_LOOT 89
  169. #define CHANNEL_LOOT_ROLLS 90
  170. #define CHANNEL_COMMAND_TEXT 91
  171. #define CHANNEL_BROADCAST 92 // Goes to all chat windows no matter what
  172. #define CHANNEL_WHO 93
  173. #define CHANNEL_COMMANDS 94
  174. #define CHANNEL_MERCHANT 95
  175. #define CHANNEL_MERCHANT_BUY_SELL 96
  176. #define CHANNEL_CONSIDER_MESSAGE 97
  177. #define CHANNEL_CON_MINUS_2 98
  178. #define CHANNEL_CON_MINUS_1 99
  179. #define CHANNEL_CON_0 100
  180. #define CHANNEL_CON_1 101
  181. #define CHANNEL_CON_2 102
  182. #define CHANNEL_TRADESKILLS 103
  183. #define CHANNEL_HARVESTING 104
  184. #define CHANNEL_HARVESTING_WARNINGS 105
  185. // 106 is nothing, message sent with this channel won't display in the client
  186. #define CHANNEL_VOICE_CHAT 107
  187. // 108+ will crash the client DO NOT USE
  188. /* Using this in the /zone details command so that we do not have to store a whole zone in memory while changing zone attributes. Also,
  189. ran into a problem when deleting a zone pointer (for zones that were not running), it would try to shut down a zone which was not
  190. running, causing world to crash. */
  191. struct ZoneInfo {
  192. int32 id;
  193. int8 expansion_id;
  194. char name[64];
  195. char file[64];
  196. char description[256];
  197. float safe_x;
  198. float safe_y;
  199. float safe_z;
  200. float underworld;
  201. int8 min_recommended;
  202. int8 max_recommended;
  203. char zone_type[64];
  204. bool always_loaded;
  205. bool city_zone;
  206. sint16 min_status;
  207. int16 min_level;
  208. int16 max_level;
  209. int8 start_zone;
  210. int8 instance_type;
  211. int32 default_reenter_time;
  212. int32 default_reset_time;
  213. int32 default_lockout_time;
  214. int8 force_group_to_zone;
  215. char lua_script[256];
  216. int32 shutdown_timer;
  217. char zone_motd[256];
  218. float xp_modifier;
  219. int16 min_version;
  220. bool weather_allowed;
  221. int32 ruleset_id;
  222. };
  223. class EQ2_CommandString : public DataBuffer{
  224. public:
  225. EQ2_CommandString(){ handler = 0; }
  226. EQ2_CommandString(uchar* buffer, int32 size){
  227. InitializeLoadData(buffer, size);
  228. LoadData(handler);
  229. LoadDataString(command);
  230. }
  231. EQ2_16BitString command;
  232. int16 handler;
  233. };
  234. class EQ2_RemoteCommandString : public DataBuffer{
  235. public:
  236. EQ2_RemoteCommandString(){ handler = 0; }
  237. EQ2_RemoteCommandString(char* name, int32 in_handler, sint16 in_status){
  238. command.data = string(name);
  239. command.size = command.data.length();
  240. handler = in_handler;
  241. required_status = in_status;
  242. }
  243. EQ2_RemoteCommandString(uchar* buffer, int32 size){
  244. required_status = 0;
  245. InitializeLoadData(buffer, size);
  246. LoadData(handler);
  247. LoadDataString(command);
  248. }
  249. EQ2_8BitString command;
  250. int16 handler;
  251. sint16 required_status;
  252. };
  253. class RemoteCommands {
  254. public:
  255. RemoteCommands(){ num_commands = 0; buffer.clear(); }
  256. int16 num_commands;
  257. vector<EQ2_RemoteCommandString> commands;
  258. void addCommand(EQ2_RemoteCommandString add){ commands.push_back(add); num_commands++;}
  259. void AddSubCommand(string command, EQ2_RemoteCommandString subcommand){
  260. subcommands[command][subcommand.command.data] = subcommand;
  261. }
  262. bool validSubCommand(string command, string subcommand){
  263. if(subcommands.count(command) > 0 && subcommands[command].count(subcommand) > 0)
  264. return true;
  265. return false;
  266. }
  267. void addZero(){
  268. num_commands++;
  269. EQ2_RemoteCommandString add;
  270. add.command.size = 0;
  271. commands.push_back(add);
  272. }
  273. void CheckAddSubCommand(string command, EQ2_RemoteCommandString subcommand){
  274. vector<EQ2_RemoteCommandString>::iterator itr;
  275. for(itr = commands.begin(); itr != commands.end();itr++){
  276. if((*itr).command.data == command){
  277. AddSubCommand(command, subcommand);
  278. return;
  279. }
  280. }
  281. // TODO: cannot seem to use LogWrite in this .h file!
  282. printf("Unable to find parent command '%s' for subcommand: '%s'\n\tEvery subcommand must have a parent command!", command.c_str(), subcommand.command.data.c_str());
  283. }
  284. void AddDataCommand(EQ2_RemoteCommandString* command){
  285. buffer.append((char*)&command->command.size, sizeof(command->command.size));
  286. if(command->command.size>0)
  287. buffer.append(command->command.data);
  288. }
  289. int32 GetCommandHandler(const char* name){
  290. if(!name)
  291. return 0xFFFFFFFF;
  292. int8 name_size = strlen(name);
  293. for(int32 i = 0; i < commands.size(); i++){
  294. if(commands[i].command.size > 0){
  295. if(strncasecmp(commands[i].command.data.c_str(), name, name_size) == 0)
  296. return commands[i].handler;
  297. }
  298. }
  299. return 0xFFFFFFFF;
  300. }
  301. string buffer;
  302. EQ2Packet* serialize();
  303. map<string, map <string, EQ2_RemoteCommandString> > subcommands;
  304. };
  305. class Commands{
  306. public:
  307. Commands();
  308. ~Commands();
  309. bool SetSpawnCommand(Client* client, Spawn* target, int8 type, const char* value, bool send_update = true, bool temporary = false, string* temp_value = 0);
  310. bool SetZoneCommand(Client* client, int32 zone_id, ZoneServer* zone, int8 type, const char* value);
  311. RemoteCommands* GetRemoteCommands() { return remote_commands; }
  312. void Process(int32 index, EQ2_16BitString* command_parms, Client* client, Spawn* targetOverride=NULL);
  313. int32 GetCommandHandler(const char* name){
  314. return remote_commands->GetCommandHandler(name);
  315. }
  316. int32 GetSpawnSetType(string val);
  317. // JA: New Command handlers
  318. void Command_AcceptAdvancement(Client* client, Seperator* sep);
  319. void Command_AFK(Client* client, Seperator* sep);
  320. void Command_Appearance(Client* client, Seperator* sep, int handler);
  321. void Command_CancelMaintained(Client* client, Seperator* sep);
  322. void Command_Claim(Client* client, Seperator* sep);
  323. void Command_ClearAllQueued(Client* client);
  324. void Command_Create(Client* client, Seperator* sep);
  325. void Command_CreateFromRecipe(Client* client, Seperator* sep);
  326. void Command_Distance(Client* client);
  327. void Command_Duel(Client* client, Seperator* sep);
  328. void Command_DuelBet(Client* client, Seperator* sep);
  329. void Command_DuelAccept(Client* client, Seperator* sep);
  330. void Command_DuelDecline(Client* client, Seperator* sep);
  331. void Command_DuelSurrender(Client* client, Seperator* sep);
  332. void Command_DuelToggle(Client* client, Seperator* sep);
  333. void Command_EntityCommand(Client* client, Seperator* sep, int handler);
  334. void Command_Follow(Client* client, Seperator* sep);
  335. void Command_StopFollow(Client* client, Seperator* sep);
  336. void Command_Grid(Client* client);
  337. void Command_Guild(Client* client, Seperator* sep);
  338. void Command_CreateGuild(Client* client);
  339. void Command_SetGuildOfficerNote(Client* client, Seperator* sep);
  340. void Command_SetGuildMemberNote(Client* client, Seperator* sep);
  341. void Command_OfficerSay(Client* client, Seperator* sep);
  342. void Command_GuildSay(Client* client, Seperator* sep);
  343. void Command_Guilds(Client* client);
  344. void Command_GuildsAdd(Client* client, Seperator* sep);
  345. void Command_GuildsCreate(Client* client, Seperator* sep);
  346. void Command_GuildsDelete(Client* client, Seperator* sep);
  347. void Command_GuildsList(Client* client);
  348. void Command_GuildsRemove(Client* client, Seperator* sep);
  349. void Command_InspectPlayer(Client* client, Seperator* sep);
  350. void Command_Inventory(Client* client, Seperator* sep, EQ2_RemoteCommandString* command);
  351. void Command_IRC(Client* client, Seperator* sep);
  352. void Command_Languages(Client* client, Seperator* sep);
  353. void Command_SetLanguage(Client* client, Seperator* sep);
  354. void Command_LastName(Client* client, Seperator* sep);
  355. void Command_ConfirmLastName(Client* client, Seperator* sep);
  356. void Command_Location(Client* client);
  357. void Command_LocationAdd(Client* client, Seperator* sep);
  358. void Command_LocationCreate(Client* client, Seperator* sep);
  359. void Command_LocationDelete(Client* client, Seperator* sep);
  360. void Command_LocationList(Client* client, Seperator* sep);
  361. void Command_LocationRemove(Client* client, Seperator* sep);
  362. void Command_Merchant(Client* client, Seperator* sep, int handler);
  363. void Command_Modify(Client* client); // usage function
  364. void Command_ModifyCharacter(Client* client, Seperator* sep);
  365. void Command_ModifyFaction(Client* client, Seperator* sep);
  366. void Command_ModifyGuild(Client* client, Seperator* sep);
  367. void Command_ModifyItem(Client* client, Seperator* sep);
  368. void Command_ModifyQuest(Client* client, Seperator* sep);
  369. void Command_ModifySkill(Client* client, Seperator* sep);
  370. void Command_ModifySpawn(Client* client, Seperator* sep);
  371. void Command_ModifySpell(Client* client, Seperator* sep);
  372. void Command_ModifyZone(Client* client, Seperator* sep);
  373. void Command_MOTD(Client* client);
  374. void Command_Pet(Client* client, Seperator* sep);
  375. void Command_PetName(Client* client, Seperator* sep);
  376. void Command_NamePet(Client* client, Seperator* sep);
  377. void Command_Rename(Client* client, Seperator* sep);
  378. void Command_ConfirmRename(Client* client, Seperator* sep);
  379. void Command_PetOptions(Client* client, Seperator* sep);
  380. void Command_Random(Client* client, Seperator* sep);
  381. void Command_Randomize(Client* client, Seperator* sep);
  382. void Command_ReportBug(Client* client, Seperator* sep);
  383. void Command_ShowCloak(Client* client, Seperator* sep);
  384. void Command_ShowHelm(Client* client, Seperator* sep);
  385. void Command_ShowHood(Client* client, Seperator* sep);
  386. void Command_ShowHoodHelm(Client* client, Seperator* sep);
  387. void Command_ShowRanged(Client* client, Seperator* sep);
  388. void Command_Skills(Client* client, Seperator* sep, int handler);
  389. void Command_SpawnTemplate(Client* client, Seperator* sep);
  390. void Command_Speed(Client* client, Seperator* sep);
  391. void Command_StationMarketPlace(Client* client, Seperator* sep);
  392. void Command_StopEating(Client* client);
  393. void Command_StopDrinking(Client* client);
  394. void Command_Test(Client* client, EQ2_16BitString* command_parms);
  395. void Command_Title(Client* client);
  396. void Command_TitleList(Client* client);
  397. void Command_TitleSetPrefix(Client* client, Seperator* sep);
  398. void Command_TitleSetSuffix(Client* client, Seperator* sep);
  399. void Command_TitleFix(Client* client, Seperator* sep);
  400. void Command_Toggle_Anonymous(Client* client);
  401. void Command_Toggle_AutoConsume(Client* client, Seperator* sep);
  402. void Command_Toggle_BonusXP(Client* client);
  403. void Command_Toggle_CombatXP(Client* client);
  404. void Command_Toggle_GMHide(Client* client);
  405. void Command_Toggle_GMVanish(Client* client);
  406. void Command_Toggle_Illusions(Client* client, Seperator* sep);
  407. void Command_Toggle_LFG(Client* client);
  408. void Command_Toggle_LFW(Client* client);
  409. void Command_Toggle_QuestXP(Client* client);
  410. void Command_Toggle_Roleplaying(Client* client);
  411. void Command_Toggle_Duels(Client* client);
  412. void Command_Toggle_Trades(Client* client);
  413. void Command_Toggle_Guilds(Client* client);
  414. void Command_Toggle_Groups(Client* client);
  415. void Command_Toggle_Raids(Client* client);
  416. void Command_Toggle_LON(Client* client);
  417. void Command_Toggle_VoiceChat(Client* client);
  418. void Command_Track(Client* client);
  419. void Command_TradeStart(Client* client, Seperator* sep);
  420. void Command_TradeAccept(Client* client, Seperator* sep);
  421. void Command_TradeReject(Client* client, Seperator* sep);
  422. void Command_TradeCancel(Client* client, Seperator* sep);
  423. void Command_TradeSetCoin(Client* client, Seperator* sep);
  424. void Command_TradeAddCoin(Client* client, Seperator* sep, int handler);
  425. void Command_TradeRemoveCoin(Client* client, Seperator* sep, int handler);
  426. void Command_TradeAddItem(Client* client, Seperator* sep);
  427. void Command_TradeRemoveItem(Client* client, Seperator* sep);
  428. void Command_TryOn(Client* client, Seperator* sep);
  429. void Command_JoinChannel(Client *client, Seperator *sep);
  430. void Command_JoinChannelFromLoad(Client *client, Seperator *sep);
  431. void Command_TellChannel(Client *client, Seperator *sep);
  432. void Command_LeaveChannel(Client *client, Seperator *sep);
  433. void Command_WeaponStats(Client *client);
  434. void Command_WhoChannel(Client *client, Seperator *sep);
  435. void Command_ZoneSafeCoords(Client *client, Seperator *sep);
  436. void Command_ZoneDetails(Client *client, Seperator *sep);
  437. void Command_ZoneSet(Client *client, Seperator *sep);
  438. void Command_Rain(Client* client, Seperator* sep);
  439. void Command_Wind(Client* client, Seperator* sep);
  440. void Command_SendMerchantWindow(Client* client, Seperator* sep, bool sell = false);
  441. void Command_Weather(Client* client, Seperator* sep);
  442. void Command_Select(Client* client, Seperator* sep);
  443. void Command_ConsumeFood(Client* client, Seperator* sep);
  444. void Command_Aquaman(Client* client, Seperator* sep);
  445. void Command_Attune_Inv(Client* client, Seperator* sep);
  446. void Command_Player(Client* client, Seperator* sep);
  447. void Command_Player_Coins(Client* client, Seperator* sep);
  448. void Command_Reset_Zone_Timer(Client* client, Seperator* sep);
  449. void Command_AchievementAdd(Client* client, Seperator* sep);
  450. void Command_Editor(Client* client, Seperator* sep);
  451. void Command_AcceptResurrection(Client* client, Seperator* sep);
  452. void Command_DeclineResurrection(Client* client, Seperator* set);
  453. void Command_TargetItem(Client* client, Seperator* set);
  454. void Command_FindSpawn(Client* client, Seperator* set);
  455. // Bot Commands
  456. void Command_Bot(Client* client, Seperator* sep);
  457. void Command_Bot_Create(Client* client, Seperator* sep);
  458. void Command_Bot_Customize(Client* client, Seperator* sep);
  459. void Command_Bot_Spawn(Client* client, Seperator* sep);
  460. void Command_Bot_List(Client* client, Seperator* sep);
  461. void Command_Bot_Inv(Client* client, Seperator* sep);
  462. void Command_Bot_Settings(Client* client, Seperator* sep);
  463. void Command_Bot_Help(Client* client, Seperator* sep);
  464. // AA Commands
  465. void Get_AA_Xml(Client* client, Seperator* sep);
  466. void Add_AA(Client* client, Seperator* sep);
  467. void Commit_AA_Profile(Client* client, Seperator* sep);
  468. void Begin_AA_Profile(Client* client, Seperator* sep);
  469. void Back_AA(Client* client, Seperator* sep);
  470. void Remove_AA(Client* client, Seperator* sep);
  471. void Switch_AA_Profile(Client* client, Seperator* sep);
  472. void Cancel_AA_Profile(Client* client, Seperator* sep);
  473. void Save_AA_Profile(Client* client, Seperator* sep);
  474. private:
  475. RemoteCommands* remote_commands;
  476. map<string, int8> spawn_set_values;
  477. map<string, int8> zone_set_values;
  478. };
  479. #define SPAWN_SET_VALUE_LIST 0
  480. #define SPAWN_SET_VALUE_NAME 1
  481. #define SPAWN_SET_VALUE_LEVEL 2
  482. #define SPAWN_SET_VALUE_DIFFICULTY 3
  483. #define SPAWN_SET_VALUE_MODEL_TYPE 4
  484. #define SPAWN_SET_VALUE_CLASS 5
  485. #define SPAWN_SET_VALUE_GENDER 6
  486. #define SPAWN_SET_VALUE_SHOW_NAME 7
  487. #define SPAWN_SET_VALUE_ATTACKABLE 8
  488. #define SPAWN_SET_VALUE_SHOW_LEVEL 9
  489. #define SPAWN_SET_VALUE_TARGETABLE 10
  490. #define SPAWN_SET_VALUE_SHOW_COMMAND_ICON 11
  491. #define SPAWN_SET_VALUE_HAND_ICON 12
  492. #define SPAWN_SET_VALUE_HAIR_TYPE 13
  493. #define SPAWN_SET_VALUE_FACIAL_HAIR_TYPE 14
  494. #define SPAWN_SET_VALUE_WING_TYPE 15
  495. #define SPAWN_SET_VALUE_CHEST_TYPE 16
  496. #define SPAWN_SET_VALUE_LEGS_TYPE 17
  497. #define SPAWN_SET_VALUE_SOGA_HAIR_TYPE 18
  498. #define SPAWN_SET_VALUE_SOGA_FACIAL_HAIR_TYPE 19
  499. #define SPAWN_SET_VALUE_SOGA_MODEL_TYPE 20
  500. #define SPAWN_SET_VALUE_SIZE 21
  501. #define SPAWN_SET_VALUE_HP 22
  502. #define SPAWN_SET_VALUE_POWER 23
  503. #define SPAWN_SET_VALUE_HEROIC 24
  504. #define SPAWN_SET_VALUE_RESPAWN 25
  505. #define SPAWN_SET_VALUE_X 26
  506. #define SPAWN_SET_VALUE_Y 27
  507. #define SPAWN_SET_VALUE_Z 28
  508. #define SPAWN_SET_VALUE_HEADING 29
  509. #define SPAWN_SET_VALUE_LOCATION 30
  510. #define SPAWN_SET_VALUE_COMMAND_PRIMARY 31
  511. #define SPAWN_SET_VALUE_COMMAND_SECONDARY 32
  512. #define SPAWN_SET_VALUE_VISUAL_STATE 33
  513. #define SPAWN_SET_VALUE_ACTION_STATE 34
  514. #define SPAWN_SET_VALUE_MOOD_STATE 35
  515. #define SPAWN_SET_VALUE_INITIAL_STATE 36
  516. #define SPAWN_SET_VALUE_ACTIVITY_STATE 37
  517. #define SPAWN_SET_VALUE_COLLISION_RADIUS 38
  518. #define SPAWN_SET_VALUE_FACTION 39
  519. #define SPAWN_SET_VALUE_SPAWN_SCRIPT 40
  520. #define SPAWN_SET_VALUE_SPAWNENTRY_SCRIPT 41
  521. #define SPAWN_SET_VALUE_SPAWNLOCATION_SCRIPT 42
  522. #define SPAWN_SET_VALUE_SUB_TITLE 43
  523. #define SPAWN_SET_VALUE_EXPIRE 45
  524. #define SPAWN_SET_VALUE_EXPIRE_OFFSET 46
  525. #define SPAWN_SET_VALUE_X_OFFSET 47
  526. #define SPAWN_SET_VALUE_Y_OFFSET 48
  527. #define SPAWN_SET_VALUE_Z_OFFSET 49
  528. #define SPAWN_SET_VALUE_DEVICE_ID 50
  529. #define SPAWN_SET_VALUE_PITCH 51
  530. #define SPAWN_SET_VALUE_ROLL 52
  531. #define SPAWN_SET_VALUE_HIDE_HOOD 53
  532. #define SPAWN_SET_VALUE_EMOTE_STATE 54
  533. #define SPAWN_SET_VALUE_ICON 55
  534. #define SPAWN_SET_VALUE_PREFIX 56
  535. #define SPAWN_SET_VALUE_SUFFIX 57
  536. #define SPAWN_SET_VALUE_LASTNAME 58
  537. #define SPAWN_SET_VALUE_EXPANSION_FLAG 59
  538. #define SPAWN_SET_VALUE_MERCHANT_MIN_LEVEL 60
  539. #define SPAWN_SET_VALUE_MERCHANT_MAX_LEVEL 61
  540. #define SPAWN_SET_VALUE_HOLIDAY_FLAG 62
  541. #define ZONE_SET_VALUE_EXPANSION_ID 0
  542. #define ZONE_SET_VALUE_NAME 1
  543. #define ZONE_SET_VALUE_FILE 2
  544. #define ZONE_SET_VALUE_DESCRIPTION 3
  545. #define ZONE_SET_VALUE_SAFE_X 4
  546. #define ZONE_SET_VALUE_SAFE_Y 5
  547. #define ZONE_SET_VALUE_SAFE_Z 6
  548. #define ZONE_SET_VALUE_UNDERWORLD 7
  549. #define ZONE_SET_VALUE_MIN_RECOMMENDED 8
  550. #define ZONE_SET_VALUE_MAX_RECOMMENDED 9
  551. #define ZONE_SET_VALUE_ZONE_TYPE 10
  552. #define ZONE_SET_VALUE_ALWAYS_LOADED 11
  553. #define ZONE_SET_VALUE_CITY_ZONE 12
  554. #define ZONE_SET_VALUE_MIN_STATUS 13
  555. #define ZONE_SET_VALUE_MIN_LEVEL 14
  556. #define ZONE_SET_VALUE_START_ZONE 15
  557. #define ZONE_SET_VALUE_INSTANCE_TYPE 16
  558. #define ZONE_SET_VALUE_DEFAULT_REENTER_TIME 17
  559. #define ZONE_SET_VALUE_DEFAULT_RESET_TIME 18
  560. #define ZONE_SET_VALUE_DEFAULT_LOCKOUT_TIME 19
  561. #define ZONE_SET_VALUE_FORCE_GROUP_TO_ZONE 20
  562. #define ZONE_SET_VALUE_LUA_SCRIPT 21
  563. #define ZONE_SET_VALUE_SHUTDOWN_TIMER 22
  564. #define ZONE_SET_VALUE_ZONE_MOTD 23
  565. #define ZONE_SET_VALUE_MAX_LEVEL 24
  566. #define ZONE_SET_VALUE_WEATHER_ALLOWED 25
  567. #define COMMAND_SPAWN 1
  568. #define COMMAND_RACE 2
  569. #define COMMAND_LEVEL 3
  570. #define COMMAND_CLASS 4
  571. #define COMMAND_GENDER 5
  572. #define COMMAND_NAME 6
  573. #define COMMAND_SAY 7
  574. #define COMMAND_TELL 8
  575. #define COMMAND_YELL 9
  576. #define COMMAND_SHOUT 10
  577. #define COMMAND_AUCTION 11
  578. #define COMMAND_OOC 12
  579. #define COMMAND_EMOTE 13
  580. #define COMMAND_GROUPSAY 14
  581. #define COMMAND_GROUPINVITE 15
  582. #define COMMAND_GROUPDISBAND 16
  583. #define COMMAND_GROUP 17
  584. #define COMMAND_CLAIM 18
  585. #define COMMAND_HAIL 19
  586. #define COMMAND_ZONE 20
  587. #define COMMAND_ADMINFLAG 21
  588. #define COMMAND_KICK 22
  589. #define COMMAND_BAN 23
  590. #define COMMAND_INVENTORY 24
  591. #define COMMAND_SUMMONITEM 25
  592. #define COMMAND_FOLLOW 26
  593. #define COMMAND_STOP_FOLLOW 27
  594. #define COMMAND_LASTNAME 28
  595. #define COMMAND_CONFIRMLASTNAME 29
  596. #define COMMAND_COLLECTION_ADDITEM 30
  597. #define COMMAND_COLLECTION_FILTER_MATCHITEM 31
  598. #define COMMAND_MOVE 32
  599. #define COMMAND_INFO 33
  600. #define COMMAND_USEABILITY 34
  601. #define COMMAND_ENABLE_ABILITY_QUE 35
  602. #define COMMAND_RELOAD_ITEMS 36
  603. #define COMMAND_AUTO_ATTACK 37
  604. #define COMMAND_WEATHER 38
  605. #define COMMAND_SPEED 39
  606. #define COMMAND_SPAWN_MOVE 40
  607. #define COMMAND_WHO 41
  608. #define COMMAND_VERSION 42
  609. #define COMMAND_SPAWN_ADD 43
  610. #define COMMAND_SPAWN_CREATE 44
  611. #define COMMAND_SPAWN_SET 45
  612. #define COMMAND_SPAWN_REMOVE 46
  613. #define COMMAND_SPAWN_LIST 47
  614. #define COMMAND_SIT 48
  615. #define COMMAND_STAND 49
  616. #define COMMAND_SPAWN_TARGET 50
  617. #define COMMAND_SPAWN_EQUIPMENT 51
  618. #define COMMAND_SPAWN_DETAILS 52
  619. #define COMMAND_SELECT_JUNCTION 53
  620. #define COMMAND_KILL 54
  621. #define COMMAND_SUMMON 55
  622. #define COMMAND_GOTO 56
  623. #define COMMAND_FLYMODE 57
  624. #define COMMAND_SETTIME 58
  625. #define COMMAND_RELOAD_SPELLS 59
  626. #define COMMAND_LOOT 60
  627. #define COMMAND_USE 61
  628. #define COMMAND_RELOADSPAWNSCRIPTS 62
  629. #define COMMAND_RELOADLUASYSTEM 63
  630. #define COMMAND_RELOADSTRUCTS 64
  631. #define COMMAND_RELOAD 65
  632. #define COMMAND_LOOT_LIST 66
  633. #define COMMAND_LOOT_SETCOIN 67
  634. #define COMMAND_LOOT_ADDITEM 68
  635. #define COMMAND_LOOT_REMOVEITEM 69
  636. #define COMMAND_BANK 70
  637. #define COMMAND_BANK_DEPOSIT 71
  638. #define COMMAND_BANK_WITHDRAWAL 72
  639. #define COMMAND_BANK_CANCEL 73
  640. #define COMMAND_ATTACK 74
  641. #define COMMAND_REPORT_BUG 75
  642. #define COMMAND_ACCEPT_QUEST 76
  643. #define COMMAND_DECLINE_QUEST 77
  644. #define COMMAND_DELETE_QUEST 78
  645. #define COMMAND_RELOAD_QUESTS 79
  646. #define COMMAND_SPAWN_COMBINE 80
  647. #define COMMAND_DEPOP 81
  648. #define COMMAND_REPOP 82
  649. #define COMMAND_LUADEBUG 83
  650. #define COMMAND_TEST 84
  651. #define COMMAND_ACCEPT_REWARD 85
  652. #define COMMAND_FROM_MERCHANT 86
  653. #define COMMAND_MERCHANT_BUY 87
  654. #define COMMAND_MERCHANT_SELL 88
  655. #define COMMAND_CANCEL_MERCHANT 89
  656. #define COMMAND_START_MERCHANT 90
  657. #define COMMAND_BUYBACK 91
  658. #define COMMAND_SEARCH_STORES 92
  659. #define COMMAND_INVULNERABLE 93
  660. #define COMMAND_SEARCH_STORES_PAGE 94
  661. #define COMMAND_BUY_FROM_BROKER 95
  662. #define COMMAND_GROUP_ACCEPT_INVITE 96
  663. #define COMMAND_GROUP_DECLINE_INVITE 97
  664. #define COMMAND_RELOAD_GROUNDSPAWNS 98
  665. #define COMMAND_RELOAD_SPAWNS 99
  666. #define COMMAND_LOCK 100
  667. #define COMMAND_GIVEITEM 101
  668. #define COMMAND_SET_COMBAT_VOICE 102
  669. #define COMMAND_SET_EMOTE_VOICE 103
  670. #define COMMAND_RELOAD_ZONESCRIPTS 104
  671. #define COMMAND_GROUP_LEAVE 105
  672. #define COMMAND_GROUP_MAKE_LEADER 106
  673. #define COMMAND_GROUP_KICK 107
  674. #define COMMAND_FRIEND_ADD 108
  675. #define COMMAND_FRIEND_REMOVE 109
  676. #define COMMAND_FRIENDS 110
  677. #define COMMAND_IGNORE_ADD 111
  678. #define COMMAND_IGNORE_REMOVE 112
  679. #define COMMAND_IGNORES 113
  680. #define COMMAND_MENDER_REPAIR 114
  681. #define COMMAND_MENDER_REPAIR_ALL 115
  682. #define COMMAND_REPAIR 116
  683. #define COMMAND_USE_ITEM 117
  684. #define COMMAND_WEAPONSTATS 118
  685. #define COMMAND_START_MAIL 119
  686. #define COMMAND_GET_MAIL_MESSAGE 120
  687. #define COMMAND_TAKE_MAIL_ATTACHMENTS 121
  688. #define COMMAND_REPORT_SPAM 122
  689. #define COMMAND_CANCEL_MAIL 123
  690. #define COMMAND_ADD_MAIL_PLAT 124
  691. #define COMMAND_ADD_MAIL_GOLD 125
  692. #define COMMAND_ADD_MAIL_SILVER 126
  693. #define COMMAND_ADD_MAIL_COPPER 127
  694. #define COMMAND_SET_MAIL_ITEM 128
  695. #define COMMAND_CANCEL_SEND_MAIL 129
  696. #define COMMAND_REMOVE_MAIL_PLAT 130
  697. #define COMMAND_REMOVE_MAIL_GOLD 131
  698. #define COMMAND_REMOVE_MAIL_SILVER 132
  699. #define COMMAND_REMOVE_MAIL_COPPER 133
  700. #define COMMAND_DELETE_MAIL_MESSAGE 134
  701. #define COMMAND_TRACK 135
  702. #define COMMAND_INSPECT_PLAYER 136
  703. #define COMMAND_PET 137
  704. #define COMMAND_PETNAME 138
  705. #define COMMAND_NAME_PET 139
  706. #define COMMAND_RENAME 140
  707. #define COMMAND_CONFIRMRENAME 141
  708. #define COMMAND_PETOPTIONS 142
  709. #define COMMAND_SPAWN_TEMPLATE 143 // JA: new /spawn template command
  710. #define COMMAND_CANNEDEMOTE 144
  711. #define COMMAND_BROADCAST 145
  712. #define COMMAND_ANNOUNCE 146
  713. #define COMMAND_AFK 147
  714. #define COMMAND_TOGGLE_ANONYMOUS 148
  715. #define COMMAND_TOGGLE_LFW 149
  716. #define COMMAND_TOGGLE_LFG 150
  717. #define COMMAND_SHOW_RANGED 151
  718. #define COMMAND_TOGGLE_AUTOCONSUME 152
  719. #define COMMAND_SHOW_HELM 153
  720. #define COMMAND_SHOW_HOOD_OR_HELM 154
  721. #define COMMAND_SHOW_CLOAK 155
  722. #define COMMAND_STOP_EATING 156
  723. #define COMMAND_STOP_DRINKING 157
  724. #define COMMAND_TOGGLE_ILLUSIONS 158
  725. #define COMMAND_SHOW_HOOD 159
  726. #define COMMAND_TOGGLE_DUELS 160
  727. #define COMMAND_TOGGLE_TRADES 161
  728. #define COMMAND_TOGGLE_GUILDS 162
  729. #define COMMAND_TOGGLE_GROUPS 163
  730. #define COMMAND_TOGGLE_RAIDS 164
  731. #define COMMAND_TOGGLE_LON 165
  732. #define COMMAND_TOGGLE_GM_HIDE 167
  733. #define COMMAND_TOGGLE_GM_VANISH 168
  734. #define COMMAND_SPAWN_GROUP 169
  735. #define COMMAND_TOGGLE_ROLEPLAYING 170
  736. #define COMMAND_TOGGLE_VCINVITE 171
  737. #define COMMAND_START_TRADE 172
  738. #define COMMAND_ACCEPT_TRADE 173
  739. #define COMMAND_REJECT_TRADE 174
  740. #define COMMAND_CANCEL_TRADE 175
  741. #define COMMAND_SET_TRADE_COIN 176
  742. #define COMMAND_ADD_TRADE_COPPER 177
  743. #define COMMAND_ADD_TRADE_SILVER 178
  744. #define COMMAND_ADD_TRADE_GOLD 179
  745. #define COMMAND_ADD_TRADE_PLAT 180
  746. #define COMMAND_REMOVE_TRADE_COPPER 181
  747. #define COMMAND_REMOVE_TRADE_SILVER 182
  748. #define COMMAND_REMOVE_TRADE_GOLD 183
  749. #define COMMAND_REMOVE_TRADE_PLAT 184
  750. #define COMMAND_ADD_TRADE_ITEM 185
  751. #define COMMAND_REMOVE_TRADE_ITEM 186
  752. #define COMMAND_TOGGLE_COMBAT_EXP 187
  753. #define COMMAND_TOGGLE_QUEST_EXP 188
  754. #define COMMAND_TOGGLE_BONUS_EXP 189
  755. #define COMMAND_ZONE_SHUTDOWN 190
  756. #define COMMAND_ZONE_SAFE 191
  757. #define COMMAND_ZONE_REVIVE 192
  758. #define COMMAND_RELOAD_ZONES 193
  759. #define COMMAND_DUEL 200
  760. #define COMMAND_DUELBET 201
  761. #define COMMAND_DUEL_ACCEPT 202
  762. #define COMMAND_DUEL_DECLINE 203
  763. #define COMMAND_DUEL_SURRENDER 204
  764. #define COMMAND_DUEL_TOGGLE 205
  765. #define COMMAND_ANIMTEST 211
  766. #define COMMAND_ITEMSEARCH 212
  767. #define COMMAND_ACTION 232 // JA: What is this? Exists nowhere else...
  768. #define COMMAND_SKILL_ADD 233
  769. #define COMMAND_SKILL_REMOVE 234
  770. #define COMMAND_SKILL_LIST 235
  771. #define COMMAND_SKILL 236
  772. #define COMMAND_ZONE_SET 237
  773. #define COMMAND_ZONE_DETAILS 238
  774. #define COMMAND_RANDOMIZE 239
  775. #define COMMAND_RELOAD_ENTITYCOMMANDS 240
  776. #define COMMAND_ENTITYCOMMAND 241
  777. #define COMMAND_ENTITYCOMMAND_LIST 242
  778. #define COMMAND_RELOAD_FACTIONS 243
  779. #define COMMAND_MERCHANT 244
  780. #define COMMAND_MERCHANT_LIST 245
  781. #define COMMAND_APPEARANCE 246
  782. #define COMMAND_APPEARANCE_LIST 247
  783. #define COMMAND_RELOAD_MAIL 248
  784. #define COMMAND_DISTANCE 249
  785. #define COMMAND_GUILDSAY 250
  786. #define COMMAND_OFFICERSAY 251
  787. #define COMMAND_GUILD 252
  788. #define COMMAND_SET_GUILD_MEMBER_NOTE 253
  789. #define COMMAND_SET_GUILD_OFFICER_NOTE 254
  790. #define COMMAND_RELOAD_GUILDS 255
  791. #define COMMAND_CREATE 256
  792. #define COMMAND_CREATE_GUILD 257
  793. #define COMMAND_GUILDS 258
  794. #define COMMAND_GUILDS_CREATE 259
  795. #define COMMAND_GUILDS_DELETE 260
  796. #define COMMAND_GUILDS_ADD 261
  797. #define COMMAND_GUILDS_REMOVE 262
  798. #define COMMAND_GUILDS_LIST 263
  799. #define COMMAND_LOTTO 264
  800. #define COMMAND_CLEAR_ALL_QUEUED 265
  801. #define COMMAND_SCRIBE_SCROLL_ITEM 266
  802. #define COMMAND_RELOAD_LOCATIONS 267
  803. #define COMMAND_LOCATION 268
  804. #define COMMAND_LOCATION_CREATE 269
  805. #define COMMAND_LOCATION_ADD 270
  806. #define COMMAND_GRID 271
  807. #define COMMAND_LOCATION_REMOVE 272
  808. #define COMMAND_LOCATION_DELETE 273
  809. #define COMMAND_LOCATION_LIST 274
  810. #define COMMAND_USE_EQUIPPED_ITEM 275
  811. #define COMMAND_CANCEL_MAINTAINED 276
  812. #define COMMAND_LOOT_CORPSE 277
  813. #define COMMAND_MOTD 278
  814. #define COMMAND_RANDOM 279
  815. #define COMMAND_TRY_ON 280
  816. #define COMMAND_TITLE 281
  817. #define COMMAND_GUILD_BANK 282
  818. #define COMMAND_GUILD_BANK_DEPOSIT 283
  819. #define COMMAND_GUILD_BANK_WITHDRAWAL 284
  820. #define COMMAND_GUILD_BANK_CANCEL 285
  821. #define COMMAND_TITLE_LIST 286
  822. #define COMMAND_TITLE_SETPREFIX 287
  823. #define COMMAND_TITLE_SETSUFFIX 288
  824. #define COMMAND_TITLE_FIX 289
  825. #define COMMAND_LANGUAGES 290
  826. #define COMMAND_SET_LANGUAGE 291
  827. #define COMMAND_IRC 292
  828. #define COMMAND_ACCEPT_ADVANCEMENT 293
  829. #define COMMAND_JOIN_CHANNEL 294
  830. #define COMMAND_JOIN_CHANNEL_FROM_LOAD 295
  831. #define COMMAND_TELL_CHANNEL 296
  832. #define COMMAND_LEAVE_CHANNEL 297
  833. #define COMMAND_WHO_CHANNEL 298
  834. #define COMMAND_CREATEFROMRECIPE 299
  835. #define COMMAND_RAIN 300
  836. #define COMMAND_TO_MERCHANT 301
  837. #define COMMAND_SELECT 302
  838. #define COMMAND_SMP 303
  839. #define COMMAND_CONSUME_FOOD 304
  840. #define COMMAND_AQUAMAN 305
  841. #define COMMAND_ATTUNE_INV 306
  842. #define COMMAND_PLAYER 307
  843. #define COMMAND_PLAYER_COINS 308
  844. #define COMMAND_RESET_ZONE_TIMER 309
  845. #define COMMAND_ACHIEVEMENT_ADD 310
  846. #define COMMAND_EDITOR 311
  847. #define COMMAND_ACCEPT_RESURRECTION 312
  848. #define COMMAND_DECLINE_RESURRECTION 313
  849. #define COMMAND_WIND 314
  850. #define COMMAND_TARGETITEM 315
  851. #define COMMAND_READ 463
  852. #define COMMAND_BOT 500
  853. #define COMMAND_BOT_CREATE 501
  854. #define COMMAND_BOT_CUSTOMIZE 502
  855. #define COMMAND_BOT_SPAWN 503
  856. #define COMMAND_BOT_LIST 504
  857. #define COMMAND_BOT_INV 505
  858. #define COMMAND_BOT_SETTINGS 506
  859. #define COMMAND_BOT_HELP 507
  860. #define COMMAND_OPEN 508
  861. #define COMMAND_CASTSPELL 509
  862. #define COMMAND_DISARM 510
  863. #define COMMAND_KNOWLEDGEWINDOWSORT 511
  864. #define COMMAND_PLACE_HOUSE_ITEM 512
  865. #define COMMAND_GM 513
  866. #define COMMAND_HOUSE_UI 514
  867. #define COMMAND_HOUSE 515
  868. #define COMMAND_MOVE_ITEM 516
  869. #define COMMAND_PICKUP 517
  870. #define COMMAND_HOUSE_DEPOSIT 518
  871. #define COMMAND_RELOAD_RULES 519
  872. #define COMMAND_RELOAD_TRANSPORTERS 520
  873. #define COMMAND_FINDSPAWN 521
  874. #define GET_AA_XML 751
  875. #define ADD_AA 752
  876. #define COMMIT_AA_PROFILE 753
  877. #define BEGIN_AA_PROFILE 754
  878. #define BACK_AA 755
  879. #define REMOVE_AA 756
  880. #define SWITCH_AA_PROFILE 757
  881. #define CANCEL_AA_PROFILE 758
  882. #define SAVE_AA_PROFILE 759
  883. #define COMMAND_MODIFY 1000 // INSERT INTO `commands`(`id`,`type`,`command`,`subcommand`,`handler`,`required_status`) VALUES ( NULL,'1','modify','','1000','200');
  884. #define COMMAND_MODIFY_CHARACTER 1001
  885. #define COMMAND_MODIFY_FACTION 1002
  886. #define COMMAND_MODIFY_GUILD 1003
  887. #define COMMAND_MODIFY_ITEM 1004
  888. #define COMMAND_MODIFY_QUEST 1005
  889. #define COMMAND_MODIFY_SKILL 1006
  890. #define COMMAND_MODIFY_SPAWN 1007
  891. #define COMMAND_MODIFY_SPELL 1008
  892. #define COMMAND_MODIFY_ZONE 1009
  893. #endif