diff --git a/quakec/fallout2/client.qc b/quakec/fallout2/client.qc index 705494cc1..82f6a0142 100644 --- a/quakec/fallout2/client.qc +++ b/quakec/fallout2/client.qc @@ -760,6 +760,14 @@ void() PutClientInServer = W_SetCurrentAmmo(); stuffcmd(self, "sizeup\n"); stuffcmd(self, "sizeup\n"); + + + if (world.model == "maps/r_bunker.bsp") + stuffcmd(self, "play music/afterglow\n"); + else if (world.map_obj == OBJ_DEADTOWN) + stuffcmd(self, "play music/necropolis\n"); + else + stuffcmd(self, "play music/raiders\n"); }; @@ -1552,6 +1560,7 @@ void() PlayerPreThink = ArmorCheck(); SneakLevel(); self.accept = 0; + local float lgrip, rgrip; @@ -1655,7 +1664,22 @@ void() PlayerPreThink = if (self.ammo_cells < 0) self.ammo_cells = 0; } + + if (self.musictimer == 0) + { + if (world.model == "maps/r_bunker.bsp") + stuffcmd(self, "play music/afterglow\n"); + else if (world.map_obj == OBJ_DEADTOWN) + stuffcmd(self, "play music/necropolis\n"); + else + stuffcmd(self, "play music/raiders\n"); + self.musictimer = 1; + } + else if (self.musictimer <= 120) + self.musictimer = self.musictimer + 1; + else if (self.musictimer > 120) + self.musictimer = 0; if (self.regen > 0 && !self.deadflag) //don't come back to life. { diff --git a/quakec/fallout2/defs.qc b/quakec/fallout2/defs.qc index 5f17a2f7e..b32e22c52 100644 --- a/quakec/fallout2/defs.qc +++ b/quakec/fallout2/defs.qc @@ -687,6 +687,8 @@ float intermission_running; .float shadowskill_sneak; .float shadowskill_science; +.float musictimer; + .float rescued; .float scale; .float bandages; diff --git a/quakec/fallout2/inventory.qc b/quakec/fallout2/inventory.qc index ced88d5a5..c00a8dfaa 100644 --- a/quakec/fallout2/inventory.qc +++ b/quakec/fallout2/inventory.qc @@ -1715,7 +1715,7 @@ string(float iid) GetItemDesc = if (iid == IID_WP_DKS1) return "semi-auto sniper rifle"; if (iid == IID_WP_MOONLIGHT) - return "great all-around rifle with extra utility"; + return "silenced m16a2 with night-vision scope"; if (iid == IID_WP_G11) return "a prototype rifle that uses caseless ammo"; if (iid == IID_WP_GAUSERIFLE) @@ -1723,9 +1723,9 @@ string(float iid) GetItemDesc = if (iid == IID_WP_PULSERIFLE) return "high-tech plasma weapon released just before the war"; if (iid == IID_WP_TURBOPLASMA) - return "modified plasma rifle for greater heat and pressure dissipation"; + return "modified plasma rifle"; if (iid == IID_WP_PLASMACARBINE) - return "prototype plasma rifle released during the final stages of the war"; + return "prototype plasma rifle"; if (iid == IID_WP_FNFAL) return "rifle designed for longer range; high recoil"; if (iid == IID_WP_ROCKETLAUNCHER) @@ -2175,7 +2175,7 @@ string(float iid) GetItemImage = if (iid == IID_WP_DKS1_S) return "dks1_s.jpg"; if (iid == IID_WP_MOONLIGHT) - return "XL70E3.jpg"; + return "moonlight.jpg"; if (iid == IID_WP_G11) return "g11.jpg"; if (iid == IID_WP_GAUSERIFLE) diff --git a/quakec/fallout2/misc.qc b/quakec/fallout2/misc.qc index 7232baa18..94a5880d4 100644 --- a/quakec/fallout2/misc.qc +++ b/quakec/fallout2/misc.qc @@ -1013,8 +1013,10 @@ void() brotherhood_soldier = self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 100); self.xslot8 = SlotVal(IID_AM_CASELESS, 100); self.xslot9 = SlotVal(IID_AM_NEEDLER, 100); - self.xslot12 = SlotVal(IID_EQUIP_STEALTHBOY, 1); - self.xslot13 = SlotVal(IID_EQUIP_BACKPACK, 1); + self.xslot10 = SlotVal(IID_EQUIP_STEALTHBOY, 1); + self.xslot11 = SlotVal(IID_EQUIP_BACKPACK, 1); + self.xslot12 = SlotVal(IID_ARM_COMBAT, 1); + self.xslot13 = SlotVal(IID_ARM_SEVA, 1); self.xslot14 = SlotVal(IID_WP_AK112, 1); self.xslot15 = SlotVal(IID_WP_ACR, 1); self.xslot16 = SlotVal(IID_WP_AK112_M, 1); diff --git a/quakec/fallout2/world.qc b/quakec/fallout2/world.qc index f81c0aab6..49dcd42d6 100644 --- a/quakec/fallout2/world.qc +++ b/quakec/fallout2/world.qc @@ -631,7 +631,7 @@ if (coop == 1) // Players vs Monsters te = find(te, classname, "monster"); } - +/* if (musicplay == 0) { musicplay = 1; @@ -644,18 +644,18 @@ if (coop == 1) // Players vs Monsters while (ze != world) { if (musictrack == 1) - stuffcmd(ze, "play music/battle\n"); + stuffcmd(ze, "play music/battle_a\n"); if (musictrack == 2) - stuffcmd(ze, "play misc/zombies\n"); + stuffcmd(ze, "play music/zombies\n"); ze = find (ze, classname, "player"); } } - else if (musicplay < 20) + else if (musicplay < 120) musicplay = musicplay + 1; - else if (musicplay >= 20) - musicplay = 0; + else if (musicplay >= 120) + musicplay = 0;*/ te = find(world, classname, "player"); while (te) diff --git a/quakec/fallout2/zombie.qc b/quakec/fallout2/zombie.qc index 26581df21..2313a4588 100644 --- a/quakec/fallout2/zombie.qc +++ b/quakec/fallout2/zombie.qc @@ -737,7 +737,7 @@ void () spawn_ghoul_copy = local entity te, ze; local vector jojo; local float zomc, pcount, loadzombie; - local string finder, waterlev; + local string finder, waterlev, diag; local vector stuff; @@ -797,13 +797,14 @@ void () spawn_ghoul_copy = ze = find (world, netname, "ghoul"); zomc = 0; + pcount = 0; while (ze) { zomc = zomc + 1; - ze = find (ze, netname, "monster"); + ze = find (ze, classname, "monster"); } ze = find(world, classname, "player"); @@ -815,14 +816,31 @@ void () spawn_ghoul_copy = ze = find(ze, classname, "player"); } - if (zomc > 30*pcount) + + if (zomc > 60*pcount) return; + + zomc = 0; + + te = findradius (self.origin, 1000); + while (te) + { + if (te.classname == "monster") + zomc = zomc + 1; + + te = te.chain; + } + + if (zomc >= 25) + return; + + zombie = spawn (); zombie.owner = self; self = zombie; self.solid = SOLID_SLIDEBOX; - self.movetype = MOVETYPE_STEP; + self.movetype = MOVETYPE_STEP; setmodel (self, "progs/ghoul.mdl"); setsize (self, '-8 -8 -24', '8 8 24'); self.health = 90;