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