From: Mircea Kitsune Date: Wed, 4 Apr 2012 11:47:00 +0000 (+0300) Subject: Some final fixes to the physical weapons. Since the current implementation was declar... X-Git-Tag: xonotic-v0.7.0~111^2~22 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=0a0e078e8f0e2aba73cac6b908cb93bcc5a3c6b6;p=xonotic%2Fxonotic-data.pk3dir.git Some final fixes to the physical weapons. Since the current implementation was declared unacceptable, this remains a test that people can play with for fun --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 0f1e4184f1..f32a199484 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1389,7 +1389,6 @@ set sv_foginterval 1 "force enable fog in regular intervals" set physics_ode_droppedweapon 1 "use ODE physics instead of simple physics for dropped weapons, requires physics_ode to be enabled" set physics_ode_droppedweapon_damageforcescale 3 "how affected physical weapons are by damage" -set physics_ode_droppedweapon_avelocity 2 "randomized anagular velocity given to the weapon when dropping" // Audio track names (for old-style "cd loop NUMBER" usage) set _cdtrack_first "1" diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 399bb2f1fb..9ff8b038f4 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1218,4 +1218,3 @@ float autocvar_g_max_info_autoscreenshot; float autocvar_physics_ode; float autocvar_physics_ode_droppedweapon; float autocvar_physics_ode_droppedweapon_damageforcescale; -float autocvar_physics_ode_droppedweapon_avelocity; diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index 938228ff4d..dcd9d16f15 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -189,7 +189,6 @@ void thrown_wep_think() void thrown_wep_ode_think() { self.nextthink = time; - self.alpha = self.owner.alpha; // apply fading of the original weapon if(!self.owner.modelindex) remove(self); // the real weapon is gone, remove this } @@ -316,28 +315,22 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto { entity wep2; wep2 = spawn(); + setsize(wep2, wep.mins, wep.maxs); setorigin(wep2, wep.origin); - setmodel(wep2, wep.model); wep2.angles = wep.angles; wep2.velocity = velo; - wep2.avelocity_x = random() * autocvar_physics_ode_droppedweapon_avelocity; - wep2.avelocity_y = random() * autocvar_physics_ode_droppedweapon_avelocity; - wep2.avelocity_z = random() * autocvar_physics_ode_droppedweapon_avelocity; wep2.classname = "droppedweapon2"; wep2.owner = wep; - wep2.solid = SOLID_BBOX; + wep2.solid = SOLID_CORPSE; wep2.movetype = MOVETYPE_PHYSICS; wep2.takedamage = DAMAGE_AIM; - wep2.colormap = wep.colormap; - wep2.glowmod = wep.glowmod; wep2.damageforcescale = autocvar_physics_ode_droppedweapon_damageforcescale; - wep2.effects |= EF_NOMODELFLAGS; // disable the spinning wep2.think = thrown_wep_ode_think; wep2.nextthink = time; - wep.model = "null"; // don't use setmodel, we want to keep the size + wep.effects |= EF_NOMODELFLAGS; // disable the spinning wep.movetype = MOVETYPE_FOLLOW; wep.aiment = wep2; }