r5633 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Jan 22 07:45:41 EST 2009


Author: div0
Date: 2009-01-22 07:45:41 -0500 (Thu, 22 Jan 2009)
New Revision: 5633

Modified:
   trunk/data/qcsrc/server/arena.qc
   trunk/data/qcsrc/server/assault.qc
   trunk/data/qcsrc/server/ctf.qc
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/domination.qc
   trunk/data/qcsrc/server/func_breakable.qc
   trunk/data/qcsrc/server/keyhunt.qc
   trunk/data/qcsrc/server/mode_onslaught.qc
   trunk/data/qcsrc/server/runematch.qc
   trunk/data/qcsrc/server/t_teleporters.qc
   trunk/data/qcsrc/server/w_electro.qc
   trunk/data/qcsrc/server/w_hlac.qc
   trunk/data/qcsrc/server/w_laser.qc
   trunk/data/qcsrc/server/w_seeker.qc
Log:
make lots of stuff self-resetting


Modified: trunk/data/qcsrc/server/arena.qc
===================================================================
--- trunk/data/qcsrc/server/arena.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/arena.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -50,33 +50,12 @@
 		if(self.team_saved)
 			self.team = self.team_saved;
 
-		if(self.classname == STR_ITEM_KH_KEY)
-		{
-			kh_Key_AssignTo(self, world);
-			kh_Key_Remove(self);
-		}
-		else if(self.classname == "droppedweapon"		// cleanup
+		if(self.classname == "droppedweapon"		// cleanup
 				|| self.classname == "gib"
 				|| self.classname == "body")
 		{
 			remove(self);
 		}
-		else if(self.items & (IT_KEY1 | IT_KEY2))
-		{
-			DropFlag(self, world, world);
-			ReturnFlag(self);
-		}
-		else if(self.classname == "rune")
-		{
-			if(self.owner)
-			if(self.owner.classname != "runematch_spawn_point")
-				DropAllRunes(self.owner);
-			rune_respawn();
-		}
-		else if(self.classname == "dom_controlpoint")
-		{
-			dom_controlpoint_setup();
-		}
 		else if(self.flags & FL_ITEM)			// reset items
 		{
 			if(self.state == 1)
@@ -95,35 +74,9 @@
 		}
 		else if(self.flags & FL_PROJECTILE)		// remove any projectiles left
 		{
-			stopsound(self, CHAN_PROJECTILE);
+			stopsound(self, CHAN_PAIN);
 			remove(self);
 		}
-		else if(self.classname == "onslaught_generator")
-		{
-			onslaught_generator_reset();
-		}
-		else if(self.classname == "onslaught_controlpoint")
-		{
-			onslaught_controlpoint_reset();
-		}
-		// TODO properly reset Assault
-		// General teambased game modes
-		else if(self.classname == "func_breakable")
-		{
-			func_breakable_reset();
-		}
-		else if(self.classname == "func_assault_destructible")
-		{
-			func_breakable_reset();
-		}
-		else if(self.classname == "target_objective")
-		{
-			assault_objective_reset();
-		}
-		else if(self.classname == "target_assault_roundend")
-		{
-			target_assault_roundend_reset();
-		}
 	}
 
 	// Waypoints and assault start come LAST
@@ -132,7 +85,7 @@
 	{
 		if(self.classname == "sprite_waypoint")
 		{
-			if(self.health | g_keyhunt)
+			if(self.health || g_keyhunt)
 				WaypointSprite_Kill(self);
 		}
 		else if(self.classname == "target_assault_roundstart")

Modified: trunk/data/qcsrc/server/assault.qc
===================================================================
--- trunk/data/qcsrc/server/assault.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/assault.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -54,6 +54,7 @@
 	self.classname = "target_objective";
 	self.use = assault_objective_use;
 	assault_objective_reset();
+	self.reset = assault_objective_reset;
 }
 
 
@@ -212,6 +213,7 @@
 	self.classname = "target_assault_roundend";
 	self.use = target_assault_roundend_use;
 	self.cnt = 0; // first round
+	self.reset = target_assault_roundend_reset;
 }
 
 void assault_roundstart_use() {

Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/ctf.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -639,9 +639,13 @@
 	spawnfunc_info_player_deathmatch();
 };
 
+void item_flag_reset()
+{
+	DropFlag(self, world, world);
+	ReturnFlag(self);
+}
 
 
-
 /*QUAKED spawnfunc_item_flag_team1 (0 0.5 0.8) (-48 -48 -37) (48 48 37)
 CTF flag for team one (Red).
 Multiple are allowed.
@@ -737,6 +741,8 @@
 	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_FLAG, '1 0 0');
 
 	precache_model("models/onslaught/generator_shield.md3");
+
+	self.reset = item_flag_reset;
 };
 
 /*QUAKED spawnfunc_item_flag_team2 (0 0.5 0.8) (-48 -48 -24) (48 48 64)
@@ -833,6 +839,8 @@
 	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_FLAG, '0 0 1');
 
 	precache_model("models/onslaught/generator_shield.md3");
+
+	self.reset = item_flag_reset;
 };
 
 

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/defs.qh	2009-01-22 12:45:41 UTC (rev 5633)
@@ -305,8 +305,6 @@
 .vector death_origin;
 .vector killer_origin;
 
-.float isdecor;
-
 float default_player_alpha;
 float default_weapon_alpha;
 

Modified: trunk/data/qcsrc/server/domination.qc
===================================================================
--- trunk/data/qcsrc/server/domination.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/domination.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -490,6 +490,7 @@
 	}
 	self.think = dom_controlpoint_setup;
 	self.nextthink = time + 0.1;
+	self.reset = dom_controlpoint_setup;
 
 	if(!self.scale)
 		self.scale = 0.6;

Modified: trunk/data/qcsrc/server/func_breakable.qc
===================================================================
--- trunk/data/qcsrc/server/func_breakable.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/func_breakable.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -159,6 +159,7 @@
 
 void func_breakable_reset()
 {
+	self.team = self.team_saved;
 	func_breakable_look_restore();
 	if(self.spawnflags & 1)
 		func_breakable_behave_destroyed();
@@ -205,5 +206,6 @@
 
 	self.team_saved = self.team;
 
+	self.reset = func_breakable_reset;
 	func_breakable_reset();
 }

Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/keyhunt.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -367,6 +367,12 @@
 			self.team = attacker.team;
 }
 
+void key_reset()
+{
+	kh_Key_AssignTo(self, world);
+	kh_Key_Remove(self);
+}
+
 void kh_Key_Spawn(entity initial_owner, float angle)  // runs every time a new flag is created, ie after all the keys have been collected
 {
 	entity key;
@@ -386,6 +392,7 @@
 	key.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP;
 	setsize(key, KH_KEY_MIN, KH_KEY_MAX);
 	key.colormod = TeamColor(initial_owner.team) * KH_KEY_BRIGHTNESS;
+	key.reset = key_reset;
 
 	switch(initial_owner.team)
 	{

Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/mode_onslaught.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -560,6 +560,20 @@
 	}
 }
 
+void onslaught_generator_reset()
+{
+	self.team = self.team_saved;
+	self.lasthealth = self.max_health = self.health = cvar("g_onslaught_gen_health");
+	self.takedamage = DAMAGE_AIM;
+	self.bot_attack = TRUE;
+	self.iscaptured = TRUE;
+	self.islinked = TRUE;
+	self.isshielded = TRUE;
+	self.enemy.solid = SOLID_NOT;
+	self.think = onslaught_generator_delayed;
+	self.nextthink = time + 0.2;
+}
+
 /*QUAKED spawnfunc_onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64)
 Base generator.
 
@@ -618,22 +632,10 @@
 	WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
 
 	onslaught_updatelinks();
+
+	self.reset = onslaught_generator_reset;
 };
 
-void onslaught_generator_reset()
-{
-	self.team = self.team_saved;
-	self.lasthealth = self.max_health = self.health = cvar("g_onslaught_gen_health");
-	self.takedamage = DAMAGE_AIM;
-	self.bot_attack = TRUE;
-	self.iscaptured = TRUE;
-	self.islinked = TRUE;
-	self.isshielded = TRUE;
-	self.enemy.solid = SOLID_NOT;
-	self.think = onslaught_generator_delayed;
-	self.nextthink = time + 0.2;
-}
-
 .float waslinked;
 void onslaught_controlpoint_icon_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
@@ -797,6 +799,27 @@
 	self.colormap = e.colormap;
 };
 
+void onslaught_controlpoint_reset()
+{
+	if(self.goalentity && self.goalentity != world)
+		remove(self.goalentity);
+	self.goalentity = world;
+	self.team = 0;
+	self.colormap = 1024;
+	self.iscaptured = FALSE;
+	self.islinked = FALSE;
+	self.isshielded = TRUE;
+	self.enemy.solid = SOLID_NOT;
+	self.enemy.colormap = self.colormap;
+	self.think = self.enemy.think = SUB_Null;
+	self.nextthink = 0; // don't like SUB_Null :P
+	
+	onslaught_updatelinks();
+
+	activator = self;
+	SUB_UseTargets(); // to reset the structures, playerspawns etc.
+}
+
 /*QUAKED spawnfunc_onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128)
 Control point.  Be sure to give this enough clearance so that the shootable part has room to exist
 
@@ -851,29 +874,10 @@
 	WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
 
 	onslaught_updatelinks();
+
+	self.reset = onslaught_controlpoint_reset;
 };
 
-void onslaught_controlpoint_reset()
-{
-	if(self.goalentity && self.goalentity != world)
-		remove(self.goalentity);
-	self.goalentity = world;
-	self.team = 0;
-	self.colormap = 1024;
-	self.iscaptured = FALSE;
-	self.islinked = FALSE;
-	self.isshielded = TRUE;
-	self.enemy.solid = SOLID_NOT;
-	self.enemy.colormap = self.colormap;
-	self.think = self.enemy.think = SUB_Null;
-	self.nextthink = 0; // don't like SUB_Null :P
-	
-	onslaught_updatelinks();
-
-	activator = self;
-	SUB_UseTargets(); // to reset the structures, playerspawns etc.
-}
-
 float onslaught_link_send(entity to, float sendflags)
 {
 	WriteByte(MSG_ENTITY, ENT_CLIENT_RADARLINK);

Modified: trunk/data/qcsrc/server/runematch.qc
===================================================================
--- trunk/data/qcsrc/server/runematch.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/runematch.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -446,6 +446,14 @@
 	}
 }
 
+void rune_reset()
+{
+	if(self.owner)
+		if(self.owner.classname != "runematch_spawn_point")
+			DropAllRunes(self.owner);
+	rune_respawn();
+}
+
 void spawn_runes()
 {
 	float r, num, max_num, rn, cs, numrunes, runes_left, curses_left, tries, prevent_same;
@@ -581,6 +589,7 @@
 		e.movetype = MOVETYPE_TOSS;
 		e.solid = SOLID_TRIGGER;
 		e.flags = FL_ITEM;
+		e.reset = rune_reset;
 		setmodel(e, "models/runematch/rune.mdl"); // precision set below
 		setorigin(e, spot.origin);
 		setsize(e, '0 0 -35', '0 0 0');

Modified: trunk/data/qcsrc/server/t_teleporters.qc
===================================================================
--- trunk/data/qcsrc/server/t_teleporters.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/t_teleporters.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -38,7 +38,6 @@
 .entity pusher;
 void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angles, vector to_velocity, vector telefragmin, vector telefragmax)
 {
-	entity head;
 	entity oldself;
 	entity telefragger;
 	vector from;

Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/w_electro.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -1,8 +1,6 @@
 
 void W_Plasma_Explode (void)
 {
-	vector org2;
-
 	if(other.takedamage == DAMAGE_AIM)
 		if(other.classname == "player")
 			if(IsDifferentTeam(self.owner, other))

Modified: trunk/data/qcsrc/server/w_hlac.qc
===================================================================
--- trunk/data/qcsrc/server/w_hlac.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/w_hlac.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -55,7 +55,7 @@
 	missile.movetype = MOVETYPE_FLY;
 	missile.solid = SOLID_BBOX;
 
-	setmodel (missile, "models/hlac_bullet.md3"); // precision set below
+	setmodel (missile, "null"); // precision set below
 	setsize (missile, '0 0 0', '0 0 0');
 	setorigin (missile, w_shotorg);
 
@@ -100,7 +100,7 @@
 	missile.movetype = MOVETYPE_FLY;
 	missile.solid = SOLID_BBOX;
 
-	setmodel (missile, "models/hlac_bullet.md3"); // precision set below
+	setmodel (missile, "null"); // precision set below
 	setsize (missile, '0 0 0', '0 0 0');
 	setorigin (missile, w_shotorg);
 

Modified: trunk/data/qcsrc/server/w_laser.qc
===================================================================
--- trunk/data/qcsrc/server/w_laser.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/w_laser.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -2,15 +2,8 @@
 
 void W_Laser_Touch (void)
 {
-	vector	dir;
-	vector org2;
-	vector normal;
-
 	PROJECTILE_TOUCH;
 
-	normal = trace_plane_normal;
-	dir = normalize (self.owner.origin - self.origin);
-
 	self.event_damage = SUB_Null;
 	if (self.dmg)
 		RadiusDamage (self, self.owner, cvar("g_balance_laser_secondary_damage"), cvar("g_balance_laser_secondary_edgedamage"), cvar("g_balance_laser_secondary_radius"), world, cvar("g_balance_laser_secondary_force"), self.projectiledeathtype, other);

Modified: trunk/data/qcsrc/server/w_seeker.qc
===================================================================
--- trunk/data/qcsrc/server/w_seeker.qc	2009-01-22 12:34:10 UTC (rev 5632)
+++ trunk/data/qcsrc/server/w_seeker.qc	2009-01-22 12:45:41 UTC (rev 5633)
@@ -257,9 +257,6 @@
 
 void Seeker_Tag_Explode ()
 {
-	vector	org2;
-	float b;
-
 	//if(other==self.owner)
 	//    return;
 	Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_BOUNCE);




More information about the nexuiz-commits mailing list