X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_hlac.qc;h=a92727fbeec7024c21f7a749e939a676ca53a845;hb=a0f8261f12a1a8b073066e06622834cad1a06c65;hp=ecd30d76911d0b8f016eada99910014eb7cf9d31;hpb=333e64c840c6b491fe47a0b9b72b4188040ab3fa;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_hlac.qc b/qcsrc/server/w_hlac.qc index ecd30d769..a92727fbe 100644 --- a/qcsrc/server/w_hlac.qc +++ b/qcsrc/server/w_hlac.qc @@ -1,6 +1,7 @@ #ifdef REGISTER_WEAPON REGISTER_WEAPON(HLAC, w_hlac, IT_CELLS, 6, WEP_FLAG_NORMAL | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", "Heavy Laser Assault Cannon"); #else +#ifdef SVQC .float HLAC_bulletcounter; void W_HLAC_Touch (void) { @@ -39,7 +40,7 @@ void W_HLAC_Attack (void) if(self.crouch) spread = spread * cvar("g_balance_hlac_primary_spread_crouchmod"); - W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", cvar("g_balance_hlac_primary_damage")); + W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON, cvar("g_balance_hlac_primary_damage")); pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); if (!g_norecoil) { @@ -73,6 +74,8 @@ void W_HLAC_Attack (void) missile.projectiledeathtype = WEP_HLAC; CSQCProjectile(missile, TRUE, PROJECTILE_HLAC, TRUE); + + other = missile; MUTATOR_CALLHOOK(EditProjectile); } void W_HLAC_Attack2f (void) @@ -86,7 +89,7 @@ void W_HLAC_Attack2f (void) if(self.crouch) spread = spread * cvar("g_balance_hlac_secondary_spread_crouchmod"); - W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", cvar("g_balance_hlac_secondary_damage")); + W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON, cvar("g_balance_hlac_secondary_damage")); pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); missile = spawn (); @@ -115,6 +118,8 @@ void W_HLAC_Attack2f (void) missile.projectiledeathtype = WEP_HLAC | HITTYPE_SECONDARY; CSQCProjectile(missile, TRUE, PROJECTILE_HLAC, TRUE); + + other = missile; MUTATOR_CALLHOOK(EditProjectile); } void W_HLAC_Attack2 (void) @@ -206,10 +211,29 @@ float w_hlac(float req) return self.ammo_cells >= cvar("g_balance_hlac_primary_ammo"); else if (req == WR_CHECKAMMO2) return self.ammo_cells >= cvar("g_balance_hlac_secondary_ammo"); + return TRUE; +}; +#endif +#ifdef CSQC +float w_hlac(float req) +{ + if(req == WR_IMPACTEFFECT) + { + vector org2; + org2 = w_org + w_backoff * 6; + pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1); + if(!w_issilent) + sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + } + else if(req == WR_PRECACHE) + { + precache_sound("weapons/laserimpact.wav"); + } else if (req == WR_SUICIDEMESSAGE) - w_deathtypestring = "should have used a smaller gun"; + w_deathtypestring = "%s should have used a smaller gun"; else if (req == WR_KILLMESSAGE) - w_deathtypestring = "was cut down by"; + w_deathtypestring = "%s was cut down by %s"; return TRUE; -}; +} +#endif #endif