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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Jul 29 08:51:47 EDT 2009


Author: div0
Date: 2009-07-29 08:51:47 -0400 (Wed, 29 Jul 2009)
New Revision: 7280

Modified:
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/g_hook.qc
   trunk/data/qcsrc/server/nexball.qc
   trunk/data/qcsrc/server/steerlib.qc
   trunk/data/qcsrc/server/w_common.qc
   trunk/data/qcsrc/server/w_crylink.qc
   trunk/data/qcsrc/server/w_electro.qc
   trunk/data/qcsrc/server/w_grenadelauncher.qc
   trunk/data/qcsrc/server/w_hagar.qc
   trunk/data/qcsrc/server/w_hlac.qc
   trunk/data/qcsrc/server/w_hook.qc
   trunk/data/qcsrc/server/w_laser.qc
   trunk/data/qcsrc/server/w_porto.qc
   trunk/data/qcsrc/server/w_rocketlauncher.qc
Log:
make projectiles SOLID_TRIGGER for a test


Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/defs.qh	2009-07-29 12:51:47 UTC (rev 7280)
@@ -609,3 +609,6 @@
 #endif
 
 .float campingrifle_bulletcounter;
+
+#define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_TRIGGER; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE
+// once was: SOLID_BBOX and default dphitcontentsmask, but then stuff can be blocked by them, and they are impacted by spectators

Modified: trunk/data/qcsrc/server/g_hook.qc
===================================================================
--- trunk/data/qcsrc/server/g_hook.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/g_hook.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -63,7 +63,7 @@
 void UnsetMovetypeFollow(entity ent)
 {
 	ent.movetype = MOVETYPE_FLY;
-	ent.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(ent);
 	ent.aiment = world;
 }
 float LostMovetypeFollow(entity ent)
@@ -332,7 +332,7 @@
 	missile.classname = "grapplinghook";
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 
 	setmodel (missile, "models/hook.md3"); // precision set below
 	setsize (missile, '-3 -3 -3', '3 3 3');

Modified: trunk/data/qcsrc/server/nexball.qc
===================================================================
--- trunk/data/qcsrc/server/nexball.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/nexball.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -669,7 +669,7 @@
 	missile.classname = "ballstealer";
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 
 	setmodel (missile, "models/elaser.mdl"); // precision set below
 	setsize (missile, '0 0 0', '0 0 0');

Modified: trunk/data/qcsrc/server/steerlib.qc
===================================================================
--- trunk/data/qcsrc/server/steerlib.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/steerlib.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -512,7 +512,7 @@
     flocker.owner      = self;
     flocker.think      = flocker_think;
     flocker.nextthink  = time + random() * 5;
-    flocker.solid      = SOLID_BBOX;
+    PROJECTILE_MAKETRIGGER(flocker);
     flocker.movetype   = MOVETYPE_BOUNCEMISSILE;
     flocker.effects    = EF_LOWPRECISION;
     flocker.velocity   = randomvec() * 300;
@@ -612,7 +612,7 @@
     self.enemy.scale     = 3;
     self.enemy.effects   = EF_LOWPRECISION;
     self.enemy.movetype  = MOVETYPE_BOUNCEMISSILE;
-    self.enemy.solid     = SOLID_BBOX;
+    PROJECTILE_MAKETRIGGER(self.enemy);
     self.enemy.think     = flocker_hunter_think;
     self.enemy.nextthink = time + 10;
     self.enemy.flock_id  = self.flock_id;

Modified: trunk/data/qcsrc/server/w_common.qc
===================================================================
--- trunk/data/qcsrc/server/w_common.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_common.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -322,7 +322,7 @@
 	proj = spawn();
 	proj.classname = "bullet";
 	proj.owner = self;
-	proj.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(proj);
 	if(gravityfactor > 0)
 	{
 		proj.movetype = MOVETYPE_TOSS;

Modified: trunk/data/qcsrc/server/w_crylink.qc
===================================================================
--- trunk/data/qcsrc/server/w_crylink.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_crylink.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -83,7 +83,7 @@
 		proj.bot_dodgerating = cvar("g_balance_crylink_primary_damage");
 
 		proj.movetype = MOVETYPE_BOUNCEMISSILE;
-		proj.solid = SOLID_BBOX;
+		PROJECTILE_MAKETRIGGER(proj);
 		proj.projectiledeathtype = WEP_CRYLINK;
 		//proj.gravity = 0.001;
 
@@ -147,7 +147,7 @@
 		proj.bot_dodgerating = cvar("g_balance_crylink_secondary_damage");
 
 		proj.movetype = MOVETYPE_BOUNCEMISSILE;
-		proj.solid = SOLID_BBOX;
+		PROJECTILE_MAKETRIGGER(proj);
 		proj.projectiledeathtype = WEP_CRYLINK | HITTYPE_SECONDARY;
 		//proj.gravity = 0.001;
 

Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_electro.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -82,7 +82,7 @@
 	proj.use = W_Plasma_Explode;
 	proj.think = adaptor_think2use;
 	proj.nextthink = time + cvar("g_balance_electro_primary_lifetime");
-	proj.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(proj);
 	proj.projectiledeathtype = WEP_ELECTRO;
 	setorigin(proj, w_shotorg);
 
@@ -119,7 +119,7 @@
 	proj.bot_dodge = TRUE;
 	proj.bot_dodgerating = cvar("g_balance_electro_secondary_damage");
 	proj.nextthink = time + cvar("g_balance_electro_secondary_lifetime");
-	proj.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(proj);
 	proj.projectiledeathtype = WEP_ELECTRO | HITTYPE_SECONDARY;
 	setorigin(proj, w_shotorg);
 

Modified: trunk/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_grenadelauncher.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_grenadelauncher.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -88,7 +88,7 @@
 	gren.bot_dodge = TRUE;
 	gren.bot_dodgerating = cvar("g_balance_grenadelauncher_primary_damage");
 	gren.movetype = MOVETYPE_BOUNCE;
-	gren.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(gren);
 	gren.projectiledeathtype = WEP_GRENADE_LAUNCHER;
 	setorigin(gren, w_shotorg);
 	setsize(gren, '0 0 -3', '0 0 -3');
@@ -123,7 +123,7 @@
 	gren.bot_dodge = TRUE;
 	gren.bot_dodgerating = cvar("g_balance_grenadelauncher_secondary_damage");
 	gren.movetype = MOVETYPE_BOUNCE;
-	gren.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(gren);
 	gren.projectiledeathtype = WEP_GRENADE_LAUNCHER | HITTYPE_SECONDARY;
 	setsize(gren, '0 0 -3', '0 0 -3');
 	setorigin(gren, w_shotorg);

Modified: trunk/data/qcsrc/server/w_hagar.qc
===================================================================
--- trunk/data/qcsrc/server/w_hagar.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_hagar.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -55,7 +55,7 @@
 	missile.use = W_Hagar_Explode;
 	missile.think = adaptor_think2use;
 	missile.nextthink = time + cvar("g_balance_hagar_primary_lifetime");
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 	missile.projectiledeathtype = WEP_HAGAR;
 	setorigin (missile, w_shotorg);
 	setsize(missile, '0 0 0', '0 0 0');
@@ -91,7 +91,7 @@
 	missile.use = W_Hagar_Explode;
 	missile.think = adaptor_think2use;
 	missile.nextthink = time + cvar("g_balance_hagar_secondary_lifetime");
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 	missile.projectiledeathtype = WEP_HAGAR | HITTYPE_SECONDARY;
 	setorigin (missile, w_shotorg);
 	setsize(missile, '0 0 0', '0 0 0');

Modified: trunk/data/qcsrc/server/w_hlac.qc
===================================================================
--- trunk/data/qcsrc/server/w_hlac.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_hlac.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -53,7 +53,7 @@
     missile.bot_dodgerating = cvar("g_balance_hlac_primary_damage");
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 
 	setorigin (missile, w_shotorg);
 	setsize(missile, '0 0 0', '0 0 0');
@@ -97,7 +97,7 @@
     missile.bot_dodgerating = cvar("g_balance_hlac_secondary_damage");
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 
 	setorigin (missile, w_shotorg);
 	setsize(missile, '0 0 0', '0 0 0');

Modified: trunk/data/qcsrc/server/w_hook.qc
===================================================================
--- trunk/data/qcsrc/server/w_hook.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_hook.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -68,7 +68,7 @@
 	gren.bot_dodge = TRUE;
 	gren.bot_dodgerating = cvar("g_balance_hook_secondary_damage");
 	gren.movetype = MOVETYPE_TOSS;
-	gren.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(gren);
 	gren.projectiledeathtype = WEP_HOOK | HITTYPE_SECONDARY;
 	setorigin(gren, w_shotorg);
 	setsize(gren, '0 0 0', '0 0 0');

Modified: trunk/data/qcsrc/server/w_laser.qc
===================================================================
--- trunk/data/qcsrc/server/w_laser.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_laser.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -4,6 +4,9 @@
 {
 	PROJECTILE_TOUCH;
 
+	if(other.classname == "spectator")
+		checkclient();
+
 	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);
@@ -31,7 +34,7 @@
 		missile.bot_dodgerating = cvar("g_balance_laser_primary_damage");
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 	missile.projectiledeathtype = WEP_LASER;
 	if(issecondary)
 		missile.projectiledeathtype |= HITTYPE_SECONDARY;

Modified: trunk/data/qcsrc/server/w_porto.qc
===================================================================
--- trunk/data/qcsrc/server/w_porto.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_porto.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -170,7 +170,7 @@
 	gren.bot_dodge = TRUE;
 	gren.bot_dodgerating = 200;
 	gren.movetype = MOVETYPE_BOUNCEMISSILE;
-	gren.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(gren);
 	gren.effects = EF_RED;
 	gren.scale = 4;
 	setorigin(gren, w_shotorg);

Modified: trunk/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-07-29 08:07:25 UTC (rev 7279)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-07-29 12:51:47 UTC (rev 7280)
@@ -276,7 +276,7 @@
 	missile.event_damage = W_Rocket_Damage;
 
 	missile.movetype = MOVETYPE_FLY;
-	missile.solid = SOLID_BBOX;
+	PROJECTILE_MAKETRIGGER(missile);
 	missile.projectiledeathtype = WEP_ROCKET_LAUNCHER;
 	setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
 



More information about the nexuiz-commits mailing list