X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_hmg.qc;h=52b60e83bbf2549b5771f482efe3d64baa25de9c;hp=69777c4c2ccafcef98d0860e244ccfba854a447e;hb=56d4045219a33eaf7512e7c15261d1776eac4282;hpb=9a2bcac8d6b0967c9b43f5a91cea80468f1cb8dd diff --git a/qcsrc/common/weapons/w_hmg.qc b/qcsrc/common/weapons/w_hmg.qc index 69777c4c2..52b60e83b 100644 --- a/qcsrc/common/weapons/w_hmg.qc +++ b/qcsrc/common/weapons/w_hmg.qc @@ -1,4 +1,4 @@ -#ifdef REGISTER_WEAPON +#ifndef IMPLEMENTATION REGISTER_WEAPON( /* WEP_##id */ HMG, /* function */ W_HeavyMachineGun, @@ -37,10 +37,11 @@ REGISTER_WEAPON( #ifdef SVQC HMG_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) #endif -#else +#endif +#ifdef IMPLEMENTATION #ifdef SVQC -void spawnfunc_weapon_hmg() { weapon_defaultspawnfunc(WEP_HMG); } +void spawnfunc_weapon_hmg() { weapon_defaultspawnfunc(WEP_HMG.m_id); } void W_HeavyMachineGun_Attack_Auto() { @@ -60,7 +61,7 @@ void W_HeavyMachineGun_Attack_Auto() W_DecreaseAmmo(WEP_CVAR(hmg, ammo)); - W_SetupShot (self, TRUE, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, WEP_CVAR(hmg, damage)); + W_SetupShot (self, true, 0, W_Sound("uzi_fire"), CH_WEAPON_A, WEP_CVAR(hmg, damage)); if(!autocvar_g_norecoil) { @@ -69,11 +70,11 @@ void W_HeavyMachineGun_Attack_Auto() } float hmg_spread = bound(WEP_CVAR(hmg, spread_min), WEP_CVAR(hmg, spread_min) + (WEP_CVAR(hmg, spread_add) * self.misc_bulletcounter), WEP_CVAR(hmg, spread_max)); - fireBullet(w_shotorg, w_shotdir, hmg_spread, WEP_CVAR(hmg, solidpenetration), WEP_CVAR(hmg, damage), WEP_CVAR(hmg, force), WEP_HMG, 0); + fireBullet(w_shotorg, w_shotdir, hmg_spread, WEP_CVAR(hmg, solidpenetration), WEP_CVAR(hmg, damage), WEP_CVAR(hmg, force), WEP_HMG.m_id, 0); self.misc_bulletcounter = self.misc_bulletcounter + 1; - pointparticles(particleeffectnum("uzi_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); + Send_Effect(EFFECT_MACHINEGUN_MUZZLEFLASH, w_shotorg, w_shotdir * 1000, 1); W_MachineGun_MuzzleFlash(); W_AttachToShotorg(self.muzzle_flash, '5 0 0'); @@ -85,7 +86,7 @@ void W_HeavyMachineGun_Attack_Auto() weapon_thinkf(WFRAME_FIRE1, WEP_CVAR(hmg, refire), W_HeavyMachineGun_Attack_Auto); } -float W_HeavyMachineGun(float req) +bool W_HeavyMachineGun(int req) { float ammo_amount; switch(req) @@ -93,11 +94,11 @@ float W_HeavyMachineGun(float req) case WR_AIM: { if(vlen(self.origin-self.enemy.origin) < 3000 - bound(0, skill, 10) * 200) - self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, FALSE); + self.BUTTON_ATCK = bot_aim(1000000, 0, 0.001, false); else - self.BUTTON_ATCK2 = bot_aim(1000000, 0, 0.001, FALSE); - - return TRUE; + self.BUTTON_ATCK2 = bot_aim(1000000, 0, 0.001, false); + + return true; } case WR_THINK: { @@ -113,24 +114,24 @@ float W_HeavyMachineGun(float req) } } - return TRUE; + return true; } case WR_INIT: { precache_model ("models/uziflash.md3"); - precache_model ("models/weapons/g_ok_hmg.md3"); - precache_model ("models/weapons/v_ok_hmg.md3"); - precache_model ("models/weapons/h_ok_hmg.iqm"); - precache_sound ("weapons/uzi_fire.wav"); - HMG_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP) - return TRUE; + precache_model(W_Model("g_ok_hmg.md3")); + precache_model(W_Model("v_ok_hmg.md3")); + precache_model(W_Model("h_ok_hmg.iqm")); + precache_sound (W_Sound("uzi_fire")); + HMG_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP); + return true; } case WR_CHECKAMMO1: { ammo_amount = self.ammo_nails >= WEP_CVAR(hmg, ammo); if(autocvar_g_balance_hmg_reload_ammo) - ammo_amount += self.(weapon_load[WEP_HMG]) >= WEP_CVAR(hmg, ammo); + ammo_amount += self.(weapon_load[WEP_HMG.m_id]) >= WEP_CVAR(hmg, ammo); return ammo_amount; } @@ -139,19 +140,19 @@ float W_HeavyMachineGun(float req) ammo_amount = self.ammo_nails >= WEP_CVAR(hmg, ammo); if(autocvar_g_balance_hmg_reload_ammo) - ammo_amount += self.(weapon_load[WEP_HMG]) >= WEP_CVAR(hmg, ammo); + ammo_amount += self.(weapon_load[WEP_HMG.m_id]) >= WEP_CVAR(hmg, ammo); return ammo_amount; } case WR_CONFIG: { - HMG_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS) - return TRUE; + HMG_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS); + return true; } case WR_RELOAD: { - W_Reload(WEP_CVAR(hmg, ammo), "weapons/reload.wav"); - return TRUE; + W_Reload(WEP_CVAR(hmg, ammo), W_Sound("reload")); + return true; } case WR_SUICIDEMESSAGE: { @@ -165,11 +166,11 @@ float W_HeavyMachineGun(float req) return WEAPON_HMG_MURDER_SPRAY; } } - return FALSE; + return false; } #endif #ifdef CSQC -float W_HeavyMachineGun(float req) +bool W_HeavyMachineGun(int req) { switch(req) { @@ -177,31 +178,31 @@ float W_HeavyMachineGun(float req) { vector org2; org2 = w_org + w_backoff * 2; - pointparticles(particleeffectnum("machinegun_impact"), org2, w_backoff * 1000, 1); + pointparticles(particleeffectnum(EFFECT_MACHINEGUN_IMPACT), org2, w_backoff * 1000, 1); if(!w_issilent) if(w_random < 0.05) - sound(self, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTEN_NORM); + sound(self, CH_SHOTS, W_Sound("ric1"), VOL_BASE, ATTEN_NORM); else if(w_random < 0.1) - sound(self, CH_SHOTS, "weapons/ric2.wav", VOL_BASE, ATTEN_NORM); + sound(self, CH_SHOTS, W_Sound("ric2"), VOL_BASE, ATTEN_NORM); else if(w_random < 0.2) - sound(self, CH_SHOTS, "weapons/ric3.wav", VOL_BASE, ATTEN_NORM); + sound(self, CH_SHOTS, W_Sound("ric3"), VOL_BASE, ATTEN_NORM); - return TRUE; + return true; } case WR_INIT: { - precache_sound("weapons/ric1.wav"); - precache_sound("weapons/ric2.wav"); - precache_sound("weapons/ric3.wav"); - return TRUE; + precache_sound(W_Sound("ric1")); + precache_sound(W_Sound("ric2")); + precache_sound(W_Sound("ric3")); + return true; } case WR_ZOOMRETICLE: { // no weapon specific image for this weapon - return FALSE; + return false; } } - return FALSE; + return false; } #endif #endif