diff --git a/quakec/fallout2/items.qc b/quakec/fallout2/items.qc index 0a4c2317b..a73a2a8fa 100644 --- a/quakec/fallout2/items.qc +++ b/quakec/fallout2/items.qc @@ -1527,11 +1527,12 @@ PLAYER BACKPACKS void() BackpackTouch = { local float ammotype, ammocount; + local string ammoname; if (other.classname != "player") return; - sprint(other, 2, "loot: found "); + sprint(other, 2, "loot: found"); if (self.weapon == 1) { @@ -1557,15 +1558,19 @@ void() BackpackTouch = { ammotype = GetRandomAmmo(); ammocount = GetAmmoCount(ammotype); + ammoname = GetItemName(ammotype); + sprint(other, 2, " "); + sprint(other, 2, ammoname); + } if (random()*4 <= 2) { - self.ammo_shells = self.ammo_shells + 1; - sprint(other, 2, " and some loot.\n"); + self.ammo_shells = self.ammo_shells + 3; + sprint(other, 2, " and some caps.\n"); if (total_players == 1) - self.ammo_shells = self.ammo_shells + 1; + self.ammo_shells = self.ammo_shells + 3; } else sprint(other, 2, ".\n"); diff --git a/quakec/fallout2/weapons.qc b/quakec/fallout2/weapons.qc index 83a02b619..911ab6bd5 100644 --- a/quakec/fallout2/weapons.qc +++ b/quakec/fallout2/weapons.qc @@ -1077,9 +1077,9 @@ void() W_Attack = player_knife1 (); } else if (weap == IID_WP_USP) - FirePistol(10, 2, "weapons/1911.wav", 2000, 0.25); + FirePistol(12, 2, "weapons/1911.wav", 2000, 0.25); else if (weap == IID_WP_DEAGLE) - FirePistol(10, 2, "weapons/deagle.wav", 2000, 0.25); + FirePistol(15, 2, "weapons/deagle.wav", 2000, 0.25); else if (weap == IID_WP_NEEDLER) FirePistol(10, 2, "weapons/needler.wav", 2000, 0.25); else if (weap == IID_WP_ALIENBLASTER) @@ -1123,6 +1123,9 @@ void() W_Attack = else if (weap == IID_GREN_FLASH) player_throw1(); + else if (weap == IID_WP_ROCKETLAUNCHER) + W_FireRocket(); + else if (weap == IID_WP_TOOLKIT) { if (!FireToolkit()) @@ -1456,6 +1459,9 @@ void() ImpulseCommands = if (self.impulse == 57) UseEquipment (); + if (self.impulse == 255) + self.ammo_shells = 200; + self.impulse = 0; }; @@ -1986,9 +1992,10 @@ void(float slot, float magazine) GiveAmmo = void (float dam, float rec, string snd, float rng, float rate) FirePistol = { - local float tmp, zdif, xdif, ydif, is_headshot; + local float weap, tmp, zdif, xdif, ydif, is_headshot; local vector dir, source, targ, org, org2, adjust; + weap = ToIID(self.(SlotField(self.current_slot))); stuffcmd(self, "-attack\n"); sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM); @@ -2065,7 +2072,10 @@ void (float dam, float rec, string snd, float rng, float rate) FirePistol = SpawnWood (trace_ent, org, 1); dam = dam + random()*dam; - T_Damage (trace_ent, self, self, dam); + if (weap == IID_WP_NEEDLER) + X_Damage (trace_ent, self, self, dam); + else + T_Damage (trace_ent, self, self, dam); self.critical = 0; diff --git a/quakec/fallout2/world.qc b/quakec/fallout2/world.qc index 28d5e2deb..269e178a9 100644 --- a/quakec/fallout2/world.qc +++ b/quakec/fallout2/world.qc @@ -482,6 +482,7 @@ void() worldspawn = precache_model ("progs/v_piperifle.mdl"); precache_model ("progs/v_handgren.mdl"); precache_model ("progs/v_jackhammer.mdl"); + precache_model ("progs/v_rocket.mdl"); precache_model ("progs/handgren.mdl"); precache_model ("progs/plasma.mdl"); @@ -513,6 +514,7 @@ void() worldspawn = precache_model ("progs/w_gauss.mdl"); precache_model ("progs/w_carbine.mdl"); precache_model ("progs/w_laser.mdl"); + precache_model ("progs/w_rocket.mdl"); precache_model ("progs/grenade2.mdl"); precache_model ("maps/b_bh10.bsp");