From: terencehill Date: Sun, 10 Feb 2013 17:29:12 +0000 (+0100) Subject: Correctly show particle fx and decal when a mine stuck on the ceil explodes (.oldvelo... X-Git-Tag: xonotic-v0.7.0~62^2~30^2~3 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=91b95c99deb3ac8e8c9e6076282b12215f0a685a;p=xonotic%2Fxonotic-data.pk3dir.git Correctly show particle fx and decal when a mine stuck on the ceil explodes (.oldvelocity can't be used anymore as it's updated every frame in the function CreatureFrame) --- diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index 1b4f7c6cd..2aa0ec422 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -5,6 +5,7 @@ REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_MUTATORBLOCKED void W_Mine_Think (void); .float minelayer_detonate, mine_explodeanyway; .float mine_time; +.vector mine_orientation; void spawnfunc_weapon_minelayer (void) { @@ -31,7 +32,7 @@ void W_Mine_Stick (entity to) setmodel(newmine, "models/mine.md3"); newmine.angles = vectoangles(-trace_plane_normal); // face against the surface - newmine.oldvelocity = self.velocity; + newmine.mine_orientation = -trace_plane_normal; newmine.takedamage = self.takedamage; newmine.damageforcescale = self.damageforcescale; @@ -95,7 +96,7 @@ void W_Mine_DoRemoteExplode () self.takedamage = DAMAGE_NO; if(self.movetype == MOVETYPE_NONE || self.movetype == MOVETYPE_FOLLOW) - self.velocity = self.oldvelocity; + self.velocity = self.mine_orientation; // particle fx and decals need .velocity RadiusDamage (self, self.realowner, autocvar_g_balance_minelayer_remote_damage, autocvar_g_balance_minelayer_remote_edgedamage, autocvar_g_balance_minelayer_remote_radius, world, autocvar_g_balance_minelayer_remote_force, self.projectiledeathtype | HITTYPE_BOUNCE, world);