Precaching CS weapon sounds via sound-shaders...
This commit is contained in:
parent
755eecfc34
commit
1f0e93d35a
34 changed files with 621 additions and 373 deletions
|
@ -3,18 +3,192 @@ weapon_ak47.fire
|
|||
sample weapons/ak47-1.wav
|
||||
sample weapons/ak47-2.wav
|
||||
}
|
||||
|
||||
weapon_aug.fire
|
||||
{
|
||||
sample weapons/aug-1.wav
|
||||
sample weapons/aug-2.wav
|
||||
}
|
||||
|
||||
weapon_awp.fire
|
||||
{
|
||||
sample weapons/awp-1.wav
|
||||
sample weapons/awp-2.wav
|
||||
}
|
||||
|
||||
weapon_c4bomb.disarm
|
||||
{
|
||||
sample weapons/c4_disarm.wav
|
||||
}
|
||||
|
||||
weapon_c4bomb.disarmed
|
||||
{
|
||||
sample weapons/c4_disarmed.wav
|
||||
}
|
||||
|
||||
weapon_c4bomb.explode
|
||||
{
|
||||
sample weapons/c4_explode1.wav
|
||||
}
|
||||
|
||||
weapon_c4bomb.plant
|
||||
{
|
||||
sample weapons/c4_plant.wav
|
||||
}
|
||||
|
||||
weapon_deagle.fire
|
||||
{
|
||||
sample weapons/deagle-1.wav
|
||||
sample weapons/deagle-2.wav
|
||||
}
|
||||
|
||||
weapon_elites.fire
|
||||
{
|
||||
sample weapons/elites-1.wav
|
||||
sample weapons/elites-2.wav
|
||||
}
|
||||
|
||||
weapon_fiveseven.fire
|
||||
{
|
||||
sample weapons/fiveseven-1.wav
|
||||
sample weapons/fiveseven-2.wav
|
||||
}
|
||||
|
||||
weapon_flashbang.explode
|
||||
{
|
||||
sample weapons/flashbang-1.wav
|
||||
}
|
||||
|
||||
weapon_g3sg1.fire
|
||||
{
|
||||
sample weapons/g3sg1-1.wav
|
||||
sample weapons/g3sg1-2.wav
|
||||
}
|
||||
|
||||
weapon_glock.fire
|
||||
{
|
||||
sample weapons/glock18-1.wav
|
||||
sample weapons/glock18-2.wav
|
||||
}
|
||||
|
||||
weapon_grenade.bounce
|
||||
{
|
||||
sample weapons/he_bounce-1.wav
|
||||
}
|
||||
|
||||
weapon_hegrenade.explode
|
||||
{
|
||||
}
|
||||
|
||||
weapon_knife.hit
|
||||
{
|
||||
sample weapons/knife_hitwall1.wav
|
||||
}
|
||||
|
||||
weapon_knife.hitbody
|
||||
{
|
||||
sample weapons/knife_hit1.wav
|
||||
sample weapons/knife_hit2.wav
|
||||
sample weapons/knife_hit3.wav
|
||||
sample weapons/knife_hit4.wav
|
||||
}
|
||||
|
||||
weapon_knife.hithard
|
||||
{
|
||||
sample weapons/knife_stab.wav
|
||||
}
|
||||
|
||||
weapon_knife.miss
|
||||
{
|
||||
sample weapons/knife_slash1.wav
|
||||
}
|
||||
|
||||
weapon_m3.fire
|
||||
{
|
||||
sample weapons/m3-1.wav
|
||||
}
|
||||
|
||||
weapon_m4a1.fire
|
||||
{
|
||||
sample weapons/m4a1_unsil-1.wav
|
||||
sample weapons/m4a1_unsil-2.wav
|
||||
}
|
||||
|
||||
weapon_m4a1.silenced
|
||||
{
|
||||
sample weapons/m4a1-1.wav
|
||||
}
|
||||
|
||||
weapon_mac10.fire
|
||||
{
|
||||
sample weapons/mac10-1.wav
|
||||
}
|
||||
|
||||
weapon_mp5.fire
|
||||
{
|
||||
sample weapons/mp5-1.wav
|
||||
}
|
||||
|
||||
weapon_p228.fire
|
||||
{
|
||||
sample weapons/p228-1.wav
|
||||
}
|
||||
|
||||
weapon_p90.fire
|
||||
{
|
||||
sample weapons/p90-1.wav
|
||||
}
|
||||
|
||||
|
||||
weapon_para.fire
|
||||
{
|
||||
sample weapons/m249-1.wav
|
||||
sample weapons/m249-2.wav
|
||||
}
|
||||
|
||||
weapon_scout.fire
|
||||
{
|
||||
sample weapons/scout_fire-1.wav
|
||||
}
|
||||
|
||||
weapon_sg550.fire
|
||||
{
|
||||
sample weapons/sg550-1.wav
|
||||
}
|
||||
|
||||
weapon_sg552.fire
|
||||
{
|
||||
sample weapons/sg552-1.wav
|
||||
}
|
||||
|
||||
weapon_smokegrenade.explode
|
||||
{
|
||||
sample weapons/sg_explode.wav
|
||||
}
|
||||
|
||||
weapon_tmp.fire
|
||||
{
|
||||
sample weapons/tmp-1.wav
|
||||
sample weapons/tmp-2.wav
|
||||
}
|
||||
|
||||
weapon_ump45.fire
|
||||
{
|
||||
sample weapons/ump45-1.wav
|
||||
}
|
||||
|
||||
weapon_usp45.fire
|
||||
{
|
||||
sample weapons/usp_unsil-1.wav
|
||||
}
|
||||
|
||||
weapon_usp45.silencer
|
||||
{
|
||||
sample weapons/usp1.wav
|
||||
sample weapons/usp2.wav
|
||||
}
|
||||
|
||||
weapon_xm1014.fire
|
||||
{
|
||||
sample weapons/xm1014-1.wav
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
ammo_gass.pickup
|
||||
ammo_gas.pickup
|
||||
{
|
||||
sample player/pl_slosh1.wav
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ BASEGAME scihunt
|
|||
-seta gameinfo_menutrack "sound/Hondo2/pca.wav"
|
||||
|
||||
// download/update packaging information
|
||||
PACKAGE scihunt/pak0.pk3 0xc1cbd5c1 "http://www.frag-net.com/files/scihunt_pak0.pk3"
|
||||
PACKAGE scihunt/pak0.pk3 0xc1cbd5c1 "http://www.frag-net.com/dl/c1cbd5c1/pak0.pk3"
|
||||
|
||||
// do we want this? I don't want to automatically update it
|
||||
// UPDATEURL http://www.frag-net.com/mods/scihunt.fmf
|
||||
|
|
|
@ -47,10 +47,11 @@
|
|||
../../shared/cstrike/items.h
|
||||
../../shared/valve/weapon_common.h
|
||||
../../shared/cstrike/weapons.h
|
||||
../../shared/cstrike/w_ak47.c
|
||||
../../shared/cstrike/w_deagle.c
|
||||
../../shared/cstrike/w_knife.c
|
||||
../../shared/cstrike/w_usp45.c
|
||||
../../shared/cstrike/w_glock18.c
|
||||
../../shared/cstrike/w_deagle.c
|
||||
../../shared/cstrike/w_p228.c
|
||||
../../shared/cstrike/w_elites.c
|
||||
../../shared/cstrike/w_fiveseven.c
|
||||
|
@ -61,7 +62,6 @@
|
|||
../../shared/cstrike/w_ump45.c
|
||||
../../shared/cstrike/w_mac10.c
|
||||
../../shared/cstrike/w_tmp.c
|
||||
../../shared/cstrike/w_ak47.c
|
||||
../../shared/cstrike/w_sg552.c
|
||||
../../shared/cstrike/w_m4a1.c
|
||||
../../shared/cstrike/w_aug.c
|
||||
|
|
|
@ -196,7 +196,7 @@ void customgame_btninstall_start(void)
|
|||
{
|
||||
int gid = customgame_lbMods.GetSelected();
|
||||
print(sprintf("Requesting download for http://www.frag-net.com/mods/%s.fmf...\n", games[gid].gamedir));
|
||||
localcmd(sprintf("fs_changegame http://www.frag-net.com/mods/%s.fmf\n", games[gid].game));
|
||||
localcmd(sprintf("fs_changegame %s http://www.frag-net.com/mods/%s.fmf\n", games[gid].gamedir, games[gid].gamedir));
|
||||
}
|
||||
void customgame_btndeactivate_start(void)
|
||||
{
|
||||
|
|
|
@ -34,10 +34,11 @@
|
|||
../../shared/cstrike/items.h
|
||||
../../shared/valve/weapon_common.h
|
||||
../../shared/cstrike/weapons.h
|
||||
../../shared/cstrike/w_ak47.c
|
||||
../../shared/cstrike/w_deagle.c
|
||||
../../shared/cstrike/w_knife.c
|
||||
../../shared/cstrike/w_usp45.c
|
||||
../../shared/cstrike/w_glock18.c
|
||||
../../shared/cstrike/w_deagle.c
|
||||
../../shared/cstrike/w_p228.c
|
||||
../../shared/cstrike/w_elites.c
|
||||
../../shared/cstrike/w_fiveseven.c
|
||||
|
@ -48,7 +49,6 @@
|
|||
../../shared/cstrike/w_ump45.c
|
||||
../../shared/cstrike/w_mac10.c
|
||||
../../shared/cstrike/w_tmp.c
|
||||
../../shared/cstrike/w_ak47.c
|
||||
../../shared/cstrike/w_sg552.c
|
||||
../../shared/cstrike/w_m4a1.c
|
||||
../../shared/cstrike/w_aug.c
|
||||
|
|
|
@ -93,7 +93,7 @@ w_ak47_primary(void)
|
|||
{
|
||||
player pl = (player)self;
|
||||
|
||||
if (pl.w_attack_next > 0.0) {
|
||||
if (pl.w_attack_next > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ w_ak47_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(AK47_SHOOT1);
|
||||
|
@ -122,7 +122,7 @@ w_ak47_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AK47);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 36, [0.35,0,1.25], WEAPON_AK47);
|
||||
|
||||
pl.ak47_mag--;
|
||||
|
||||
|
@ -220,27 +220,27 @@ w_ak47_hudpic(int selected, vector pos, float a)
|
|||
|
||||
weapon_t w_ak47 =
|
||||
{
|
||||
ITEM_AK47,
|
||||
0,
|
||||
7,
|
||||
"sprites/640hud1.spr_0.tga",
|
||||
[32,16],
|
||||
[192,16],
|
||||
w_ak47_draw,
|
||||
__NULL__,
|
||||
w_ak47_primary,
|
||||
__NULL__,
|
||||
w_ak47_reload,
|
||||
__NULL__,
|
||||
w_ak47_hud,
|
||||
w_ak47_precache,
|
||||
w_ak47_pickup,
|
||||
w_ak47_updateammo,
|
||||
w_ak47_wmodel,
|
||||
w_ak47_pmodel,
|
||||
w_ak47_deathmsg,
|
||||
w_ak47_aimanim,
|
||||
w_ak47_hudpic
|
||||
.id = ITEM_AK47,
|
||||
.slot = 0,
|
||||
.slot_pos = 7,
|
||||
.ki_spr = "sprites/640hud1.spr_0.tga",
|
||||
.ki_size = [32,16],
|
||||
.ki_xy = [192,16],
|
||||
.draw = w_ak47_draw,
|
||||
.holster = __NULL__,
|
||||
.primary = w_ak47_primary,
|
||||
.secondary = __NULL__,
|
||||
.reload = w_ak47_reload,
|
||||
.release = __NULL__,
|
||||
.crosshair = w_ak47_hud,
|
||||
.precache = w_ak47_precache,
|
||||
.pickup = w_ak47_pickup,
|
||||
.updateammo = w_ak47_updateammo,
|
||||
.wmodel = w_ak47_wmodel,
|
||||
.pmodel = w_ak47_pmodel,
|
||||
.deathmsg = w_ak47_deathmsg,
|
||||
.aimanim = w_ak47_aimanim,
|
||||
.hudpic = w_ak47_hudpic
|
||||
};
|
||||
|
||||
#ifdef SSQC
|
||||
|
|
|
@ -105,7 +105,7 @@ w_aug_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(AUG_SHOOT1);
|
||||
|
@ -122,7 +122,7 @@ w_aug_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AUG);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 32, [0.01,0,01], WEAPON_AUG);
|
||||
|
||||
pl.aug_mag--;
|
||||
|
||||
|
@ -134,7 +134,7 @@ w_aug_primary(void)
|
|||
Sound_Play(pl, CHAN_WEAPON, "weapon_aug.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.0825f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -172,7 +172,7 @@ w_aug_reload(void)
|
|||
float
|
||||
w_aug_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -67,10 +67,10 @@ w_awp_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.awp_mag = 30;
|
||||
pl.awp_mag = 10;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 20) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 10, 20);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ w_awp_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(AWP_SHOOT1);
|
||||
|
@ -122,7 +122,7 @@ w_awp_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AWP);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 115, [0.01,0,01], WEAPON_AWP);
|
||||
|
||||
pl.awp_mag--;
|
||||
|
||||
|
@ -134,7 +134,7 @@ w_awp_primary(void)
|
|||
Sound_Play(pl, CHAN_WEAPON, "weapon_awp.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 1.2f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -147,21 +147,21 @@ w_awp_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 10) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.awp_mag >= 30) {
|
||||
if (pl.awp_mag >= 10) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_762mm, 10);
|
||||
Weapons_UpdateAmmo(pl, pl.awp_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -172,7 +172,7 @@ w_awp_reload(void)
|
|||
float
|
||||
w_awp_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,12 @@ enum {
|
|||
void
|
||||
w_c4bomb_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_c4bomb.disarm");
|
||||
Sound_Precache("weapon_c4bomb.disarmed");
|
||||
Sound_Precache("weapon_c4bomb.explode");
|
||||
Sound_Precache("weapon_c4bomb.plant");
|
||||
#endif
|
||||
precache_model("models/v_c4bomb.mdl");
|
||||
precache_model("models/w_c4bomb.mdl");
|
||||
precache_model("models/p_c4bomb.mdl");
|
||||
|
@ -79,7 +85,7 @@ w_c4bomb_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(C4BOMB_SHOOT1);
|
||||
|
|
|
@ -38,7 +38,7 @@ void
|
|||
w_deagle_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_50ae, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -67,10 +67,10 @@ w_deagle_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.deagle_mag = 30;
|
||||
pl.deagle_mag = 7;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_50ae < AMMO_MAX_50AE) {
|
||||
pl.ammo_50ae = bound(0, pl.ammo_50ae + 7, AMMO_MAX_50AE);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -82,10 +82,8 @@ w_deagle_pickup(int new)
|
|||
void
|
||||
w_deagle_draw(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
Weapons_SetModel("models/v_deagle.mdl");
|
||||
Weapons_ViewAnimation(DEAGLE_DRAW);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -105,7 +103,7 @@ w_deagle_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(DEAGLE_SHOOT1);
|
||||
|
@ -122,7 +120,7 @@ w_deagle_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_DEAGLE);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 54, [0.01,0,01], WEAPON_DEAGLE);
|
||||
|
||||
pl.deagle_mag--;
|
||||
|
||||
|
@ -134,7 +132,7 @@ w_deagle_primary(void)
|
|||
Sound_Play(pl, CHAN_WEAPON, "weapon_deagle.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -147,22 +145,22 @@ w_deagle_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 7) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.deagle_mag >= 30) {
|
||||
if (pl.deagle_mag >= 7) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_50ae) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_50ae, 7);
|
||||
Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_50ae, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(DEAGLE_RELOAD);
|
||||
|
@ -179,7 +177,6 @@ void
|
|||
w_deagle_hud(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
||||
HUD_DrawAmmo1();
|
||||
HUD_DrawAmmo2();
|
||||
vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
||||
|
|
|
@ -26,11 +26,12 @@ enum {
|
|||
void
|
||||
w_elites_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_elites.fire");
|
||||
#endif
|
||||
precache_model("models/v_elites.mdl");
|
||||
precache_model("models/w_elites.mdl");
|
||||
precache_model("models/p_elites.mdl");
|
||||
precache_sound("weapons/elites-1.wav");
|
||||
precache_sound("weapons/elites-2.wav");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -104,7 +105,7 @@ w_elites_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(ELITES_SHOOT1);
|
||||
|
@ -121,7 +122,7 @@ w_elites_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_ELITES);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 45, [0.01,0,01], WEAPON_ELITES);
|
||||
|
||||
pl.elites_mag--;
|
||||
|
||||
|
@ -130,14 +131,10 @@ w_elites_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/elites-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/elites-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_elites.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,11 +26,12 @@ enum {
|
|||
void
|
||||
w_fiveseven_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_fiveseven.fire");
|
||||
#endif
|
||||
precache_model("models/v_fiveseven.mdl");
|
||||
precache_model("models/w_fiveseven.mdl");
|
||||
precache_model("models/p_fiveseven.mdl");
|
||||
precache_sound("weapons/fiveseven-1.wav");
|
||||
precache_sound("weapons/fiveseven-2.wav");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -66,10 +67,10 @@ w_fiveseven_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.fiveseven_mag = 30;
|
||||
pl.fiveseven_mag = 20;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 40) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 40);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -104,7 +105,7 @@ w_fiveseven_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(FIVESEVEN_SHOOT1);
|
||||
|
@ -121,7 +122,7 @@ w_fiveseven_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_FIVESEVEN);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [0.01,0,01], WEAPON_FIVESEVEN);
|
||||
|
||||
pl.fiveseven_mag--;
|
||||
|
||||
|
@ -130,14 +131,10 @@ w_fiveseven_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/fiveseven-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/fiveseven-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_fiveseven.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -150,21 +147,21 @@ w_fiveseven_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.fiveseven_mag >= 30) {
|
||||
if (pl.fiveseven_mag >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_762mm, 20);
|
||||
Weapons_UpdateAmmo(pl, pl.fiveseven_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -175,7 +172,7 @@ w_fiveseven_reload(void)
|
|||
float
|
||||
w_fiveseven_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_deagle_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_flashbang_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_flashbang.explode");
|
||||
#endif
|
||||
precache_model("models/v_flashbang.mdl");
|
||||
precache_model("models/w_flashbang.mdl");
|
||||
precache_model("models/p_flashbang.mdl");
|
||||
|
@ -79,7 +82,7 @@ w_flashbang_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(FLASHBANG_SHOOT1);
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_g3sg1_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_g3sg1.fire");
|
||||
#endif
|
||||
precache_model("models/v_g3sg1.mdl");
|
||||
precache_model("models/w_g3sg1.mdl");
|
||||
precache_model("models/p_g3sg1.mdl");
|
||||
|
@ -64,10 +67,10 @@ w_g3sg1_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.g3sg1_mag = 30;
|
||||
pl.g3sg1_mag = 20;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 60) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 60);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_g3sg1_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(G3SG1_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_g3sg1_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_G3SG1);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 80, [0.01,0,01], WEAPON_G3SG1);
|
||||
|
||||
pl.g3sg1_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_g3sg1_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/g3sg1-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/g3sg1-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_g3sg1.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.25f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,21 +147,21 @@ w_g3sg1_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.g3sg1_mag >= 30) {
|
||||
if (pl.g3sg1_mag >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 20);
|
||||
Weapons_UpdateAmmo(pl, pl.g3sg1_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -173,7 +172,7 @@ w_g3sg1_reload(void)
|
|||
float
|
||||
w_g3sg1_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,11 +26,12 @@ enum {
|
|||
void
|
||||
w_glock18_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_glock18.fire");
|
||||
#endif
|
||||
precache_model("models/v_glock18.mdl");
|
||||
precache_model("models/w_glock18.mdl");
|
||||
precache_model("models/p_glock18.mdl");
|
||||
precache_sound("weapons/glock18-1.wav");
|
||||
precache_sound("weapons/glock18-2.wav");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -66,10 +67,10 @@ w_glock18_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.glock18_mag = 30;
|
||||
pl.glock18_mag = 20;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 40) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 40);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -104,7 +105,7 @@ w_glock18_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(GLOCK18_SHOOT1);
|
||||
|
@ -121,7 +122,7 @@ w_glock18_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_GLOCK18);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [0.01,0,01], WEAPON_GLOCK18);
|
||||
|
||||
pl.glock18_mag--;
|
||||
|
||||
|
@ -130,14 +131,10 @@ w_glock18_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/glock18-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/glock18-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_glock18.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -150,32 +147,32 @@ w_glock18_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.glock18_mag >= 30) {
|
||||
if (pl.glock18_mag >= 20) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_762mm, 20);
|
||||
Weapons_UpdateAmmo(pl, pl.glock18_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(GLOCK18_RELOAD);
|
||||
pl.w_attack_next = 2.0f;
|
||||
pl.w_attack_next = 2.1f;
|
||||
}
|
||||
|
||||
float
|
||||
w_glock18_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_deagle_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -79,7 +79,7 @@ w_hegrenade_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(HEGRENADE_SHOOT1);
|
||||
|
@ -99,7 +99,7 @@ w_hegrenade_primary(void)
|
|||
float
|
||||
w_hegrenade_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_flashbang_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,12 @@ enum {
|
|||
void
|
||||
w_knife_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_knife.hit");
|
||||
Sound_Precache("weapon_knife.hitbody");
|
||||
Sound_Precache("weapon_knife.hithard");
|
||||
Sound_Precache("weapon_knife.miss");
|
||||
#endif
|
||||
precache_model("models/v_knife.mdl");
|
||||
precache_model("models/w_knife.mdl");
|
||||
precache_model("models/p_knife.mdl");
|
||||
|
@ -79,7 +85,7 @@ w_knife_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(KNIFE_SHOOT1);
|
||||
|
@ -93,7 +99,7 @@ w_knife_primary(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.7f;
|
||||
}
|
||||
|
||||
float
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_m3_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_m3.fire");
|
||||
#endif
|
||||
precache_model("models/v_m3.mdl");
|
||||
precache_model("models/w_m3.mdl");
|
||||
precache_model("models/p_m3.mdl");
|
||||
|
@ -35,7 +38,7 @@ void
|
|||
w_m3_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_buckshot, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -64,10 +67,10 @@ w_m3_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.m3_mag = 30;
|
||||
pl.m3_mag = 8;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_buckshot < AMMO_MAX_BUCKSHOT) {
|
||||
pl.ammo_buckshot = bound(0, pl.ammo_buckshot + 8, AMMO_MAX_BUCKSHOT);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_m3_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(M3_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_m3_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_M3);
|
||||
TraceAttack_FireBullets(8, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_M3);
|
||||
|
||||
pl.m3_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_m3_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/m3-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/m3-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_m3.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 1.0f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,22 +147,22 @@ w_m3_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 8) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.m3_mag >= 30) {
|
||||
if (pl.m3_mag >= 8) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_buckshot) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::m3_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::m3_mag, player::ammo_buckshot, 8);
|
||||
Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_buckshot, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(M3_RELOAD);
|
||||
|
@ -173,7 +172,7 @@ w_m3_reload(void)
|
|||
float
|
||||
w_m3_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -16,16 +16,28 @@
|
|||
|
||||
enum {
|
||||
M4A1_IDLE,
|
||||
M4A1_RELOAD,
|
||||
M4A1_DRAW,
|
||||
M4A1_SHOOT1,
|
||||
M4A1_SHOOT2,
|
||||
M4A1_SHOOT3
|
||||
M4A1_SHOOT3,
|
||||
M4A1_RELOAD,
|
||||
M4A1_DRAW,
|
||||
M4A1_ADDSIL,
|
||||
M4A1_IDLEUNSIL,
|
||||
M4A1_SHOOT1UNSIL,
|
||||
M4A1_SHOOT2UNSIL,
|
||||
M4A1_SHOOT3UNSIL,
|
||||
M4A1_RELOADUNSIL,
|
||||
M4A1_DRAWUNSIL,
|
||||
M4A1_DETACHSIL
|
||||
};
|
||||
|
||||
void
|
||||
w_m4a1_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_m4a1.fire");
|
||||
Sound_Precache("weapon_m4a1.silenced");
|
||||
#endif
|
||||
precache_model("models/v_m4a1.mdl");
|
||||
precache_model("models/w_m4a1.mdl");
|
||||
precache_model("models/p_m4a1.mdl");
|
||||
|
@ -79,10 +91,8 @@ w_m4a1_pickup(int new)
|
|||
void
|
||||
w_m4a1_draw(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
Weapons_SetModel("models/v_m4a1.mdl");
|
||||
Weapons_ViewAnimation(M4A1_DRAW);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -94,48 +104,100 @@ w_m4a1_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
/* ammo check */
|
||||
#ifdef CSQC
|
||||
if (!pl.a_ammo1) {
|
||||
return;
|
||||
}
|
||||
|
||||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT1);
|
||||
break;
|
||||
case 1:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT2);
|
||||
break;
|
||||
default:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT3);
|
||||
break;
|
||||
}
|
||||
#else
|
||||
if (!pl.m4a1_mag) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_M4A1);
|
||||
/* actual firing */
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo3 == 1) {
|
||||
View_SetMuzzleflash(0);
|
||||
} else {
|
||||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
}
|
||||
|
||||
pl.a_ammo1--;
|
||||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
#else
|
||||
pl.m4a1_mag--;
|
||||
|
||||
/* Different sounds without silencer */
|
||||
if (pl.a_ammo3 == 1) {
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.silenced");
|
||||
} else {
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.fire");
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [0.1,0.1], WEAPON_M4A1);
|
||||
|
||||
if (self.flags & FL_CROUCHING)
|
||||
Animation_PlayerTopTemp(ANIM_SHOOT1HAND, 0.45f);
|
||||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/m4a1-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/m4a1-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
/* this stuff is predicted */
|
||||
int r = (float)input_sequence % 3;
|
||||
if (pl.a_ammo3 == 1) {
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT1);
|
||||
break;
|
||||
case 1:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT2);
|
||||
break;
|
||||
default:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT3);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT1UNSIL);
|
||||
break;
|
||||
case 1:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT2UNSIL);
|
||||
break;
|
||||
default:
|
||||
Weapons_ViewAnimation(M4A1_SHOOT3UNSIL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
pl.w_attack_next = 0.0875f;
|
||||
pl.w_idle_next = 5.0f;
|
||||
}
|
||||
|
||||
void
|
||||
w_m4a1_secondary(void)
|
||||
{
|
||||
player pl = (player)self;
|
||||
|
||||
if (pl.w_attack_next > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* toggle silencer */
|
||||
pl.a_ammo3 = 1 - pl.a_ammo3;
|
||||
|
||||
/* play the animation */
|
||||
if (pl.a_ammo3) {
|
||||
Weapons_ViewAnimation(M4A1_ADDSIL);
|
||||
} else {
|
||||
Weapons_ViewAnimation(M4A1_DETACHSIL);
|
||||
}
|
||||
|
||||
pl.w_attack_next = 2.0f;
|
||||
pl.w_idle_next = pl.w_attack_next;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -163,7 +225,6 @@ w_m4a1_reload(void)
|
|||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::m4a1_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.m4a1_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(M4A1_RELOAD);
|
||||
|
@ -173,14 +234,13 @@ w_m4a1_reload(void)
|
|||
float
|
||||
w_m4a1_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
w_m4a1_hud(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
||||
HUD_DrawAmmo1();
|
||||
HUD_DrawAmmo2();
|
||||
vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
||||
|
@ -188,6 +248,23 @@ w_m4a1_hud(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
w_m4a1_release(void)
|
||||
{
|
||||
player pl = (player)self;
|
||||
|
||||
if (pl.w_idle_next > 0.0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pl.a_ammo3) {
|
||||
Weapons_ViewAnimation(M4A1_IDLE);
|
||||
} else {
|
||||
Weapons_ViewAnimation(M4A1_IDLEUNSIL);
|
||||
}
|
||||
pl.w_idle_next = 5.0f;
|
||||
}
|
||||
|
||||
void
|
||||
w_m4a1_hudpic(int selected, vector pos, float a)
|
||||
{
|
||||
|
@ -220,27 +297,27 @@ w_m4a1_hudpic(int selected, vector pos, float a)
|
|||
|
||||
weapon_t w_m4a1 =
|
||||
{
|
||||
ITEM_M4A1,
|
||||
0,
|
||||
9,
|
||||
"sprites/640hud1.spr_0.tga",
|
||||
[32,16],
|
||||
[192,16],
|
||||
w_m4a1_draw,
|
||||
__NULL__,
|
||||
w_m4a1_primary,
|
||||
__NULL__,
|
||||
w_m4a1_reload,
|
||||
__NULL__,
|
||||
w_m4a1_hud,
|
||||
w_m4a1_precache,
|
||||
w_m4a1_pickup,
|
||||
w_m4a1_updateammo,
|
||||
w_m4a1_wmodel,
|
||||
w_m4a1_pmodel,
|
||||
w_m4a1_deathmsg,
|
||||
w_m4a1_aimanim,
|
||||
w_m4a1_hudpic
|
||||
.id = ITEM_M4A1,
|
||||
.slot = 0,
|
||||
.slot_pos = 9,
|
||||
.ki_spr = "sprites/640hud1.spr_0.tga",
|
||||
.ki_size = [32,16],
|
||||
.ki_xy = [192,16],
|
||||
.draw = w_m4a1_draw,
|
||||
.holster = __NULL__,
|
||||
.primary = w_m4a1_primary,
|
||||
.secondary = w_m4a1_secondary,
|
||||
.reload = w_m4a1_reload,
|
||||
.release = w_m4a1_release,
|
||||
.crosshair = w_m4a1_hud,
|
||||
.precache = w_m4a1_precache,
|
||||
.pickup = w_m4a1_pickup,
|
||||
.updateammo = w_m4a1_updateammo,
|
||||
.wmodel = w_m4a1_wmodel,
|
||||
.pmodel = w_m4a1_pmodel,
|
||||
.deathmsg = w_m4a1_deathmsg,
|
||||
.aimanim = w_m4a1_aimanim,
|
||||
.hudpic = w_m4a1_hudpic
|
||||
};
|
||||
|
||||
#ifdef SSQC
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_mac10_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_mac10.fire");
|
||||
#endif
|
||||
precache_model("models/v_mac10.mdl");
|
||||
precache_model("models/w_mac10.mdl");
|
||||
precache_model("models/p_mac10.mdl");
|
||||
|
@ -102,7 +105,7 @@ w_mac10_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(MAC10_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_mac10_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_MAC10);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 29, [0.01,0,01], WEAPON_MAC10);
|
||||
|
||||
pl.mac10_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_mac10_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/mac10-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/mac10-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_mac10.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.07f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -173,7 +172,7 @@ w_mac10_reload(void)
|
|||
float
|
||||
w_mac10_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_deagle_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_mp5_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_mp5.fire");
|
||||
#endif
|
||||
precache_model("models/v_mp5.mdl");
|
||||
precache_model("models/w_mp5.mdl");
|
||||
precache_model("models/p_mp5.mdl");
|
||||
|
@ -35,7 +38,7 @@ void
|
|||
w_mp5_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_9mm, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -66,8 +69,8 @@ w_mp5_pickup(int new)
|
|||
if (new) {
|
||||
pl.mp5_mag = 30;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_9mm < AMMO_MAX_9MM) {
|
||||
pl.ammo_9mm = bound(0, pl.ammo_9mm + 30, AMMO_MAX_9MM);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -79,10 +82,8 @@ w_mp5_pickup(int new)
|
|||
void
|
||||
w_mp5_draw(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
Weapons_SetModel("models/v_mp5.mdl");
|
||||
Weapons_ViewAnimation(MP5_DRAW);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -102,7 +103,7 @@ w_mp5_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(MP5_SHOOT1);
|
||||
|
@ -119,7 +120,7 @@ w_mp5_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_MP5);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_MP5);
|
||||
|
||||
pl.mp5_mag--;
|
||||
|
||||
|
@ -128,14 +129,10 @@ w_mp5_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/mp5-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/mp5-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_mp5.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.08f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -158,12 +155,12 @@ w_mp5_reload(void)
|
|||
if (pl.mp5_mag >= 30) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_9mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_9mm, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(MP5_RELOAD);
|
||||
|
@ -173,14 +170,13 @@ w_mp5_reload(void)
|
|||
float
|
||||
w_mp5_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
w_mp5_hud(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
||||
HUD_DrawAmmo1();
|
||||
HUD_DrawAmmo2();
|
||||
vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_p228_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_p228.fire");
|
||||
#endif
|
||||
precache_model("models/v_p228.mdl");
|
||||
precache_model("models/w_p228.mdl");
|
||||
precache_model("models/p_p228.mdl");
|
||||
|
@ -66,10 +69,10 @@ w_p228_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.p228_mag = 30;
|
||||
pl.p228_mag = 13;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 26) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 13, 26);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -104,7 +107,7 @@ w_p228_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(P228_SHOOT1);
|
||||
|
@ -121,7 +124,7 @@ w_p228_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_P228);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 40, [0.01,0,01], WEAPON_P228);
|
||||
|
||||
pl.p228_mag--;
|
||||
|
||||
|
@ -130,14 +133,10 @@ w_p228_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/p228-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/p228-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_p228.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -175,7 +174,7 @@ w_p228_reload(void)
|
|||
float
|
||||
w_p228_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_deagle_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_p90_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_p90.fire");
|
||||
#endif
|
||||
precache_model("models/v_p90.mdl");
|
||||
precache_model("models/w_p90.mdl");
|
||||
precache_model("models/p_p90.mdl");
|
||||
|
@ -64,10 +67,10 @@ w_p90_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.p90_mag = 30;
|
||||
pl.p90_mag = 50;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 100) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 50, 100);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_p90_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(P90_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_p90_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_P90);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_P90);
|
||||
|
||||
pl.p90_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_p90_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/p90-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/p90-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_p90.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.07f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,21 +147,21 @@ w_p90_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 50) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.p90_mag >= 30) {
|
||||
if (pl.p90_mag >= 50) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_762mm, 50);
|
||||
Weapons_UpdateAmmo(pl, pl.p90_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -173,7 +172,7 @@ w_p90_reload(void)
|
|||
float
|
||||
w_p90_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,9 +26,12 @@ enum {
|
|||
void
|
||||
w_para_precache(void)
|
||||
{
|
||||
precache_model("models/v_para.mdl");
|
||||
precache_model("models/w_para.mdl");
|
||||
precache_model("models/p_para.mdl");
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_para.fire");
|
||||
#endif
|
||||
precache_model("models/v_m249.mdl");
|
||||
precache_model("models/w_m249.mdl");
|
||||
precache_model("models/p_m249.mdl");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -42,13 +45,13 @@ w_para_updateammo(player pl)
|
|||
string
|
||||
w_para_wmodel(void)
|
||||
{
|
||||
return "models/w_para.mdl";
|
||||
return "models/w_m249.mdl";
|
||||
}
|
||||
|
||||
string
|
||||
w_para_pmodel(void)
|
||||
{
|
||||
return "models/p_para.mdl";
|
||||
return "models/p_m249.mdl";
|
||||
}
|
||||
|
||||
string
|
||||
|
@ -64,10 +67,10 @@ w_para_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.para_mag = 30;
|
||||
pl.para_mag = 100;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 200) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 100, 200);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -80,7 +83,7 @@ void
|
|||
w_para_draw(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
Weapons_SetModel("models/v_para.mdl");
|
||||
Weapons_SetModel("models/v_m249.mdl");
|
||||
Weapons_ViewAnimation(PARA_DRAW);
|
||||
#endif
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_para_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(PARA_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_para_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_PARA);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 35, [0.01,0,01], WEAPON_PARA);
|
||||
|
||||
pl.para_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_para_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/para-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/para-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_para.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.1f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,21 +147,21 @@ w_para_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 100) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.para_mag >= 30) {
|
||||
if (pl.para_mag >= 100) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_762mm, 100);
|
||||
Weapons_UpdateAmmo(pl, pl.para_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -173,7 +172,7 @@ w_para_reload(void)
|
|||
float
|
||||
w_para_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_scout_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_scout.fire");
|
||||
#endif
|
||||
precache_model("models/v_scout.mdl");
|
||||
precache_model("models/w_scout.mdl");
|
||||
precache_model("models/p_scout.mdl");
|
||||
|
@ -64,10 +67,10 @@ w_scout_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.scout_mag = 30;
|
||||
pl.scout_mag = 10;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_762mm < 30) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 10, 30);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_scout_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(SCOUT_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_scout_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SCOUT);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 75, [0.01,0,01], WEAPON_SCOUT);
|
||||
|
||||
pl.scout_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_scout_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/scout-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/scout-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_scout.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 1.25f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,21 +147,21 @@ w_scout_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 10) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.scout_mag >= 30) {
|
||||
if (pl.scout_mag >= 10) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 30);
|
||||
Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 10);
|
||||
Weapons_UpdateAmmo(pl, pl.scout_mag, pl.ammo_762mm, -1);
|
||||
#endif
|
||||
|
||||
|
@ -173,7 +172,7 @@ w_scout_reload(void)
|
|||
float
|
||||
w_scout_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_sg550_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_sg550.fire");
|
||||
#endif
|
||||
precache_model("models/v_sg550.mdl");
|
||||
precache_model("models/w_sg550.mdl");
|
||||
precache_model("models/p_sg550.mdl");
|
||||
|
@ -102,7 +105,7 @@ w_sg550_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(SG550_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_sg550_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SG550);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 70, [0.01,0,01], WEAPON_SG550);
|
||||
|
||||
pl.sg550_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_sg550_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/sg550-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/sg550-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_sg550.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.25f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -173,7 +172,7 @@ w_sg550_reload(void)
|
|||
float
|
||||
w_sg550_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_sg552_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_sg552.fire");
|
||||
#endif
|
||||
precache_model("models/v_sg552.mdl");
|
||||
precache_model("models/w_sg552.mdl");
|
||||
precache_model("models/p_sg552.mdl");
|
||||
|
@ -102,7 +105,7 @@ w_sg552_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(SG552_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_sg552_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SG552);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [0.01,0,01], WEAPON_SG552);
|
||||
|
||||
pl.sg552_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_sg552_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/sg552-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/sg552-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_sg552.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.0825f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -173,7 +172,7 @@ w_sg552_reload(void)
|
|||
float
|
||||
w_sg552_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_smokegrenade_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_smokegrenade.explode");
|
||||
#endif
|
||||
precache_model("models/v_smokegrenade.mdl");
|
||||
precache_model("models/w_smokegrenade.mdl");
|
||||
precache_model("models/p_smokegrenade.mdl");
|
||||
|
@ -79,7 +82,7 @@ w_smokegrenade_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(SMOKEGRENADE_SHOOT1);
|
||||
|
@ -99,7 +102,7 @@ w_smokegrenade_primary(void)
|
|||
float
|
||||
w_smokegrenade_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_flashbang_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_tmp_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_tmp.fire");
|
||||
#endif
|
||||
precache_model("models/v_tmp.mdl");
|
||||
precache_model("models/w_tmp.mdl");
|
||||
precache_model("models/p_tmp.mdl");
|
||||
|
@ -102,7 +105,7 @@ w_tmp_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(TMP_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_tmp_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_TMP);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_TMP);
|
||||
|
||||
pl.tmp_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_tmp_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/tmp-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/tmp-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_tmp.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.07f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -173,7 +172,7 @@ w_tmp_reload(void)
|
|||
float
|
||||
w_tmp_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_ump45_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_ump45.fire");
|
||||
#endif
|
||||
precache_model("models/v_ump45.mdl");
|
||||
precache_model("models/w_ump45.mdl");
|
||||
precache_model("models/p_ump45.mdl");
|
||||
|
@ -35,7 +38,7 @@ void
|
|||
w_ump45_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_45acp, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -64,10 +67,10 @@ w_ump45_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.ump45_mag = 30;
|
||||
pl.ump45_mag = 25;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_45acp < AMMO_MAX_45ACP) {
|
||||
pl.ammo_45acp = bound(0, pl.ammo_45acp + 25, AMMO_MAX_45ACP);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -102,7 +105,7 @@ w_ump45_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(UMP45_SHOOT1);
|
||||
|
@ -119,7 +122,7 @@ w_ump45_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_UMP45);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 30, [0.01,0,01], WEAPON_UMP45);
|
||||
|
||||
pl.ump45_mag--;
|
||||
|
||||
|
@ -128,14 +131,10 @@ w_ump45_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/ump45-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/ump45-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_ump45.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.105f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,22 +147,22 @@ w_ump45_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 25) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.ump45_mag >= 30) {
|
||||
if (pl.ump45_mag >= 25) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_45acp) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_45acp, 25);
|
||||
Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_45acp, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(UMP45_RELOAD);
|
||||
|
@ -173,14 +172,13 @@ w_ump45_reload(void)
|
|||
float
|
||||
w_ump45_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
w_ump45_hud(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
|
||||
HUD_DrawAmmo1();
|
||||
HUD_DrawAmmo2();
|
||||
vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
||||
|
|
|
@ -26,6 +26,10 @@ enum {
|
|||
void
|
||||
w_usp45_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_usp45.fire");
|
||||
Sound_Precache("weapon_usp45.silencer");
|
||||
#endif
|
||||
precache_model("models/v_usp45.mdl");
|
||||
precache_model("models/w_usp45.mdl");
|
||||
precache_model("models/p_usp45.mdl");
|
||||
|
@ -37,7 +41,7 @@ void
|
|||
w_usp45_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_45acp, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -66,10 +70,10 @@ w_usp45_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.usp45_mag = 30;
|
||||
pl.usp45_mag = 12;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_45acp < AMMO_MAX_45ACP) {
|
||||
pl.ammo_45acp = bound(0, pl.ammo_45acp + 12, AMMO_MAX_45ACP);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -104,7 +108,7 @@ w_usp45_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(USP45_SHOOT1);
|
||||
|
@ -121,7 +125,7 @@ w_usp45_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_USP45);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 34, [0.01,0,01], WEAPON_USP45);
|
||||
|
||||
pl.usp45_mag--;
|
||||
|
||||
|
@ -130,14 +134,10 @@ w_usp45_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/usp45-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/usp45-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_usp45.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.15f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -150,22 +150,22 @@ w_usp45_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 12) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.usp45_mag >= 30) {
|
||||
if (pl.usp45_mag >= 12) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_45acp) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_45acp, 12);
|
||||
Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_45acp, -1);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(USP45_RELOAD);
|
||||
|
@ -175,7 +175,7 @@ w_usp45_reload(void)
|
|||
float
|
||||
w_usp45_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_deagle_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -26,6 +26,9 @@ enum {
|
|||
void
|
||||
w_xm1014_precache(void)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Sound_Precache("weapon_xm1014.fire");
|
||||
#endif
|
||||
precache_model("models/v_xm1014.mdl");
|
||||
precache_model("models/w_xm1014.mdl");
|
||||
precache_model("models/p_xm1014.mdl");
|
||||
|
@ -35,7 +38,7 @@ void
|
|||
w_xm1014_updateammo(player pl)
|
||||
{
|
||||
#ifdef SSQC
|
||||
Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_762mm, -1);
|
||||
Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_buckshot, -1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -64,10 +67,10 @@ w_xm1014_pickup(int new)
|
|||
player pl = (player)self;
|
||||
|
||||
if (new) {
|
||||
pl.xm1014_mag = 30;
|
||||
pl.xm1014_mag = 7;
|
||||
} else {
|
||||
if (pl.ammo_762mm < 90) {
|
||||
pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90);
|
||||
if (pl.ammo_buckshot < AMMO_MAX_BUCKSHOT) {
|
||||
pl.ammo_buckshot = bound(0, pl.ammo_buckshot + 7, AMMO_MAX_BUCKSHOT);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -79,10 +82,8 @@ w_xm1014_pickup(int new)
|
|||
void
|
||||
w_xm1014_draw(void)
|
||||
{
|
||||
#ifdef CSQC
|
||||
Weapons_SetModel("models/v_xm1014.mdl");
|
||||
Weapons_ViewAnimation(XM1014_DRAW);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -102,7 +103,7 @@ w_xm1014_primary(void)
|
|||
View_SetMuzzleflash(MUZZLE_RIFLE);
|
||||
Weapons_ViewPunchAngle([-2,0,0]);
|
||||
|
||||
int r = floor(random(0,3));
|
||||
int r = (float)input_sequence % 3;
|
||||
switch (r) {
|
||||
case 0:
|
||||
Weapons_ViewAnimation(XM1014_SHOOT1);
|
||||
|
@ -119,7 +120,7 @@ w_xm1014_primary(void)
|
|||
return;
|
||||
}
|
||||
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_XM1014);
|
||||
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 22, [0.01,0,01], WEAPON_XM1014);
|
||||
|
||||
pl.xm1014_mag--;
|
||||
|
||||
|
@ -128,14 +129,10 @@ w_xm1014_primary(void)
|
|||
else
|
||||
Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f);
|
||||
|
||||
if (random() < 0.5) {
|
||||
sound(pl, CHAN_WEAPON, "weapons/xm1014-1.wav", 1.0f, ATTN_NORM);
|
||||
} else {
|
||||
sound(pl, CHAN_WEAPON, "weapons/xm1014-2.wav", 1.0f, ATTN_NORM);
|
||||
}
|
||||
Sound_Play(pl, CHAN_WEAPON, "weapon_xm1014.fire");
|
||||
#endif
|
||||
|
||||
pl.w_attack_next = 0.0955f;
|
||||
pl.w_attack_next = 0.25f;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -148,22 +145,21 @@ w_xm1014_reload(void)
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
if (pl.a_ammo1 >= 30) {
|
||||
if (pl.a_ammo1 >= 7) {
|
||||
return;
|
||||
}
|
||||
if (!pl.a_ammo2) {
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (pl.xm1014_mag >= 30) {
|
||||
if (pl.xm1014_mag >= 7) {
|
||||
return;
|
||||
}
|
||||
if (!pl.ammo_762mm) {
|
||||
if (!pl.ammo_buckshot) {
|
||||
return;
|
||||
}
|
||||
|
||||
Weapons_ReloadWeapon(pl, player::xm1014_mag, player::ammo_762mm, 30);
|
||||
Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_762mm, -1);
|
||||
Weapons_ReloadWeapon(pl, player::xm1014_mag, player::ammo_buckshot, 7);
|
||||
#endif
|
||||
|
||||
Weapons_ViewAnimation(XM1014_RELOAD);
|
||||
|
@ -173,7 +169,7 @@ w_xm1014_reload(void)
|
|||
float
|
||||
w_xm1014_aimanim(void)
|
||||
{
|
||||
return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND;
|
||||
return w_ak47_aimanim();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -46,3 +46,14 @@ enum
|
|||
WEAPON_SMOKEGRENADE,
|
||||
WEAPON_C4BOMB
|
||||
};
|
||||
|
||||
#define AMMO_MAX_50AE 35
|
||||
#define AMMO_MAX_762MM 90
|
||||
#define AMMO_MAX_556MM 90
|
||||
#define AMMO_MAX_556MMBOX 200
|
||||
#define AMMO_MAX_338MAG 30
|
||||
#define AMMO_MAX_9MM 150
|
||||
#define AMMO_MAX_BUCKSHOT 32
|
||||
#define AMMO_MAX_45ACP 100
|
||||
#define AMMO_MAX_357SIG 52
|
||||
#define AMMO_MAX_57MM 100
|
||||
|
|
Loading…
Reference in a new issue