diff --git a/quakec/fallout2/client.qc b/quakec/fallout2/client.qc index 59093ec9..dc36b60c 100644 --- a/quakec/fallout2/client.qc +++ b/quakec/fallout2/client.qc @@ -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; diff --git a/quakec/fallout2/inventory.qc b/quakec/fallout2/inventory.qc index 9e5b5ae5..9d5deefa 100644 --- a/quakec/fallout2/inventory.qc +++ b/quakec/fallout2/inventory.qc @@ -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) diff --git a/quakec/fallout2/ogre.qc b/quakec/fallout2/ogre.qc index a41515f2..2ceaf4bf 100644 --- a/quakec/fallout2/ogre.qc +++ b/quakec/fallout2/ogre.qc @@ -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; diff --git a/quakec/fallout2/soldier.qc b/quakec/fallout2/soldier.qc index de88582d..14e20145 100644 --- a/quakec/fallout2/soldier.qc +++ b/quakec/fallout2/soldier.qc @@ -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); diff --git a/quakec/fallout2/weapons.qc b/quakec/fallout2/weapons.qc index 76fc477b..7ab7a958 100644 --- a/quakec/fallout2/weapons.qc +++ b/quakec/fallout2/weapons.qc @@ -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, " Uncloaked \n"); - setmodel (self, "progs/guy.mdl"); - self.sneak = 0; - spawn_excla(self, 3); + + self.equipment_slot = 0; + sprint(self, PRINT_HIGH, " Uncloaked \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, " Uncloaked \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, " Uncloaked \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