git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3474 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
9a5379f76e
commit
7c6eaec766
5 changed files with 67 additions and 124 deletions
|
@ -1817,12 +1817,12 @@ void() PlayerPreThink =
|
|||
else if (self.position == 2)
|
||||
x = ftos(self.recoil/4);
|
||||
|
||||
if (self.steadyaim == 0)
|
||||
if (self.steadyaim == 0 && self.velocity == '0 0 0')
|
||||
stuffcmd(self, "v_idlescale 0\n");
|
||||
else if (self.recoil > 0)
|
||||
stuffcmd(self, strcat("v_idlescale ", x, "\n"));
|
||||
else if (self.velocity != '0 0 0')
|
||||
stuffcmd(self, "v_idlescale 1\n");
|
||||
stuffcmd(self, "v_idlescale 4\n");
|
||||
|
||||
}
|
||||
self.cycle2 = time + 1;
|
||||
|
|
|
@ -906,11 +906,11 @@ float(float iid) WeaponAmmoType =
|
|||
if (iid == IID_WP_JACKHAMMER)
|
||||
return IID_AM_12GAUGESHELLS;
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return IID_AM_45ACP;
|
||||
return IID_AM_10MM;
|
||||
if (iid == IID_WP_MP9)
|
||||
return IID_AM_10MM;
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return IID_AM_45ACP;
|
||||
return IID_AM_10MM;
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return IID_AM_10MM;
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
|
@ -985,11 +985,11 @@ float(float iid) WeaponMagQuant =
|
|||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 20;
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return 25;
|
||||
return 30;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 30;
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return 25;
|
||||
return 30;
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return 30;
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
|
@ -1463,9 +1463,9 @@ float(float iid) GetBaseValue =
|
|||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 250;
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return 100;
|
||||
return 150;
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return 125;
|
||||
return 25;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 110;
|
||||
if (iid == IID_WP_MP9_S)
|
||||
|
@ -1699,13 +1699,13 @@ string(float iid) GetItemDesc =
|
|||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "the ultimate for close range battles";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return "higher recoil due to larger .45 acp round";
|
||||
return "a subpar smg rechambered for 10mm";
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return "higher recoil due to larger .45 acp round";
|
||||
return "a subpar smg in extremely poor condition";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "great all-around weapon; good burst fire";
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return "silenced 10mm smg; less recoil";
|
||||
return "great all-around weapon in extremely poor condition";
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return "civilian battle rifle. sturdy and effective";
|
||||
if (iid == IID_WP_RANGEMASTER_SCOPE)
|
||||
|
|
|
@ -119,7 +119,7 @@ void (float tmp, float dam) ogre_smg =
|
|||
|
||||
self.weapon = 5;
|
||||
|
||||
sound (self, CHAN_WEAPON, "weapons/mp7.wav", 1, ATTN_NORM);
|
||||
sound (self, CHAN_WEAPON, "weapons/mp9.wav", 1, ATTN_NORM);
|
||||
|
||||
|
||||
tmp = 300;
|
||||
|
|
|
@ -79,7 +79,7 @@ void (float tmp, float dam) army_fire =
|
|||
|
||||
makevectors (self.angles);
|
||||
|
||||
sound (self, CHAN_WEAPON, "weapons/usp.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
|
||||
sound (self, CHAN_WEAPON, "weapons/10mmpistol.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
|
||||
|
||||
src = self.origin + v_forward*10;
|
||||
src_z = self.absmin_z + self.size_z * 0.7;
|
||||
|
@ -323,7 +323,7 @@ void (float tmp, float dam) army_fire3 =
|
|||
if (self.enemy.sneak == 1)
|
||||
tmp = tmp * 2;
|
||||
|
||||
sound (self, CHAN_WEAPON, "weapons/mp5.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
|
||||
sound (self, CHAN_WEAPON, "weapons/greasegun.wav", PLAT_LOW_TRIGGER, ATTN_NORM);
|
||||
|
||||
self.mag1 = self.mag1 - 1;
|
||||
|
||||
|
@ -1476,7 +1476,7 @@ void () army_die =
|
|||
if (self.weapon == 3)
|
||||
DropFromChest(self, IID_WP_WINCHESTER, 1);
|
||||
if (self.weapon == 4)
|
||||
DropFromChest(self, IID_WP_GREASEGUN, 15);
|
||||
DropFromChest(self, IID_WP_GREASEGUN_S, 15);
|
||||
if (self.weapon == 5)
|
||||
DropFromChest(self, IID_WP_AK47, 12);
|
||||
|
||||
|
@ -1487,7 +1487,7 @@ void () army_die =
|
|||
if (self.weapon == 3)
|
||||
DropFromChest(self, IID_AM_12GAUGESHELLS, 8);
|
||||
if (self.weapon == 4)
|
||||
DropFromChest(self, IID_AM_45ACP, 30);
|
||||
DropFromChest(self, IID_AM_10MM, 30);
|
||||
if (self.weapon == 5)
|
||||
DropFromChest(self, IID_AM_5MMHIGHVEL, 24);
|
||||
|
||||
|
|
|
@ -609,53 +609,32 @@ void(float damage, float dist, float rate) FireMelee =
|
|||
{
|
||||
tdam = 20 + (60*self.skill_sneak);
|
||||
|
||||
if (getperk(9))
|
||||
tdam = 900;
|
||||
|
||||
if (self.steadyaim == 0)
|
||||
tdam = tdam + 10;
|
||||
|
||||
if (trace_ent.solid != SOLID_BSP && trace_ent.classname != "car")
|
||||
SpawnBlood (org, 1);
|
||||
else
|
||||
SpawnNonBlood (org, 1);
|
||||
|
||||
T_Damage (trace_ent, self, self, tdam);
|
||||
self.attack_finished = time + 2;
|
||||
if (trace_ent.solid != SOLID_BSP)
|
||||
SpawnBlood (org, 1);
|
||||
else
|
||||
SpawnNonBlood (org, 1);
|
||||
T_Damage (trace_ent, self, self, tdam);
|
||||
self.attack_finished = time + 2;
|
||||
|
||||
if (trace_ent.health > 0)//victim survived the attack
|
||||
{
|
||||
bprint(2, self.netname);
|
||||
bprint(2, " ambushes ");
|
||||
bprint(2, trace_ent.netname);
|
||||
bprint(2, "!\n");
|
||||
bprint(2, self.netname);
|
||||
bprint(2, " ambushes ");
|
||||
bprint(2, trace_ent.netname);
|
||||
bprint(2, "!\n");
|
||||
|
||||
if (random()*4<2)
|
||||
sound (trace_ent, CHAN_WEAPON, "player/headshot.wav", 1, ATTN_NONE);
|
||||
else
|
||||
sound (trace_ent, CHAN_WEAPON, "player/udeath.wav", 1, ATTN_NONE);
|
||||
if (random()*4<2)
|
||||
sound (trace_ent, CHAN_WEAPON, "player/headshot.wav", 1, ATTN_NONE);
|
||||
else
|
||||
sound (trace_ent, CHAN_WEAPON, "player/udeath.wav", 1, ATTN_NONE);
|
||||
|
||||
loud_noise(15);
|
||||
self.equipment_slot = 0;
|
||||
sprint(self, PRINT_HIGH, "<EFBFBD> Uncloaked <20>\n");
|
||||
setmodel (self, "progs/guy.mdl");
|
||||
self.sneak = 0;
|
||||
spawn_excla(self, 3);
|
||||
|
||||
self.equipment_slot = 0;
|
||||
sprint(self, PRINT_HIGH, "<EFBFBD> Uncloaked <20>\n");
|
||||
setmodel (self, "progs/guy.mdl");
|
||||
self.sneak = 0;
|
||||
spawn_excla(self, 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
bprint(2, self.netname);
|
||||
bprint(2, " assassinates ");
|
||||
bprint(2, trace_ent.netname);
|
||||
bprint(2, "!\n");
|
||||
self.score = self.score + 5;
|
||||
|
||||
if (random()*4<2)
|
||||
sound (trace_ent, CHAN_WEAPON, "player/headshot.wav", 0.25, ATTN_IDLE);
|
||||
else
|
||||
sound (trace_ent, CHAN_WEAPON, "player/udeath.wav", 0.25, ATTN_IDLE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (trace_ent.takedamage)
|
||||
{
|
||||
|
@ -2047,13 +2026,13 @@ void() W_Attack =
|
|||
else if (weap == IID_WP_JACKHAMMER)
|
||||
W_FireShotgun (1, 5, 6, 30, 1750, 2, "weapons/citykiller.wav");
|
||||
else if (weap == IID_WP_GREASEGUN)
|
||||
FireSMG(14, 0, "weapons/mp5.wav", 1500, 0.10);
|
||||
FireSMG(12, 0, "weapons/greasegun.wav", 1500, 0.08);
|
||||
else if (weap == IID_WP_MP9)
|
||||
FireSMG(12, 0, "ogre/ak74.wav", 1500, 0.08);
|
||||
FireSMG(12, 0, "weapons/mp9.wav", 1500, 0.08);
|
||||
else if (weap == IID_WP_GREASEGUN_S)
|
||||
FireSMG(12, 0, "weapons/smg_s.wav", 1500, 0.10);
|
||||
FireSMG(9, 0, "weapons/greasegun.wav", 1200, 0.08);
|
||||
else if (weap == IID_WP_MP9_S)
|
||||
FireSMG(10, 0, "weapons/smg_s.wav", 1500, 0.08);
|
||||
FireSMG(9, 0, "weapons/mp9.wav", 1200, 0.08);
|
||||
else if (weap == IID_WP_RANGEMASTER)
|
||||
FireAssaultRifle(18, 4, "weapons/rangem.wav", 4000, 0.1);
|
||||
else if (weap == IID_WP_AK112)
|
||||
|
@ -2679,38 +2658,7 @@ void (vector org) bullet_hole =
|
|||
WriteCoord (MSG_MULTICAST, org_y);
|
||||
WriteCoord (MSG_MULTICAST, org_z);
|
||||
multicast (self.origin, MULTICAST_PHS);
|
||||
/*
|
||||
r = random();
|
||||
ric = spawn();
|
||||
setorigin(ric, org);
|
||||
|
||||
if (r <= 0.08)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico1.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.16)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico2.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.24)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico3.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.32)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico4.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.40)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico5.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.48)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico6.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.56)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico7.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.64)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico8.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.72)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico9.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.80)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico10.wav", TRUE, ATTN_NORM);
|
||||
else if (r <= 0.90)
|
||||
sound (ric, CHAN_WEAPON, "contact/rico11.wav", TRUE, ATTN_NORM);
|
||||
else
|
||||
sound (ric, CHAN_WEAPON, "contact/rico12.wav", TRUE, ATTN_NORM);
|
||||
|
||||
ric.think = SUB_Remove;
|
||||
ric.nextthink = time + 1;*/
|
||||
};
|
||||
|
||||
void (vector test, float length, float dam) penetrate =
|
||||
|
@ -3396,24 +3344,16 @@ void (float dam, float ap, string snd, float rng, float rate) FireSMG =
|
|||
}
|
||||
|
||||
sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
|
||||
if (weap == IID_WP_GREASEGUN)
|
||||
loud_noise(50);
|
||||
else if (weap == IID_WP_MP9)
|
||||
loud_noise(40);
|
||||
else if (weap == IID_WP_GREASEGUN_S)
|
||||
loud_noise(5);
|
||||
else if (weap == IID_WP_MP9_S)
|
||||
loud_noise(5);
|
||||
loud_noise(40);
|
||||
|
||||
|
||||
|
||||
self.equipment_slot = 0;
|
||||
sprint(self, PRINT_HIGH, "<EFBFBD> Uncloaked <20>\n");
|
||||
setmodel (self, "progs/guy.mdl");
|
||||
self.sneak = 0;
|
||||
sound (self, CHAN_BODY, "misc/r_tele4.wav", 1, ATTN_NORM);
|
||||
|
||||
//only silenced weapons do not break stealth
|
||||
if (weap != IID_WP_GREASEGUN_S && weap != IID_WP_MP9_S && self.sneak > 0)
|
||||
{
|
||||
self.equipment_slot = 0;
|
||||
sprint(self, PRINT_HIGH, "<EFBFBD> Uncloaked <20>\n");
|
||||
setmodel (self, "progs/guy.mdl");
|
||||
self.sneak = 0;
|
||||
sound (self, CHAN_BODY, "misc/r_tele4.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
self.attack_finished = (time + rate);
|
||||
|
||||
|
@ -3453,6 +3393,12 @@ void (float dam, float ap, string snd, float rng, float rate) FireSMG =
|
|||
|
||||
tmp = 150;
|
||||
|
||||
if (weap == IID_WP_MP9)
|
||||
{
|
||||
tmp = 200;
|
||||
dam = dam * 1.25;
|
||||
}
|
||||
|
||||
if (self.velocity == '0 0 0')
|
||||
tmp = tmp + (15*self.recoil);
|
||||
else
|
||||
|
@ -3501,20 +3447,10 @@ void (float dam, float ap, string snd, float rng, float rate) FireSMG =
|
|||
|
||||
dam = dam + random()*dam;
|
||||
|
||||
if (weap == IID_WP_GREASEGUN)
|
||||
T_Damage (trace_ent, self, self, dam);
|
||||
else if (weap == IID_WP_MP9)
|
||||
T_Damage (trace_ent, self, self, dam);
|
||||
else if (weap == IID_WP_GREASEGUN_S)
|
||||
T_Damage (trace_ent, self, self, dam);
|
||||
else if (weap == IID_WP_MP9_S)
|
||||
T_Damage (trace_ent, self, self, dam);
|
||||
|
||||
T_Damage (trace_ent, self, self, dam);
|
||||
self.critical = 0;
|
||||
|
||||
if (trace_ent.solid == SOLID_BSP || trace_ent.classname == "car")
|
||||
penetrate (org, (dam / 2), (dam / 2));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3821,16 +3757,23 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
|
|||
y = y * 0.90;
|
||||
if (self.velocity == '0 0 0')
|
||||
y = y * 0.90;
|
||||
if (self.position == 2)
|
||||
y = y * 0.80;
|
||||
|
||||
if (self.position == 1)
|
||||
y = y * 0.90;
|
||||
y = y * 0.75;
|
||||
else if (self.position == 2)
|
||||
y = y * 0.50;
|
||||
|
||||
if (self.position == 2 && weap == IID_WP_AK112_M)
|
||||
{
|
||||
y = y * 0.10;
|
||||
tmp = tmp * 0.80;
|
||||
y = y * 0.50;
|
||||
tmp = tmp * 0.50;
|
||||
}
|
||||
else if (self.position < 2 && weap == IID_WP_AK112_M)
|
||||
{
|
||||
y = y * 1.25;
|
||||
tmp = tmp * 1.25;
|
||||
}
|
||||
|
||||
if (random()*3<=2)
|
||||
self.driftx = self.driftx + y;
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue