1 float BOTTYPE_MAUVEBOT = 0;
2 float BOTTYPE_URREBOT = 1;
6 MauveBot v1.0 for Nexuiz
9 float intermission_running;
17 float THREAT_UNFLAGGED = 0;
18 float THREAT_IGNORE = -1;
20 float DODGE_DIST = 500;
21 float SEARCH_DIST = 1000;
28 void() remove_MauveBot;
31 UrreBot 1.5 for Nexuiz
34 entity navnode_chain, bot_chain;
35 float navnodes, loadstep;
36 .entity list, link0, link1, link2, link3, link4, link5, link6, link7, link8, link9;
37 .entity link10, link11, link12, link13, link14, link15, link16, link17, link18, link19;
39 .float lflags0, lflags1, lflags2, lflags3, lflags4, lflags5, lflags6, lflags7, lflags8, lflags9;
40 .float lflags10, lflags11, lflags12, lflags13, lflags14, lflags15, lflags16, lflags17, lflags18, lflags19;
44 float search_distance;
45 float minisearch_distance;
46 float stratsearch_distance;
75 float urrebots, actualurrebots, urrebots_strategytime, urrebots_combattime;
81 entity(vector org, vector minss, vector maxss) FindCurrentNavNode;
82 void(float distance) UrreBotPath;
91 float(vector m1, vector m2, vector m3, vector m4) boxesoverlap = {return m2_x >= m3_x && m1_x <= m4_x && m2_y >= m3_y && m1_y <= m4_y && m2_z >= m3_z && m1_z <= m4_z;};
92 float(vector smins, vector smaxs, vector bmins, vector bmaxs) boxenclosed = {return smins_x >= bmins_x && smaxs_x <= bmaxs_x && smins_y >= bmins_y && smaxs_y <= bmaxs_y && smins_z >= bmins_z && smaxs_z <= bmaxs_z;};
96 float JoinBestTeam(entity pl, float only_return_best);
106 flo = cvar("bot_number");
107 if (flo > bot_number)
109 else if (flo < bot_number)
113 urrebots = cvar("urrebots");
114 urrebots_strategytime = cvar("urrebots_strategytime");
115 urrebots_combattime = cvar("urrebots_combattime");
116 stratsearch_distance = cvar("urrebots_stratsearch_dist");
117 minisearch_distance = cvar("urrebots_minisearch_dist");
118 if (actualurrebots < urrebots)
126 else if (loadstep == 1)
132 else if (loadstep == 2)
140 if (actualurrebots > urrebots)