]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/weapon/blaster.qc
Merge branch 'master' into Lyberta/WaypointIcons
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / weapon / blaster.qc
index e3d713d470b5808f2f12a35b02cdaf6c53bb5755..e0fd2282baedab6b219b19de8b47f0a4541f96c4 100644 (file)
@@ -8,15 +8,19 @@ void W_Blaster_Touch(entity this, entity toucher)
 
        this.event_damage = func_null;
 
-       RadiusDamage(
+       RadiusDamageForSource(
                this,
+               (this.origin + (this.mins + this.maxs) * 0.5),
+               this.velocity,
                this.realowner,
                this.blaster_damage,
                this.blaster_edgedamage,
                this.blaster_radius,
                NULL,
                NULL,
+               false,
                this.blaster_force,
+               this.blaster_force_zscale,
                this.projectiledeathtype,
                this.weaponentity_fld,
                toucher
@@ -42,6 +46,7 @@ void W_Blaster_Attack(
        float atk_edgedamage,
        float atk_radius,
        float atk_force,
+       float atk_force_zscale,
        float atk_speed,
        float atk_spread,
        float atk_delay,
@@ -50,7 +55,7 @@ void W_Blaster_Attack(
        vector s_forward = v_forward * cos(atk_shotangle * DEG2RAD) + v_up * sin(atk_shotangle * DEG2RAD);
 
        W_SetupShot_Dir(actor, weaponentity, s_forward, false, 3, SND_LASERGUN_FIRE, CH_WEAPON_B, atk_damage, atk_deathtype);
-       Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1);
+       W_MuzzleFlash(WEP_BLASTER, actor, weaponentity, w_shotorg, w_shotdir);
 
        entity missile = new(blasterbolt);
        missile.owner = missile.realowner = actor;
@@ -62,6 +67,7 @@ void W_Blaster_Attack(
        missile.blaster_edgedamage = atk_edgedamage;
        missile.blaster_radius = atk_radius;
        missile.blaster_force = atk_force;
+       missile.blaster_force_zscale = atk_force_zscale;
        missile.blaster_lifetime = atk_lifetime;
 
        setorigin(missile, w_shotorg);
@@ -129,6 +135,7 @@ METHOD(Blaster, wr_think, void(Blaster thiswep, entity actor, .entity weaponenti
                 WEP_CVAR_PRI(blaster, edgedamage),
                 WEP_CVAR_PRI(blaster, radius),
                 WEP_CVAR_PRI(blaster, force),
+                WEP_CVAR_PRI(blaster, force_zscale),
                 WEP_CVAR_PRI(blaster, speed),
                 WEP_CVAR_PRI(blaster, spread),
                 WEP_CVAR_PRI(blaster, delay),
@@ -161,6 +168,7 @@ METHOD(Blaster, wr_think, void(Blaster thiswep, entity actor, .entity weaponenti
                         WEP_CVAR_SEC(blaster, edgedamage),
                         WEP_CVAR_SEC(blaster, radius),
                         WEP_CVAR_SEC(blaster, force),
+                        WEP_CVAR_SEC(blaster, force_zscale),
                         WEP_CVAR_SEC(blaster, speed),
                         WEP_CVAR_SEC(blaster, spread),
                         WEP_CVAR_SEC(blaster, delay),