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