r5135 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Nov 28 03:01:36 EST 2008


Author: div0
Date: 2008-11-28 03:01:36 -0500 (Fri, 28 Nov 2008)
New Revision: 5135

Modified:
   trunk/data/qcsrc/server/arena.qc
   trunk/data/qcsrc/server/t_items.qc
Log:
support "cnt" field in items as probability weight for teamed items; works like for spawns


Modified: trunk/data/qcsrc/server/arena.qc
===================================================================
--- trunk/data/qcsrc/server/arena.qc	2008-11-28 07:50:01 UTC (rev 5134)
+++ trunk/data/qcsrc/server/arena.qc	2008-11-28 08:01:36 UTC (rev 5135)
@@ -73,7 +73,7 @@
 		}
 		else if(self.flags & FL_ITEM)			// reset items
 		{
-			if(self.cnt == 1)
+			if(self.state == 1)
 			{
 				self.model = string_null;
 				self.solid = SOLID_NOT;

Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc	2008-11-28 07:50:01 UTC (rev 5134)
+++ trunk/data/qcsrc/server/t_items.qc	2008-11-28 08:01:36 UTC (rev 5135)
@@ -248,7 +248,7 @@
 		{
 			RandomSelection_Init();
 			for(head = world; (head = findfloat(head, team, self.team)); ) if(head.flags & FL_ITEM)
-				RandomSelection_Add(head, 0, 1, 0);
+				RandomSelection_Add(head, 0, head.cnt, 0);
 			e = RandomSelection_chosen_ent;
 		}
 		else
@@ -268,9 +268,9 @@
 		dprint("Initializing item team ", ftos(self.team), "\n");
 		RandomSelection_Init();
 		for(head = world; (head = findfloat(head, team, self.team)); ) if(head.flags & FL_ITEM)
-			RandomSelection_Add(head, 0, 1, 0);
+			RandomSelection_Add(head, 0, head.cnt, 0);
 		e = RandomSelection_chosen_ent;
-		e.cnt = 0;
+		e.state = 0;
 
 		for(head = world; (head = findfloat(head, team, self.team)); ) if(head.flags & FL_ITEM)
 		{
@@ -279,7 +279,7 @@
 				// make it a non-spawned item
 				head.solid = SOLID_NOT;
 				head.model = string_null;
-				head.cnt = 1; // cnt 1 = initially hidden item
+				head.state = 1; // state 1 = initially hidden item
 			}
 			head.effects = head.effects - (head.effects & EF_NODRAW);
 		}
@@ -288,7 +288,7 @@
 
 // Savage: used for item garbage-collection
 // TODO: perhaps nice special effect?
-void RemoveItem(void) /*FIXDECL*/
+void RemoveItem(void)
 {
 	remove(self);
 }
@@ -506,8 +506,11 @@
 	if (cvar("g_fullbrightitems"))
 		self.effects = self.effects | EF_FULLBRIGHT;
 
+	self.state = 0;
 	if(self.team)
 	{
+		if(!self.cnt)
+			self.cnt = 1; // item probability weight
 		self.effects = self.effects | EF_NODRAW; // marker for item team search
 		InitializeEntity(self, Item_FindTeam, INITPRIO_FINDTARGET);
 	}




More information about the nexuiz-commits mailing list