X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fprojectile.qc;h=4081bd8d1800c147a4867d2a6b6321bb11ed5e39;hb=dbcdd58814a7281aef637c8c07a02242331c4c86;hp=37ad89da52676ac4412fa0f60879658fed1e363c;hpb=b87370239d9eacc2cf1d258c5f918049262d18bc;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index 37ad89da5..4081bd8d1 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -20,7 +20,6 @@ void SUB_Stop() .float gravity; .float snd_looping; .float silent; -.float traileffect; void Projectile_ResetTrail(vector to) { @@ -75,7 +74,7 @@ void Projectile_Draw() Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy); if(!(self.move_flags & FL_ONGROUND)) if(self.velocity != '0 0 0') - self.angles = vectoangles(self.velocity); + self.move_angles = self.angles = vectoangles(self.velocity); } else { @@ -150,7 +149,7 @@ void Projectile_Draw() { case PROJECTILE_BULLET_GLOWING: case PROJECTILE_BULLET_GLOWING_TRACER: - R_AddDynamicLight(self.origin, 50 * a, '1 1 0'); + adddynamiclight(self.origin, 50 * a, '1 1 0'); break; default: break; @@ -289,8 +288,8 @@ void Ent_Projectile() case PROJECTILE_PORTO_RED: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_WIZSPIKE"); self.scale = 4; break; case PROJECTILE_PORTO_BLUE: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_WIZSPIKE"); self.scale = 4; break; case PROJECTILE_HOOKBOMB: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_KNIGHTSPIKE"); break; - case PROJECTILE_HAGAR: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("TR_GRENADE"); self.scale = 0.75; break; - case PROJECTILE_HAGAR_BOUNCING: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("TR_GRENADE"); self.scale = 0.75; break; + case PROJECTILE_HAGAR: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("tr_hagar"); self.scale = 0.75; break; + case PROJECTILE_HAGAR_BOUNCING: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("tr_hagar"); self.scale = 0.75; break; case PROJECTILE_FIREBALL: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("fireball"); break; // particle effect is good enough case PROJECTILE_FIREMINE: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("firemine"); break; // particle effect is good enough case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break; @@ -304,6 +303,10 @@ void Ent_Projectile() case PROJECTILE_SPIDERROCKET: setmodel(self, "models/vehicles/rocket02.md3"); self.traileffect = particleeffectnum("spiderbot_rocket_thrust"); break; case PROJECTILE_WAKIROCKET: setmodel(self, "models/vehicles/rocket01.md3"); self.traileffect = particleeffectnum("wakizashi_rocket_thrust"); break; case PROJECTILE_WAKICANNON: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum(""); break; + + case PROJECTILE_BUMBLE_GUN: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break; + case PROJECTILE_BUMBLE_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break; + default: error("Received invalid CSQC projectile, can't work with this!"); break; @@ -407,9 +410,21 @@ void Ent_Projectile() break; case PROJECTILE_WAKIROCKET: loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); - break; + break; + /* case PROJECTILE_WAKICANNON: break; + case PROJECTILE_BUMBLE_GUN: + // only new engines support sound moving with object + loopsound(self, CH_SHOTS_SINGLE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM); + self.mins = '0 0 -4'; + self.maxs = '0 0 -4'; + self.move_movetype = MOVETYPE_BOUNCE; + self.move_touch = SUB_Null; + self.move_bounce_factor = g_balance_electro_secondary_bouncefactor; + self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop; + break; + */ default: break; }