]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/bot/default/havocbot/roles.qc
Merge branch 'master' into Mario/wepent_experimental
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / bot / default / havocbot / roles.qc
index 771ab282ddd49039f36fcfbed52a8cb24ccb18c1..536c8b205e8f5911da17a3588c14afbd352f3146 100644 (file)
@@ -19,7 +19,7 @@ void havocbot_goalrating_items(entity this, float ratingscale, vector org, float
        vector o;
        ratingscale = ratingscale * 0.0001; // items are rated around 10000 already
 
-       FOREACH_ENTITY_FLOAT(bot_pickup, true,
+       IL_EACH(g_items, it.bot_pickup,
        {
                o = (it.absmin + it.absmax) * 0.5;
                friend_distance = 10000; enemy_distance = 10000;
@@ -34,7 +34,7 @@ void havocbot_goalrating_items(entity this, float ratingscale, vector org, float
                        traceline(o, o + '0 0 -1500', true, NULL);
 
                        d = pointcontents(trace_endpos + '0 0 1');
-                       if(d & CONTENT_WATER || d & CONTENT_SLIME || d & CONTENT_LAVA)
+                       if(d == CONTENT_WATER || d == CONTENT_SLIME || d == CONTENT_LAVA)
                                continue;
                        if(tracebox_hits_trigger_hurt(it.origin, it.mins, it.maxs, trace_endpos))
                                continue;
@@ -118,19 +118,6 @@ void havocbot_goalrating_items(entity this, float ratingscale, vector org, float
        });
 }
 
-void havocbot_goalrating_controlpoints(entity this, float ratingscale, vector org, float sradius)
-{
-       FOREACH_ENTITY_CLASS("dom_controlpoint", vdist((((it.absmin + it.absmax) * 0.5) - org), <, sradius),
-       {
-               if(it.cnt > -1) // this is just being fought
-                       navigation_routerating(this, it, ratingscale, 5000);
-               else if(it.goalentity.cnt == 0) // unclaimed
-                       navigation_routerating(this, it, ratingscale * 0.5, 5000);
-               else if(it.goalentity.team != this.team) // other team's point
-                       navigation_routerating(this, it, ratingscale * 0.2, 5000);
-       });
-}
-
 void havocbot_goalrating_enemyplayers(entity this, float ratingscale, vector org, float sradius)
 {
        if (autocvar_bot_nofire)
@@ -158,18 +145,18 @@ void havocbot_goalrating_enemyplayers(entity this, float ratingscale, vector org
                        continue;
 
                // not falling
-               if((IS_ONGROUND(it)) == 0)
+               if(!IS_ONGROUND(it))
                {
                        traceline(it.origin, it.origin + '0 0 -1500', true, NULL);
                        t = pointcontents(trace_endpos + '0 0 1');
                        if(t != CONTENT_SOLID )
-                       if(t & CONTENT_WATER || t & CONTENT_SLIME || t & CONTENT_LAVA)
+                       if(t == CONTENT_WATER || t == CONTENT_SLIME || t == CONTENT_LAVA)
                                continue;
                        if(tracebox_hits_trigger_hurt(it.origin, it.mins, it.maxs, trace_endpos))
                                continue;
                }
 
-               // TODO: rate waypoints near the targetted player at that moment, instead of the player itthis
+               // TODO: rate waypoints near the targeted player at that moment, instead of the player itself
                //               adding a player as a goal seems to be quite dangerous, especially on space maps
                //               remove hack in navigation_poptouchedgoals() after performing this change