1 /*
2 ===========================================================================
3 Copyright (C) 1999-2005 Id Software, Inc.
4 
5 This file is part of Quake III Arena source code.
6 
7 Quake III Arena source code is free software; you can redistribute it
8 and/or modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the License,
10 or (at your option) any later version.
11 
12 Quake III Arena source code is distributed in the hope that it will be
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Quake III Arena source code; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 ===========================================================================
21 */
22 
23 // make sure this is the same character as we use in chats in g_cmd.c
24 #define EC	"\x19"
25 
26 //match template contexts
27 #define MTCONTEXT_MISC					2
28 #define MTCONTEXT_INITIALTEAMCHAT		4
29 #define MTCONTEXT_TIME					8
30 #define MTCONTEXT_TEAMMATE				16
31 #define MTCONTEXT_ADDRESSEE				32
32 #define MTCONTEXT_PATROLKEYAREA			64
33 #define MTCONTEXT_REPLYCHAT				128
34 #define MTCONTEXT_CTF					256
35 
36 //message types
37 #define MSG_NEWLEADER					1		//new leader
38 #define MSG_ENTERGAME					2		//enter game message
39 #define MSG_HELP						3		//help someone
40 #define MSG_ACCOMPANY					4		//accompany someone
41 #define MSG_DEFENDKEYAREA				5		//defend a key area
42 #define MSG_RUSHBASE					6		//everyone rush to base
43 #define MSG_GETFLAG						7		//get the enemy flag
44 #define MSG_STARTTEAMLEADERSHIP			8		//someone wants to become the team leader
45 #define MSG_STOPTEAMLEADERSHIP			9		//someone wants to stop being the team leader
46 #define MSG_WHOISTEAMLAEDER				10		//who is the team leader
47 #define MSG_WAIT						11		//wait for someone
48 #define MSG_WHATAREYOUDOING				12		//what are you doing?
49 #define MSG_JOINSUBTEAM					13		//join a sub-team
50 #define MSG_LEAVESUBTEAM				14		//leave a sub-team
51 #define MSG_CREATENEWFORMATION			15		//create a new formation
52 #define MSG_FORMATIONPOSITION			16		//tell someone his/her position in a formation
53 #define MSG_FORMATIONSPACE				17		//set the formation intervening space
54 #define MSG_DOFORMATION					18		//form a known formation
55 #define MSG_DISMISS						19		//dismiss commanded team mates
56 #define MSG_CAMP						20		//camp somewhere
57 #define MSG_CHECKPOINT					21		//remember a check point
58 #define MSG_PATROL						22		//patrol between certain keypoints
59 #define MSG_LEADTHEWAY					23		//lead the way
60 #define MSG_GETITEM						24		//get an item
61 #define MSG_KILL						25		//kill someone
62 #define MSG_WHEREAREYOU					26		//where is someone
63 #define MSG_RETURNFLAG					27		//return the flag
64 #define MSG_WHATISMYCOMMAND				28		//ask the team leader what to do
65 #define MSG_WHICHTEAM					29		//ask which team a bot is in
66 #define MSG_TASKPREFERENCE				30		//tell your teamplay task preference
67 #define MSG_ATTACKENEMYBASE				31		//attack the enemy base
68 #define MSG_HARVEST						32		//go harvest
69 #define MSG_SUICIDE						33		//order to suicide
70 //
71 #define MSG_ME							100
72 #define MSG_EVERYONE					101
73 #define MSG_MULTIPLENAMES				102
74 #define MSG_NAME						103
75 #define MSG_PATROLKEYAREA				104
76 #define MSG_MINUTES						105
77 #define MSG_SECONDS						106
78 #define MSG_FOREVER						107
79 #define MSG_FORALONGTIME				108
80 #define MSG_FORAWHILE					109
81 //
82 #define MSG_CHATALL						200
83 #define MSG_CHATTEAM					201
84 #define MSG_CHATTELL					202
85 //
86 #define MSG_CTF							300		//ctf message
87 
88 //command sub types
89 #define ST_SOMEWHERE					0
90 #define ST_NEARITEM						1
91 #define ST_ADDRESSED					2
92 #define ST_METER						4
93 #define ST_FEET							8
94 #define ST_TIME							16
95 #define ST_HERE							32
96 #define ST_THERE						64
97 #define ST_I							128
98 #define ST_MORE							256
99 #define ST_BACK							512
100 #define ST_REVERSE						1024
101 #define ST_SOMEONE						2048
102 #define ST_GOTFLAG						4096
103 #define ST_CAPTUREDFLAG					8192
104 #define ST_RETURNEDFLAG					16384
105 #define ST_TEAM							32768
106 #define ST_1FCTFGOTFLAG					65535
107 //ctf task preferences
108 #define ST_DEFENDER						1
109 #define ST_ATTACKER						2
110 #define ST_ROAMER						4
111 
112 
113 //word replacement variables
114 #define THE_ENEMY						7
115 #define THE_TEAM						7
116 //team message variables
117 #define NETNAME							0
118 #define PLACE							1
119 #define FLAG							1
120 #define MESSAGE							2
121 #define ADDRESSEE						2
122 #define ITEM							3
123 #define TEAMMATE						4
124 #define TEAMNAME						4
125 #define ENEMY							4
126 #define KEYAREA							5
127 #define FORMATION						5
128 #define POSITION						5
129 #define NUMBER							5
130 #define TIME							6
131 #define NAME							6
132 #define MORE							6
133 
134 
135