]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/weapon/arc.qc
Don't multiply shot direction by 1000 in each case, fixes strange flashes appearing...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / weapon / arc.qc
index ae2dbf07dfeda4f47c1b70d63ce7322364251c88..a16d7af3ece51fbf0702be3ce4b60a74be7ab83b 100644 (file)
@@ -131,7 +131,7 @@ void W_Arc_Attack_Bolt(Weapon thiswep, entity actor, .entity weaponentity)
 
        W_SetupShot(actor, weaponentity, false, 2, SND_LASERGUN_FIRE, CH_WEAPON_A, WEP_CVAR(arc, bolt_damage), WEP_ARC.m_id | HITTYPE_SECONDARY);
 
-       Send_Effect(EFFECT_ARC_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1);
+       W_MuzzleFlash(actor, weaponentity, EFFECT_ARC_MUZZLEFLASH, MDL_Null, w_shotorg, w_shotdir);
 
        missile = new(missile);
        missile.owner = missile.realowner = actor;
@@ -583,8 +583,9 @@ void Arc_Smoke(Weapon thiswep, entity actor, .entity weaponentity, int fire)
                        Send_Effect(EFFECT_ARC_SMOKE, smoke_origin, '0 0 0', 1 );
        }
 
-       if (  actor.arc_smoke_sound && ( actor.arc_overheat <= time ||
-               !( PHYS_INPUT_BUTTON_ATCK(actor) || PHYS_INPUT_BUTTON_ATCK2(actor) ) ) || actor.(weaponentity).m_switchweapon != thiswep )
+       bool attacking = PHYS_INPUT_BUTTON_ATCK(actor) || PHYS_INPUT_BUTTON_ATCK2(actor);
+       bool stop_smoke_sound = actor.arc_overheat <= time || !attacking;
+       if ((actor.arc_smoke_sound && stop_smoke_sound) || actor.(weaponentity).m_switchweapon != thiswep)
        {
                actor.arc_smoke_sound = 0;
                sound(actor, CH_SHOTS_SINGLE, SND_Null, VOL_BASE, ATTEN_NORM);
@@ -897,10 +898,7 @@ void Draw_ArcBeam(entity this)
                MAKE_VECTORS(myviewangle, forward, right, up);
                entity wepent = viewmodels[this.beam_slot];
 
-               if(autocvar_chase_active)
-                       this.beam_usevieworigin = 1;
-               else
-                       this.beam_usevieworigin = 2;
+               this.beam_usevieworigin = (autocvar_chase_active) ? 1 : 2;
 
                // decide upon start position
                if(this.beam_usevieworigin == 2)
@@ -1231,10 +1229,7 @@ NET_HANDLE(ENT_CLIENT_ARC_BEAM, bool isnew)
 
                if(ReadByte())
                {
-                       if(autocvar_chase_active)
-                               { this.beam_usevieworigin = 1; }
-                       else // use view origin
-                               { this.beam_usevieworigin = 2; }
+                       this.beam_usevieworigin = (autocvar_chase_active) ? 1 : 2;
                }
                else
                {