X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_hlac.qc;h=49685296a86385f6ffad495fff76356406be238f;hb=56d4045219a33eaf7512e7c15261d1776eac4282;hp=7f7d7a27b27e05cf37b205b718e22b1c1a20e849;hpb=1a65f7bb6bae1bb6d1a40d3e2eda30c822052313;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/w_hlac.qc b/qcsrc/common/weapons/w_hlac.qc index 7f7d7a27b..49685296a 100644 --- a/qcsrc/common/weapons/w_hlac.qc +++ b/qcsrc/common/weapons/w_hlac.qc @@ -1,4 +1,4 @@ -#ifdef REGISTER_WEAPON +#ifndef IMPLEMENTATION REGISTER_WEAPON( /* WEP_##id */ HLAC, /* function */ W_HLAC, @@ -45,9 +45,10 @@ REGISTER_WEAPON( #ifdef SVQC HLAC_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) #endif -#else +#endif +#ifdef IMPLEMENTATION #ifdef SVQC -void spawnfunc_weapon_hlac(void) { weapon_defaultspawnfunc(WEP_HLAC); } +void spawnfunc_weapon_hlac(void) { weapon_defaultspawnfunc(WEP_HLAC.m_id); } void W_HLAC_Touch(void) { @@ -76,8 +77,8 @@ void W_HLAC_Attack(void) if(self.crouch) spread = spread * WEP_CVAR_PRI(hlac, spread_crouchmod); - W_SetupShot(self, false, 3, "weapons/lasergun_fire.wav", CH_WEAPON_A, WEP_CVAR_PRI(hlac, damage)); - pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); + W_SetupShot(self, false, 3, W_Sound("lasergun_fire"), CH_WEAPON_A, WEP_CVAR_PRI(hlac, damage)); + Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1); if(!autocvar_g_norecoil) { self.punchangle_x = random() - 0.5; @@ -106,11 +107,11 @@ void W_HLAC_Attack(void) missile.nextthink = time + WEP_CVAR_PRI(hlac, lifetime); missile.flags = FL_PROJECTILE; - missile.projectiledeathtype = WEP_HLAC; + missile.projectiledeathtype = WEP_HLAC.m_id; CSQCProjectile(missile, true, PROJECTILE_HLAC, true); - other = missile; MUTATOR_CALLHOOK(EditProjectile); + MUTATOR_CALLHOOK(EditProjectile, self, missile); } void W_HLAC_Attack2(void) @@ -124,8 +125,8 @@ void W_HLAC_Attack2(void) if(self.crouch) spread = spread * WEP_CVAR_SEC(hlac, spread_crouchmod); - W_SetupShot(self, false, 3, "weapons/lasergun_fire.wav", CH_WEAPON_A, WEP_CVAR_SEC(hlac, damage)); - pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); + W_SetupShot(self, false, 3, W_Sound("lasergun_fire"), CH_WEAPON_A, WEP_CVAR_SEC(hlac, damage)); + Send_Effect(EFFECT_BLASTER_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1); missile = spawn(); missile.owner = missile.realowner = self; @@ -150,11 +151,11 @@ void W_HLAC_Attack2(void) missile.flags = FL_PROJECTILE; missile.missile_flags = MIF_SPLASH; - missile.projectiledeathtype = WEP_HLAC | HITTYPE_SECONDARY; + missile.projectiledeathtype = WEP_HLAC.m_id | HITTYPE_SECONDARY; CSQCProjectile(missile, true, PROJECTILE_HLAC, true); - other = missile; MUTATOR_CALLHOOK(EditProjectile); + MUTATOR_CALLHOOK(EditProjectile, self, missile); } // weapon frames @@ -240,23 +241,23 @@ bool W_HLAC(int req) } case WR_INIT: { - precache_model("models/weapons/g_hlac.md3"); - precache_model("models/weapons/v_hlac.md3"); - precache_model("models/weapons/h_hlac.iqm"); - precache_sound("weapons/lasergun_fire.wav"); + precache_model(W_Model("g_hlac.md3")); + precache_model(W_Model("v_hlac.md3")); + precache_model(W_Model("h_hlac.iqm")); + precache_sound(W_Sound("lasergun_fire")); HLAC_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP); return true; } case WR_CHECKAMMO1: { ammo_amount = self.WEP_AMMO(HLAC) >= WEP_CVAR_PRI(hlac, ammo); - ammo_amount += self.(weapon_load[WEP_HLAC]) >= WEP_CVAR_PRI(hlac, ammo); + ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_PRI(hlac, ammo); return ammo_amount; } case WR_CHECKAMMO2: { ammo_amount = self.WEP_AMMO(HLAC) >= WEP_CVAR_SEC(hlac, ammo); - ammo_amount += self.(weapon_load[WEP_HLAC]) >= WEP_CVAR_SEC(hlac, ammo); + ammo_amount += self.(weapon_load[WEP_HLAC.m_id]) >= WEP_CVAR_SEC(hlac, ammo); return ammo_amount; } case WR_CONFIG: @@ -266,7 +267,7 @@ bool W_HLAC(int req) } case WR_RELOAD: { - W_Reload(min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo)), "weapons/reload.wav"); + W_Reload(min(WEP_CVAR_PRI(hlac, ammo), WEP_CVAR_SEC(hlac, ammo)), W_Sound("reload")); return true; } case WR_SUICIDEMESSAGE: @@ -290,15 +291,15 @@ bool W_HLAC(int req) { vector org2; org2 = w_org + w_backoff * 6; - pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1); + pointparticles(particleeffectnum(EFFECT_BLASTER_IMPACT), org2, w_backoff * 1000, 1); if(!w_issilent) - sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); + sound(self, CH_SHOTS, W_Sound("laserimpact"), VOL_BASE, ATTN_NORM); return true; } case WR_INIT: { - precache_sound("weapons/laserimpact.wav"); + precache_sound(W_Sound("laserimpact")); return true; } case WR_ZOOMRETICLE: