Merge branch 'master' into terencehill/bot_ai
[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_tracewalk_time;
27 .entity ignoregoal;
28 .entity bot_lastseengoal;
29 .entity havocbot_personal_waypoint;
30
31 .vector havocbot_keyboard;
32
33 /*
34  * Functions
35  */
36
37 void havocbot_ai(entity this);
38 void havocbot_aim(entity this);
39 void havocbot_setupbot(entity this);
40 void havocbot_movetogoal(entity this);
41 void havocbot_chooserole(entity this);
42 void havocbot_chooseenemy(entity this);
43 void havocbot_chooseweapon(entity this, .entity weaponentity);
44 void havocbot_bunnyhop(entity this, vector dir);
45 void havocbot_keyboard_movement(entity this, vector destorg);
46
47 float havocbot_resetgoal(entity this);
48 float havocbot_moveto(entity this, vector pos);
49 float havocbot_moveto_refresh_route(entity this);
50
51 vector havocbot_dodge(entity this);
52
53 .void(entity this) havocbot_role;
54 .void(entity this) havocbot_previous_role;
55
56 void(entity this, float ratingscale, vector org, float sradius) havocbot_goalrating_items;
57 void(entity this, float ratingscale, vector org, float sradius) havocbot_goalrating_enemyplayers;
58
59 /*
60  * Imports
61  */
62
63 .entity draggedby;
64 .float ladder_time;
65 .entity ladder_entity;