Merge remote-tracking branch 'origin/terencehill/bot_waypoints'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / bot / default / havocbot / havocbot.qh
1 #pragma once
2
3 /*
4  * Globals and Fields
5  */
6
7 .float havocbot_keyboardskill;
8 .float ignoregoaltime;
9 .float lastfiredweapon;
10 .float lastcombotime;
11 .float havocbot_blockhead;
12
13 .float havocbot_keyboardtime;
14 .float havocbot_ducktime;
15 .float bot_timelastseengoal;
16 .float bot_canruntogoal;
17 .float bot_chooseweapontime;
18 .float rocketjumptime;
19 .float nextaim;
20 .float havocbot_personal_waypoint_searchtime;
21 .float havocbot_personal_waypoint_failcounter;
22 .float havocbot_chooseenemy_finished;
23 .float havocbot_stickenemy;
24 .float havocbot_role_timeout;
25
26 .float bot_stop_moving_timeout;
27 .float bot_tracewalk_time;
28 .entity ignoregoal;
29 .entity bot_lastseengoal;
30 .entity havocbot_personal_waypoint;
31
32 .vector havocbot_keyboard;
33
34 /*
35  * Functions
36  */
37
38 void havocbot_ai(entity this);
39 void havocbot_aim(entity this);
40 void havocbot_setupbot(entity this);
41 void havocbot_movetogoal(entity this);
42 void havocbot_chooserole(entity this);
43 void havocbot_chooseenemy(entity this);
44 void havocbot_chooseweapon(entity this, .entity weaponentity);
45 void havocbot_bunnyhop(entity this, vector dir);
46 void havocbot_keyboard_movement(entity this, vector destorg);
47
48 float havocbot_resetgoal(entity this);
49 float havocbot_moveto(entity this, vector pos);
50 float havocbot_moveto_refresh_route(entity this);
51
52 vector havocbot_dodge(entity this);
53
54 .void(entity this) havocbot_role;
55 .void(entity this) havocbot_previous_role;
56
57 void(entity this, float ratingscale, vector org, float sradius) havocbot_goalrating_items;
58 void(entity this, float ratingscale, vector org, float sradius) havocbot_goalrating_enemyplayers;
59
60 /*
61  * Imports
62  */
63
64 .entity draggedby;