[nexuiz-commits] r7374 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Aug 7 02:08:21 EDT 2009


Author: div0
Date: 2009-08-07 02:08:21 -0400 (Fri, 07 Aug 2009)
New Revision: 7374

Modified:
   trunk/data/qcsrc/server/havocbot_roles.qc
Log:
keyhunt:
1. route to key carrier, not to key
2. adjust ratings

This appears to fix the bot AI on aneurysm.


Modified: trunk/data/qcsrc/server/havocbot_roles.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot_roles.qc	2009-08-06 19:25:40 UTC (rev 7373)
+++ trunk/data/qcsrc/server/havocbot_roles.qc	2009-08-07 06:08:21 UTC (rev 7374)
@@ -333,12 +333,14 @@
 			}
 		}
 		if(!head.owner)
-			navigation_routerating(head, ratingscale_dropped, 100000);
+			navigation_routerating(head, ratingscale_dropped * BOT_PICKUP_RATING_HIGH, 100000);
 		else if(head.team == self.team)
-			navigation_routerating(head, ratingscale_team, 100000);
+			navigation_routerating(head.owner, ratingscale_team * BOT_PICKUP_RATING_HIGH, 100000);
 		else
-			navigation_routerating(head, ratingscale_enemy, 100000);
+			navigation_routerating(head.owner, ratingscale_enemy * BOT_PICKUP_RATING_HIGH, 100000);
 	}
+
+	havocbot_goalrating_items(1, self.origin, 10000);
 };
 
 void() havocbot_role_kh_carrier;
@@ -350,7 +352,7 @@
 	if(self.deadflag != DEAD_NO)
 		return;
 
-	if (!(self.items & IT_KEY1))
+	if (!(self.kh_next))
 	{
 		dprint("changing role to freelancer\n");
 		self.havocbot_role = havocbot_role_kh_freelancer;
@@ -364,11 +366,10 @@
 		navigation_goalrating_start();
 
 		if(kh_Key_AllOwnedByWhichTeam() == self.team)
-			havocbot_goalrating_kh(100000, 1, 1); // bring home
+			havocbot_goalrating_kh(10, 0.1, 0.1); // bring home
 		else
-			havocbot_goalrating_kh(40000, 40000, 1000); // play defensively
+			havocbot_goalrating_kh(4, 4, 1); // play defensively
 
-		havocbot_goalrating_items(10000, self.origin, 10000);
 		navigation_goalrating_end();
 	}
 }
@@ -378,7 +379,7 @@
 	if(self.deadflag != DEAD_NO)
 		return;
 
-	if (self.items & IT_KEY1)
+	if (self.kh_next)
 	{
 		dprint("changing role to carrier\n");
 		self.havocbot_role = havocbot_role_kh_carrier;
@@ -404,13 +405,12 @@
 
 		key_owner_team = kh_Key_AllOwnedByWhichTeam();
 		if(key_owner_team == self.team)
-			havocbot_goalrating_kh(100000, 1, 1); // defend key carriers
+			havocbot_goalrating_kh(10, 0.1, 0.1); // defend key carriers
 		else if(key_owner_team == -1)
-			havocbot_goalrating_kh(40000, 10000, 1); // play defensively
+			havocbot_goalrating_kh(4, 1, 0.1); // play defensively
 		else
-			havocbot_goalrating_kh(1, 1, 100000); // ATTACK ANYWAY
+			havocbot_goalrating_kh(0.1, 0.1, 10); // ATTACK ANYWAY
 
-		havocbot_goalrating_items(10000, self.origin, 10000);
 		navigation_goalrating_end();
 	}
 };
@@ -420,7 +420,7 @@
 	if(self.deadflag != DEAD_NO)
 		return;
 
-	if (self.items & IT_KEY1)
+	if (self.kh_next)
 	{
 		dprint("changing role to carrier\n");
 		self.havocbot_role = havocbot_role_kh_carrier;
@@ -447,13 +447,12 @@
 
 		key_owner_team = kh_Key_AllOwnedByWhichTeam();
 		if(key_owner_team == self.team)
-			havocbot_goalrating_kh(100000, 1, 1); // defend anyway
+			havocbot_goalrating_kh(10, 0.1, 0.1); // defend anyway
 		else if(key_owner_team == -1)
-			havocbot_goalrating_kh(1, 10000, 40000); // play offensively
+			havocbot_goalrating_kh(0.1, 1, 4); // play offensively
 		else
-			havocbot_goalrating_kh(1, 1, 100000); // ATTACK! EMERGENCY!
+			havocbot_goalrating_kh(0.1, 0.1, 10); // ATTACK! EMERGENCY!
 
-		havocbot_goalrating_items(10000, self.origin, 10000);
 		navigation_goalrating_end();
 	}
 };
@@ -463,7 +462,7 @@
 	if(self.deadflag != DEAD_NO)
 		return;
 
-	if (self.items & IT_KEY1)
+	if (self.kh_next)
 	{
 		dprint("changing role to carrier\n");
 		self.havocbot_role = havocbot_role_kh_carrier;
@@ -498,13 +497,12 @@
 
 		key_owner_team = kh_Key_AllOwnedByWhichTeam();
 		if(key_owner_team == self.team)
-			havocbot_goalrating_kh(100000, 1, 1); // defend anyway
+			havocbot_goalrating_kh(10, 0.1, 0.1); // defend anyway
 		else if(key_owner_team == -1)
-			havocbot_goalrating_kh(10000, 40000, 10000); // prefer dropped keys
+			havocbot_goalrating_kh(1, 10, 4); // prefer dropped keys
 		else
-			havocbot_goalrating_kh(1, 1, 100000); // ATTACK ANYWAY
+			havocbot_goalrating_kh(0.1, 0.1, 10); // ATTACK ANYWAY
 
-		havocbot_goalrating_items(10000, self.origin, 10000);
 		navigation_goalrating_end();
 	}
 };



More information about the nexuiz-commits mailing list