r5583 - in trunk/data/qcsrc: client common server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Jan 16 16:29:00 EST 2009


Author: div0
Date: 2009-01-16 16:28:53 -0500 (Fri, 16 Jan 2009)
New Revision: 5583

Modified:
   trunk/data/qcsrc/client/projectile.qc
   trunk/data/qcsrc/common/constants.qh
   trunk/data/qcsrc/server/w_hagar.qc
   trunk/data/qcsrc/server/w_hook.qc
Log:
make the remainign weapons csqc projectiles


Modified: trunk/data/qcsrc/client/projectile.qc
===================================================================
--- trunk/data/qcsrc/client/projectile.qc	2009-01-16 21:17:53 UTC (rev 5582)
+++ trunk/data/qcsrc/client/projectile.qc	2009-01-16 21:28:53 UTC (rev 5583)
@@ -32,8 +32,7 @@
 			break;
 		case PROJECTILE_GRENADE:
 			trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), oldorg, self.origin);
-			if(!(self.move_flags & FL_ONGROUND))
-				self.angles -= '750 0 0' * time;
+			self.angles -= '750 0 0' * time;
 			break;
 		case PROJECTILE_GRENADE_BOUNCING:
 			trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), oldorg, self.origin);
@@ -54,6 +53,16 @@
 		case PROJECTILE_SEEKER:
 			trailparticles(self, particleeffectnum("TR_ROCKET"), oldorg, self.origin);
 			break;
+		case PROJECTILE_HOOKBOMB:
+			trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), oldorg, self.origin);
+			self.angles = '0 500 0' * time;
+			break;
+		case PROJECTILE_HAGAR:
+			trailparticles(self, particleeffectnum("TR_GRENADE"), oldorg, self.origin);
+			break;
+		case PROJECTILE_HAGAR_BOUNCING:
+			trailparticles(self, particleeffectnum("TR_GRENADE"), oldorg, self.origin);
+			break;
 		default:
 			break;
 	}
@@ -150,6 +159,9 @@
 			case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; break;
 			case PROJECTILE_PORTO_RED: setmodel(self, "models/grenademodel.md3"); self.scale = 4; break;
 			case PROJECTILE_PORTO_BLUE: setmodel(self, "models/grenademodel.md3"); self.scale = 4; break;
+			case PROJECTILE_HOOKBOMB: setmodel(self, "models/grenademodel.md3"); break;
+			case PROJECTILE_HAGAR: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; break;
+			case PROJECTILE_HAGAR_BOUNCING: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; break;
 			default:
 				error("Received invalid CSQC projectile, can't work with this!");
 				break;
@@ -197,6 +209,10 @@
 			case PROJECTILE_PORTO_BLUE:
 				self.colormod = '1 1 2';
 				break;
+			case PROJECTILE_HAGAR_BOUNCING:
+				self.move_movetype = MOVETYPE_BOUNCE;
+				self.move_moveflags = 0;
+				break;
 			default:
 				break;
 		}
@@ -225,4 +241,7 @@
 	precache_model("models/hagarmissile.mdl");
 	precache_model("models/grenademodel.md3");
 	precache_model("models/grenademodel.md3");
+	precache_model("models/grenademodel.md3");
+	precache_model("models/hagarmissile.mdl");
+	precache_model("models/hagarmissile.mdl");
 }

Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh	2009-01-16 21:17:53 UTC (rev 5582)
+++ trunk/data/qcsrc/common/constants.qh	2009-01-16 21:28:53 UTC (rev 5583)
@@ -368,3 +368,6 @@
 float PROJECTILE_FLAC = 12;
 float PROJECTILE_PORTO_RED = 13;
 float PROJECTILE_PORTO_BLUE = 14;
+float PROJECTILE_HOOKBOMB = 15;
+float PROJECTILE_HAGAR = 16;
+float PROJECTILE_HAGAR_BOUNCING = 17;

Modified: trunk/data/qcsrc/server/w_hagar.qc
===================================================================
--- trunk/data/qcsrc/server/w_hagar.qc	2009-01-16 21:17:53 UTC (rev 5582)
+++ trunk/data/qcsrc/server/w_hagar.qc	2009-01-16 21:28:53 UTC (rev 5583)
@@ -57,6 +57,9 @@
 		self.owner = world;
 		self.projectiledeathtype |= HITTYPE_BOUNCE;
 	}
+
+	if(trace_ent && trace_ent.solid > SOLID_TRIGGER) // CSQC doesn't know about these entities well enough
+		UpdateCSQCProjectile(self);
 }
 
 void W_Hagar_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
@@ -105,6 +108,8 @@
 
 	missile.angles = vectoangles (missile.velocity);
 	missile.flags = FL_PROJECTILE;
+
+	CSQCProjectile(missile, TRUE, PROJECTILE_HAGAR);
 }
 
 void W_Hagar_Attack2 (void)
@@ -148,6 +153,8 @@
 
 	missile.angles = vectoangles (missile.velocity);
 	missile.flags = FL_PROJECTILE;
+
+	CSQCProjectile(missile, TRUE, PROJECTILE_HAGAR_BOUNCING);
 }
 
 void spawnfunc_weapon_hagar (void)

Modified: trunk/data/qcsrc/server/w_hook.qc
===================================================================
--- trunk/data/qcsrc/server/w_hook.qc	2009-01-16 21:17:53 UTC (rev 5582)
+++ trunk/data/qcsrc/server/w_hook.qc	2009-01-16 21:28:53 UTC (rev 5583)
@@ -94,6 +94,8 @@
 
 	gren.angles = '0 0 0';
 	gren.flags = FL_PROJECTILE;
+
+	CSQCProjectile(gren, TRUE, PROJECTILE_HOOKBOMB);
 }
 
 void spawnfunc_weapon_hook (void)




More information about the nexuiz-commits mailing list