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