git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3474 fc73d0e0-1445-4013-8a0c-d673dee63da5

This commit is contained in:
Magnus 2009-11-23 06:50:21 +00:00
parent 9a5379f76e
commit 7c6eaec766
5 changed files with 67 additions and 124 deletions

View File

@ -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;

View File

@ -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)

View File

@ -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;

View File

@ -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);

View File

@ -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, "<22> Uncloaked <20>\n");
setmodel (self, "progs/guy.mdl");
self.sneak = 0;
spawn_excla(self, 3);
self.equipment_slot = 0;
sprint(self, PRINT_HIGH, "<22> 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, "<22> 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, "<22> 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