src/botcommands.h

changeset 71
11f23fabf8a6
child 72
03e4d9db3fd9
equal deleted inserted replaced
70:fc257920ac00 71:11f23fabf8a6
1 //-----------------------------------------------------------------------------
2 //
3 // Skulltag Source
4 // Copyright (C) 2002 Brad Carney
5 // Copyright (C) 2007-2012 Skulltag Development Team
6 // All rights reserved.
7 //
8 // Redistribution and use in source and binary forms, with or without
9 // modification, are permitted provided that the following conditions are met:
10 //
11 // 1. Redistributions of source code must retain the above copyright notice,
12 // this list of conditions and the following disclaimer.
13 // 2. Redistributions in binary form must reproduce the above copyright notice,
14 // this list of conditions and the following disclaimer in the documentation
15 // and/or other materials provided with the distribution.
16 // 3. Neither the name of the Skulltag Development Team nor the names of its
17 // contributors may be used to endorse or promote products derived from this
18 // software without specific prior written permission.
19 // 4. Redistributions in any form must be accompanied by information on how to
20 // obtain complete source code for the software and any accompanying
21 // software that uses the software. The source code must either be included
22 // in the distribution or be available for no more than the cost of
23 // distribution plus a nominal fee, and must be freely redistributable
24 // under reasonable conditions. For an executable file, complete source
25 // code means the source code for all modules it contains. It does not
26 // include source code for modules or files that typically accompany the
27 // major components of the operating system on which the executable file
28 // runs.
29 //
30 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
34 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40 // POSSIBILITY OF SUCH DAMAGE.
41 //
42 // Date created: 5/18/04
43 //
44 //
45 // Filename: botcommands.h
46 //
47 // Description: Contains bot structures and prototypes
48 // [Dusk] Clipped stuff that botc doesn't need.
49 //
50 //-----------------------------------------------------------------------------
51
52 #ifndef __BOTCOMMANDS_H__
53 #define __BOTCOMMANDS_H__
54
55 #include "bots.h"
56
57 //*****************************************************************************
58 // DEFINES
59
60 #define SETENEMY_LASTSEEN 0
61 #define SETENEMY_LASTSHOTBY 1
62
63 // Different results for pathing commands.
64 #define PATH_UNREACHABLE -1
65 #define PATH_INCOMPLETE 0
66 #define PATH_COMPLETE 1
67 #define PATH_REACHEDGOAL 2
68
69 // This is the size of the return string for the bot command functions.
70 #define BOTCMD_RETURNSTRING_SIZE 256
71
72 //*****************************************************************************
73 typedef enum
74 {
75 BOTCMD_CHANGESTATE, // Basic botcmd utility functions.
76 BOTCMD_DELAY,
77 BOTCMD_RAND,
78 BOTCMD_STRINGSAREEQUAL,
79 BOTCMD_LOOKFORPOWERUPS, // Search functions.
80 BOTCMD_LOOKFORWEAPONS,
81 BOTCMD_LOOKFORAMMO,
82 BOTCMD_LOOKFORBASEHEALTH,
83 BOTCMD_LOOKFORBASEARMOR,
84 BOTCMD_LOOKFORSUPERHEALTH,
85 BOTCMD_LOOKFORSUPERARMOR, /* 10 */
86 BOTCMD_LOOKFORPLAYERENEMIES,
87 BOTCMD_GETCLOSESTPLAYERENEMY,
88 BOTCMD_MOVELEFT, // Movement functions.
89 BOTCMD_MOVERIGHT,
90 BOTCMD_MOVEFORWARD,
91 BOTCMD_MOVEBACKWARDS,
92 BOTCMD_STOPMOVEMENT,
93 BOTCMD_STOPFORWARDMOVEMENT,
94 BOTCMD_STOPSIDEWAYSMOVEMENT,
95 BOTCMD_CHECKTERRAIN, /* 20 */
96 BOTCMD_PATHTOGOAL, // Pathing functions.
97 BOTCMD_PATHTOLASTKNOWNENEMYPOSITION,
98 BOTCMD_PATHTOLASTHEARDSOUND,
99 BOTCMD_ROAM,
100 BOTCMD_GETPATHINGCOSTTOITEM,
101 BOTCMD_GETDISTANCETOITEM,
102 BOTCMD_GETITEMNAME,
103 BOTCMD_ISITEMVISIBLE,
104 BOTCMD_SETGOAL,
105 BOTCMD_BEGINAIMINGATENEMY, /* 30 */ // Aiming functions.
106 BOTCMD_STOPAIMINGATENEMY,
107 BOTCMD_TURN,
108 BOTCMD_GETCURRENTANGLE,
109 BOTCMD_SETENEMY, // Enemy functions.
110 BOTCMD_CLEARENEMY,
111 BOTCMD_ISENEMYALIVE,
112 BOTCMD_ISENEMYVISIBLE,
113 BOTCMD_GETDISTANCETOENEMY,
114 BOTCMD_GETPLAYERDAMAGEDBY,
115 BOTCMD_GETENEMYINVULNERABILITYTICKS, /* 40 */
116 BOTCMD_FIREWEAPON, // Weapon functions.
117 BOTCMD_BEGINFIRINGWEAPON,
118 BOTCMD_STOPFIRINGWEAPON,
119 BOTCMD_GETCURRENTWEAPON,
120 BOTCMD_CHANGEWEAPON,
121 BOTCMD_GETWEAPONFROMITEM,
122 BOTCMD_ISWEAPONOWNED,
123 BOTCMD_ISFAVORITEWEAPON,
124 BOTCMD_SAY, // Chat functions.
125 BOTCMD_SAYFROMFILE, /* 50 */
126 BOTCMD_SAYFROMCHATFILE,
127 BOTCMD_BEGINCHATTING,
128 BOTCMD_STOPCHATTING,
129 BOTCMD_CHATSECTIONEXISTS,
130 BOTCMD_CHATSECTIONEXISTSINFILE,
131 BOTCMD_GETLASTCHATSTRING,
132 BOTCMD_GETLASTCHATPLAYER,
133 BOTCMD_GETCHATFREQUENCY,
134 BOTCMD_JUMP, // Jumping functions.
135 BOTCMD_BEGINJUMPING, /* 60 */
136 BOTCMD_STOPJUMPING,
137 BOTCMD_TAUNT, // Other action functions.
138 BOTCMD_RESPAWN,
139 BOTCMD_TRYTOJOINGAME,
140 BOTCMD_ISDEAD, // Information about self functions.
141 BOTCMD_ISSPECTATING,
142 BOTCMD_GETHEALTH,
143 BOTCMD_GETARMOR,
144 BOTCMD_GETBASEHEALTH,
145 BOTCMD_GETBASEARMOR, /* 70 */
146 BOTCMD_GETBOTSKILL, // Botskill functions.
147 BOTCMD_GETACCURACY,
148 BOTCMD_GETINTELLECT,
149 BOTCMD_GETANTICIPATION,
150 BOTCMD_GETEVADE,
151 BOTCMD_GETREACTIONTIME,
152 BOTCMD_GETPERCEPTION,
153 BOTCMD_SETSKILLINCREASE, // Botskill modifying functions functions.
154 BOTCMD_ISSKILLINCREASED,
155 BOTCMD_SETSKILLDECREASE, /* 80 */
156 BOTCMD_ISSKILLDECREASED,
157 BOTCMD_GETGAMEMODE, // Other functions.
158 BOTCMD_GETSPREAD,
159 BOTCMD_GETLASTJOINEDPLAYER,
160 BOTCMD_GETPLAYERNAME,
161 BOTCMD_GETRECEIVEDMEDAL,
162 BOTCMD_ACS_EXECUTE,
163 BOTCMD_GETFAVORITEWEAPON,
164 BOTCMD_SAYFROMLUMP,
165 BOTCMD_SAYFROMCHATLUMP, /* 90 */
166 BOTCMD_CHATSECTIONEXISTSINLUMP,
167 BOTCMD_CHATSECTIONEXISTSINCHATLUMP,
168
169 NUM_BOTCMDS
170
171 } BOTCMD_e;
172
173 #endif // __BOTCOMMANDS_H__

mercurial