r5703 - in trunk/data: . qcsrc/menu/nexuiz qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Jan 31 08:46:12 EST 2009


Author: div0
Date: 2009-01-31 08:46:11 -0500 (Sat, 31 Jan 2009)
New Revision: 5703

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/miscfunctions.qc
Log:
bloodloss


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/defaultNexuiz.cfg	2009-01-31 13:46:11 UTC (rev 5703)
@@ -667,6 +667,8 @@
 set g_balance_pause_health_rot_spawn 10
 set g_balance_pause_health_regen_spawn 0
 
+set g_bloodloss 0   "amount of health below which blood loss occurs"
+
 set g_footsteps 0	"serverside footstep sounds"
 
 // effects

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create_mutators.c	2009-01-31 13:46:11 UTC (rev 5703)
@@ -86,6 +86,8 @@
 		s = strcat(s, ", Vampire");
 	if(cvar("g_weapon_stay"))
 		s = strcat(s, ", Weapons stay");
+	if(cvar("g_bloodloss") > 0)
+		s = strcat(s, ", Bloodloss");
 	if(s == "")
 		return "None";
 	else
@@ -177,6 +179,12 @@
 	me.TR(me);
 		me.TDempty(me, 0.2);
 		me.TD(me, 1, 1.8, s);
+	me.TR(me);
+		s = makeNexuizSlider(10, 50, 1, "g_bloodloss");
+		me.TD(me, 1, 2, e = makeNexuizSliderCheckBox(0, 1, s, "Blood loss"));
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 1.8, s);
 
 	me.gotoRC(me, 0, 2); me.setFirstColumn(me, me.currentColumn);
 		me.TD(me, 1, 4, makeNexuizTextLabel(0, "Weapon arenas:"));

Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/qcsrc/server/cl_client.qc	2009-01-31 13:46:11 UTC (rev 5703)
@@ -1,5 +1,6 @@
 .float spectatee_status;
 .float zoomstate;
+.float bloodloss_timer;
 
 .entity clientdata;
 float ClientData_Send(entity to, float sf)
@@ -2222,7 +2223,7 @@
 
 		self.oldorigin = self.origin;
 
-		if (self.BUTTON_CROUCH && !self.hook.state)
+		if ((self.BUTTON_CROUCH && !self.hook.state) || self.health <= g_bloodloss)
 		{
 			if (!self.crouch)
 			{
@@ -2245,6 +2246,15 @@
 				}
 			}
 		}
+		
+		if(self.health <= g_bloodloss && self.deadflag == DEAD_NO)
+		{
+			if(self.bloodloss_timer < time)
+			{
+				self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
+				self.bloodloss_timer = time + 0.5 + random() * 0.5;
+			}
+		}
 
 		FixPlayermodel();
 

Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/qcsrc/server/cl_physics.qc	2009-01-31 13:46:11 UTC (rev 5703)
@@ -52,6 +52,9 @@
 	if(!sv_pogostick)
 		if (!(self.flags & FL_JUMPRELEASED))
 			return;
+			
+	if(self.health <= g_bloodloss)
+		return;
 
 	if(g_runematch)
 	{

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/qcsrc/server/defs.qh	2009-01-31 13:46:11 UTC (rev 5703)
@@ -19,7 +19,7 @@
 float ctf_score_value(string parameter);
 
 float g_dm, g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught, g_assault, g_arena, g_lms, g_runematch, g_race;
-float g_cloaked, g_footsteps, g_jump_grunt, g_grappling_hook, g_laserguided_missile, g_midair, g_minstagib, g_nixnex, g_nixnex_with_laser, g_norecoil, g_vampire, g_minstagib_invis_alpha;
+float g_cloaked, g_footsteps, g_jump_grunt, g_grappling_hook, g_laserguided_missile, g_midair, g_minstagib, g_nixnex, g_nixnex_with_laser, g_norecoil, g_vampire, g_minstagib_invis_alpha, g_bloodloss;
 float g_warmup_limit;
 float g_warmup_allguns;
 float g_warmup_allow_timeout;

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-01-31 11:15:59 UTC (rev 5702)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-01-31 13:46:11 UTC (rev 5703)
@@ -999,6 +999,7 @@
 	g_nixnex_with_laser = cvar("g_nixnex_with_laser");
 	g_norecoil = cvar("g_norecoil");
 	g_vampire = cvar("g_vampire");
+	g_bloodloss = cvar("g_bloodloss");
 	sv_maxidle = cvar("sv_maxidle");
 	sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle");
 	sv_pogostick = cvar("sv_pogostick");




More information about the nexuiz-commits mailing list