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");
return self.ammo_nails >= cvar("g_balance_campingrifle_primary_ammo");
else if (req == WR_CHECKAMMO2)
return self.ammo_nails >= cvar("g_balance_campingrifle_secondary_ammo");
+ else if (req == WR_RELOAD)
+ {
+ W_CampingRifle_Reload();
+ }
+ else if (req == WR_RESETPLAYER)
+ {
+ self.campingrifle_accumulator = time - cvar("g_balance_campingrifle_bursttime");
+ self.campingrifle_bulletcounter = cvar("g_balance_campingrifle_magazinecapacity");
+ W_CampingRifle_CheckMaxBullets(FALSE);
+ }
+ return TRUE;
+};
+#endif
+#ifdef CSQC
+float w_campingrifle(float req)
+{
+ if(req == WR_IMPACTEFFECT)
+ {
+ vector org2;
+ org2 = w_org + w_backoff * 2;
+ pointparticles(particleeffectnum("machinegun_impact"), org2, w_backoff * 1000, 1);
+ if(!w_issilent)
+ {
+ if(w_random < 0.2)
+ sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
+ else if(w_random < 0.4)
+ sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
+ else if(w_random < 0.5)
+ sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+ }
+ }
+ else if(req == WR_PRECACHE)
+ {
+ precache_sound("weapons/ric1.wav");
+ precache_sound("weapons/ric2.wav");
+ precache_sound("weapons/ric3.wav");
+ }
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";
}
}
}
- else if (req == WR_RELOAD)
- {
- W_CampingRifle_Reload();
- }
- else if (req == WR_RESETPLAYER)
- {
- self.campingrifle_accumulator = time - cvar("g_balance_campingrifle_bursttime");
- self.campingrifle_bulletcounter = cvar("g_balance_campingrifle_magazinecapacity");
- W_CampingRifle_CheckMaxBullets(FALSE);
- }
return TRUE;
-};
-#endif
-#ifdef CSQC
+}
#endif
#endif