]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into terencehill/bot_AI_improvements
authorterencehill <piuntn@gmail.com>
Thu, 9 Feb 2017 12:58:13 +0000 (13:58 +0100)
committerterencehill <piuntn@gmail.com>
Thu, 9 Feb 2017 12:58:13 +0000 (13:58 +0100)
1  2 
qcsrc/server/bot/default/bot.qc

index 16a082b9f708d4defb87d62b7b8e4e0495c2c5d1,b52efbbd5c0eff353cc290e1edb5cd6f70136019..318422153bb3423478e9f8dc980a0fea24daf5e4
@@@ -46,7 -46,6 +46,7 @@@ entity bot_spawn(
        entity bot = spawnclient();
        if (bot)
        {
 +              setItemGroupCount();
                currentbots = currentbots + 1;
                bot_setnameandstuff(bot);
                ClientConnect(bot);
@@@ -64,8 -63,9 +64,8 @@@ void bot_think(entity this
        if(autocvar_bot_god)
                this.flags |= FL_GODMODE;
  
 -      this.bot_nextthink = this.bot_nextthink + autocvar_bot_ai_thinkinterval * pow(0.5, this.bot_aiskill);
 -      if(this.bot_nextthink < time)
 -              this.bot_nextthink = time + autocvar_bot_ai_thinkinterval * pow(0.5, this.bot_aiskill);
 +      this.bot_nextthink = max(time, this.bot_nextthink) + max(0.01, autocvar_bot_ai_thinkinterval * pow(0.5, this.bot_aiskill) * min(14 / (skill + 14), 1));
 +
        //if (this.bot_painintensity > 0)
        //      this.bot_painintensity = this.bot_painintensity - (skill + 1) * 40 * frametime;
  
@@@ -208,7 -208,13 +208,13 @@@ void bot_setnameandstuff(entity this
  
        prio = 6;
  
-       #define READSKILL(f,w,r) if(argv(prio) != "") this.f = stof(argv(prio)) * (w); else this.f = (!autocvar_g_campaign) * (2 * random() - 1) * (r) * (w); ++prio
+       #define READSKILL(f, w, r) MACRO_BEGIN { \
+               if(argv(prio) != "") \
+                       this.f = stof(argv(prio)) * w; \
+               else \
+                       this.f = (!autocvar_g_campaign) * (2 * random() - 1) * r * w; \
+               prio++; \
+       } MACRO_END
        //print(bot_name, ": ping=", argv(9), "\n");
  
        READSKILL(havocbot_keyboardskill, 0.5, 0.5); // keyboard skill