]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/bot/scripting.qc
Merge branch 'master' into mirceakitsune/damage_effects
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / bot / scripting.qc
index 99cf7391273d57ae19fdd49bc57f8c6f4c98ca5f..6b1eba8277d9cc9f8ab7ccc6b65d765ef387137b 100644 (file)
@@ -273,7 +273,7 @@ void bot_commands_init()
 // Returns first bot with matching name
 entity find_bot_by_name(string name)
 {
-       local entity bot;
+       entity bot;
 
        bot = findchainflags(flags, FL_CLIENT);
        while (bot)
@@ -291,8 +291,8 @@ entity find_bot_by_name(string name)
 // Returns a bot by number on list
 entity find_bot_by_number(float number)
 {
-       local entity bot;
-       local float c;
+       entity bot;
+       float c;
 
        if(!number)
                return world;
@@ -313,7 +313,7 @@ entity find_bot_by_number(float number)
 
 float bot_decodecommand(string cmdstring)
 {
-       local float cmd_parm_type, i;
+       float cmd_parm_type, i;
        float sp;
        string parm;
 
@@ -372,8 +372,8 @@ float bot_decodecommand(string cmdstring)
 
 void bot_cmdhelp(string scmd)
 {
-       local float i, ntype;
-       local string stype;
+       float i, ntype;
+       string stype;
 
        if(!bot_cmds_initialized)
                bot_commands_init();
@@ -487,8 +487,8 @@ void bot_cmdhelp(string scmd)
 
 void bot_list_commands()
 {
-       local float i;
-       local string ptype;
+       float i;
+       string ptype;
 
        if(!bot_cmds_initialized)
                bot_commands_init();
@@ -625,7 +625,7 @@ float bot_cmd_turn()
 
 float bot_cmd_select_weapon()
 {
-       local float id;
+       float id;
 
        id = bot_cmd.bot_cmd_parm_float;
 
@@ -679,8 +679,8 @@ float bot_cmd_eval(string expr)
 
 float bot_cmd_if()
 {
-       local string expr, val_a, val_b;
-       local float cmpofs;
+       string expr, val_a, val_b;
+       float cmpofs;
 
        if(self.bot_cmd_condition_status != CMD_CONDITION_NONE)
        {
@@ -777,7 +777,7 @@ float bot_cmd_aim()
        // Current direction
        if(self.bot_cmd_aim_endtime)
        {
-               local float progress;
+               float progress;
 
                progress = min(1 - (self.bot_cmd_aim_endtime - time) / (self.bot_cmd_aim_endtime - self.bot_cmd_aim_begintime),1);
                self.v_angle = self.bot_cmd_aim_begin + ((self.bot_cmd_aim_end - self.bot_cmd_aim_begin) * progress);
@@ -792,8 +792,8 @@ float bot_cmd_aim()
        }
 
        // New aiming direction
-       local string parms;
-       local float tokens, step;
+       string parms;
+       float tokens, step;
 
        parms = bot_cmd.bot_cmd_parm_string;
 
@@ -830,10 +830,10 @@ float bot_cmd_aimtarget()
                return bot_cmd_aim();
        }
 
-       local entity e;
-       local string parms;
-       local vector v;
-       local float tokens, step;
+       entity e;
+       string parms;
+       vector v;
+       float tokens, step;
 
        parms = bot_cmd.bot_cmd_parm_string;
 
@@ -1027,7 +1027,7 @@ float bot_cmd_keypress_handler(string key, float enabled)
 
 float bot_cmd_presskey()
 {
-       local string key;
+       string key;
 
        key = bot_cmd.bot_cmd_parm_string;
 
@@ -1038,7 +1038,7 @@ float bot_cmd_presskey()
 
 float bot_cmd_releasekey()
 {
-       local string key;
+       string key;
 
        key = bot_cmd.bot_cmd_parm_string;
 
@@ -1095,18 +1095,43 @@ float bot_cmd_sound()
        return CMD_STATUS_FINISHED;
 }
 
+.entity tuba_note;
 float bot_cmd_debug_assert_canfire()
 {
        float f;
        f = bot_cmd.bot_cmd_parm_float;
 
-       float canfire;
-       canfire = (self.weaponentity.state == WS_READY) && (ATTACK_FINISHED(self) <= time);
-
-       if(canfire != f)
+       if(self.weaponentity.state != WS_READY)
+       {
+               if(f)
+               {
+                       self.colormod = '0 8 8';
+                       print("Bot wants to fire, inhibited by weaponentity state\n");
+               }
+       }
+       else if(ATTACK_FINISHED(self) > time)
+       {
+               if(f)
+               {
+                       self.colormod = '8 0 8';
+                       print("Bot wants to fire, inhibited by ATTACK_FINISHED\n");
+               }
+       }
+       else if(self.tuba_note)
        {
-               self.glowmod = '8 0 8';
-               print(sprintf("Bot canfire state expected to be %d, really is %d\n", f, self.weaponentity.state));
+               if(f)
+               {
+                       self.colormod = '8 0 0';
+                       print("Bot wants to fire, bot still has an active tuba note\n");
+               }
+       }
+       else
+       {
+               if(!f)
+               {
+                       self.colormod = '8 8 0';
+                       print("Bot thinks it has fired, but apparently did not\n");
+               }
        }
 
        return CMD_STATUS_FINISHED;
@@ -1188,7 +1213,7 @@ void bot_resetqueues()
 // NOTE: Of course you need to include your commands here too :)
 float bot_execute_commands_once()
 {
-       local float status, ispressingkey;
+       float status, ispressingkey;
 
        // Find command
        bot_setcurrentcommand();
@@ -1321,7 +1346,7 @@ float bot_execute_commands_once()
        {
                if(autocvar_g_debug_bot_commands)
                {
-                       local string parms;
+                       string parms;
 
                        switch(bot_cmd_parm_type[bot_cmd.bot_cmd_type])
                        {