X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_campingrifle.qc;h=1347fc88c94baae7678661584e54be2c68c2be15;hp=8fc8d839da6ca97b686bc86079c7c52cccbdf2f7;hb=162a91bc68d7b8e58c92cb0af873871129e386a9;hpb=b0259aa7cd71ac09094e96c4986318ae476f3180 diff --git a/qcsrc/server/w_campingrifle.qc b/qcsrc/server/w_campingrifle.qc index 8fc8d839da..1347fc88c9 100644 --- a/qcsrc/server/w_campingrifle.qc +++ b/qcsrc/server/w_campingrifle.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(CAMPINGRIFLE, w_campingrifle, IT_NAILS, 3, WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "campingrifle", "Rifle"); +REGISTER_WEAPON(CAMPINGRIFLE, w_campingrifle, IT_NAILS, 7, WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "campingrifle", "Sniper Rifle"); #else #ifdef SVQC //Camping rifle Primary mode: manually operated bolt*, Secondary: full automatic** @@ -84,9 +84,9 @@ void W_CampingRifle_FireBullet(float pSpread, float pDamage, float pHeadshotAdde self.ammo_nails -= pAmmo; if(deathtype & HITTYPE_SECONDARY) - W_SetupShot (self, cvar("g_antilag_bullets") && pSpeed >= cvar("g_antilag_bullets"), 2, "weapons/campingrifle_fire2.wav", cvar("g_balance_campingrifle_secondary_damage")); + W_SetupShot (self, cvar("g_antilag_bullets") && pSpeed >= cvar("g_antilag_bullets"), 2, "weapons/campingrifle_fire2.wav", CHAN_WEAPON, cvar("g_balance_campingrifle_secondary_damage") + cvar("g_balance_campingrifle_secondary_headshotaddeddamage")); else - W_SetupShot (self, cvar("g_antilag_bullets") && pSpeed >= cvar("g_antilag_bullets"), 2, "weapons/campingrifle_fire.wav", cvar("g_balance_campingrifle_primary_damage")); + W_SetupShot (self, cvar("g_antilag_bullets") && pSpeed >= cvar("g_antilag_bullets"), 2, "weapons/campingrifle_fire.wav", CHAN_WEAPON, cvar("g_balance_campingrifle_primary_damage") + cvar("g_balance_campingrifle_primary_headshotaddeddamage")); pointparticles(particleeffectnum("shotgun_muzzleflash"), w_shotorg, w_shotdir * 2000, 1); @@ -96,7 +96,10 @@ void W_CampingRifle_FireBullet(float pSpread, float pDamage, float pHeadshotAdde w_shotorg = self.origin + self.view_ofs + ((w_shotorg - self.origin - self.view_ofs) * v_forward) * v_forward; } - fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pHeadshotAddedDamage / pDamage, pForce, deathtype, (cvar("g_balance_campingrifle_tracer") ? EF_RED : EF_BLUE), 1, pBulletConstant); + if(deathtype & HITTYPE_SECONDARY) + fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pHeadshotAddedDamage / pDamage, pForce, deathtype, (cvar("g_balance_campingrifle_secondary_tracer") ? EF_RED : EF_BLUE), 1, pBulletConstant); + else + fireBallisticBullet(w_shotorg, w_shotdir, pSpread, pSpeed, pLifetime, pDamage, pHeadshotAddedDamage / pDamage, pForce, deathtype, (cvar("g_balance_campingrifle_primary_tracer") ? EF_RED : EF_BLUE), 1, pBulletConstant); endFireBallisticBullet(); if (cvar("g_casings") >= 2) @@ -219,17 +222,22 @@ float w_campingrifle(float req) self.campingrifle_accumulator += cvar("g_balance_campingrifle_primary_burstcost"); } if (self.BUTTON_ATCK2) - if (weapon_prepareattack_check(1, cvar("g_balance_campingrifle_secondary_refire"))) - if (time >= self.campingrifle_accumulator + cvar("g_balance_campingrifle_secondary_burstcost")) - { - weapon_prepareattack_do(1, cvar("g_balance_campingrifle_secondary_refire")); - W_CampingRifle_BulletHail(cvar("g_balance_campingrifle_secondary_bullethail"), W_CampingRifle_Attack2, WFRAME_FIRE2, cvar("g_balance_campingrifle_secondary_animtime"), cvar("g_balance_campingrifle_primary_refire")); - self.campingrifle_accumulator += cvar("g_balance_campingrifle_secondary_burstcost"); + { + if (cvar("g_balance_campingrifle_secondary")) + { + if (weapon_prepareattack_check(1, cvar("g_balance_campingrifle_secondary_refire"))) + if (time >= self.campingrifle_accumulator + cvar("g_balance_campingrifle_secondary_burstcost")) + { + weapon_prepareattack_do(1, cvar("g_balance_campingrifle_secondary_refire")); + W_CampingRifle_BulletHail(cvar("g_balance_campingrifle_secondary_bullethail"), W_CampingRifle_Attack2, WFRAME_FIRE2, cvar("g_balance_campingrifle_secondary_animtime"), cvar("g_balance_campingrifle_primary_refire")); + self.campingrifle_accumulator += cvar("g_balance_campingrifle_secondary_burstcost"); + } + } } } } else if (req == WR_PRECACHE) - { + { precache_model ("models/weapons/g_campingrifle.md3"); precache_model ("models/weapons/v_campingrifle.md3"); precache_model ("models/weapons/h_campingrifle.iqm"); @@ -242,7 +250,7 @@ float w_campingrifle(float req) weapon_setup(WEP_CAMPINGRIFLE); full = W_CampingRifle_CheckMaxBullets(TRUE); - if(cvar("g_balance_campingrifle_auto_reload_after_changing_weapons")) + if(cvar("g_balance_campingrifle_auto_reload_on_switch")) if(!full) self.campingrifle_bulletcounter = -1; } @@ -290,32 +298,32 @@ float w_campingrifle(float req) else if (req == WR_SUICIDEMESSAGE) { if(w_deathtype & HITTYPE_SECONDARY) - w_deathtypestring = "shot themself automatically"; + w_deathtypestring = "%s shot themself automatically"; else - w_deathtypestring = "sniped themself somehow"; + w_deathtypestring = "%s sniped themself somehow"; } else if (req == WR_KILLMESSAGE) { if(w_deathtype & HITTYPE_SECONDARY) { if(w_deathtype & HITTYPE_BOUNCE) - w_deathtypestring = "failed to hide from #'s bullet hail"; + w_deathtypestring = "%s failed to hide from %s's bullet hail"; else - w_deathtypestring = "died in #'s bullet hail"; + w_deathtypestring = "%s died in %s's bullet hail"; } else { if(w_deathtype & HITTYPE_BOUNCE) { // TODO special headshot message here too? - w_deathtypestring = "failed to hide from #'s rifle"; + w_deathtypestring = "%s failed to hide from %s's rifle"; } else { if(w_deathtype & HITTYPE_HEADSHOT) - w_deathtypestring = "got hit in the head by #"; + w_deathtypestring = "%s got hit in the head by %s"; else - w_deathtypestring = "was sniped by #"; + w_deathtypestring = "%s was sniped by %s"; } } }