From d07fd0369f0667287e10705cbb13109f9b7cae84 Mon Sep 17 00:00:00 2001 From: Magnus Date: Fri, 13 Nov 2009 07:06:47 +0000 Subject: [PATCH] git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3444 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- quakec/fallout2/csqc/invent.qc | 14 +++++----- quakec/fallout2/misc.qc | 3 ++- quakec/fallout2/world.qc | 48 +++++++++++++++++++++------------- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/quakec/fallout2/csqc/invent.qc b/quakec/fallout2/csqc/invent.qc index 61549f882..effc7ade3 100644 --- a/quakec/fallout2/csqc/invent.qc +++ b/quakec/fallout2/csqc/invent.qc @@ -805,17 +805,17 @@ void() Invent_Draw = check = getstati(32); if (check > 0) - SlotImage('6 1 0'*IMGSIZEF, 1); + SlotImage('6 1 0'*IMGSIZEF - '16 2 0', 1); check = getstati(33); if (check > 0) - SlotImage('6 2 0'*IMGSIZEF, 2); + SlotImage('6 2 0'*IMGSIZEF - '16 -5 0', 2); check = getstati(34); if (check > 0) - SlotImage('6 3 0'*IMGSIZEF, 3); + SlotImage('6 3 0'*IMGSIZEF - '16 -13 0', 3); @@ -870,13 +870,15 @@ void() Invent_Draw = if (mousepos_y >= 1*IMGSIZEF && mousepos_y <= 7*IMGSIZEF) slotnum = floor((mousepos_y)/IMGSIZEF) + 10; - if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.5*IMGSIZEF) + if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF) if (mousepos_y >= 1*IMGSIZEF && mousepos_y <= 2*IMGSIZEF) slotnum = 1; - if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.5*IMGSIZEF) + + if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF) if (mousepos_y >= 2*IMGSIZEF && mousepos_y <= 3*IMGSIZEF) slotnum = 2; - if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.5*IMGSIZEF) + + if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF) if (mousepos_y >= 3*IMGSIZEF && mousepos_y <= 4*IMGSIZEF) slotnum = 3; diff --git a/quakec/fallout2/misc.qc b/quakec/fallout2/misc.qc index fef0a35b0..1397f180d 100644 --- a/quakec/fallout2/misc.qc +++ b/quakec/fallout2/misc.qc @@ -1013,12 +1013,13 @@ void() brotherhood_soldier = self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 30); self.xslot8 = SlotVal(IID_AM_CASELESS, 30); self.xslot9 = SlotVal(IID_AM_NEEDLER, 30); + self.xslot14 = SlotVal(IID_WP_AK112, 1); self.xslot15 = SlotVal(IID_WP_ACR, 1); self.xslot16 = SlotVal(IID_WP_AK112_M, 1); self.xslot17 = SlotVal(IID_WP_G11, 1); self.xslot18 = SlotVal(IID_WP_JACKHAMMER, 1); self.xslot19 = SlotVal(IID_WP_MOONLIGHT, 1); - self.xslot19 = SlotVal(IID_WP_MOSSBERG, 1); + self.xslot20 = SlotVal(IID_WP_MOSSBERG, 1); self.think = shop_face; self.nextthink = time + 0.5; diff --git a/quakec/fallout2/world.qc b/quakec/fallout2/world.qc index 1294234ef..723c2293a 100644 --- a/quakec/fallout2/world.qc +++ b/quakec/fallout2/world.qc @@ -284,17 +284,17 @@ void() map_startup = world.map_obj = 6; if (infokey(world, "objective") == "hostage") - time_left = 400; + time_left = 600; if (infokey(world, "objective") == "supplies") - time_left = 500; + time_left = 600; if (infokey(world, "objective") == "shadow") - time_left = 300; + time_left = 600; if (infokey(world, "objective") == "deadtown") - time_left = 300; + time_left = 600; if (infokey(world, "objective") == "destroy") - time_left = 500; + time_left = 600; if (infokey(world, "objective") == "defuse") - time_left = 400; + time_left = 600; /* if (world.map_obj == 0) @@ -669,7 +669,7 @@ if (coop == 1) // Players vs Monsters if (world.map_obj == OBJ_HOSTAGE) { - //time_left = time_left - 1; + time_left = time_left - 1; te = find(world, classname, "rhostage"); while (te) @@ -702,8 +702,9 @@ if (coop == 1) // Players vs Monsters localcmd("restart\n"); sound (world, CHAN_BODY, "misc/menu3.wav", 1, ATTN_NONE); + return; } - else if (hdead > hcount) //hostages killed + else if (hdead > rescue + hcount) //hostages killed { if (endgame_timer == 0) bprint(2, "^4** ^bTHE HOSTAGES WERE KILLED!!!^b **\n"); @@ -719,6 +720,7 @@ if (coop == 1) // Players vs Monsters localcmd("restart\n"); endgame_timer = endgame_timer + 1; + return; } else if (hcount == 0 && hdead <= rescue) //hostages rescued { @@ -742,23 +744,33 @@ if (coop == 1) // Players vs Monsters localcmd("serverinfo objective return\n"); changelevel ("r_bunker"); } + return; } else if (time_left <= 0) //time ran out { if (endgame_timer == 0) - bprint(2, "^4** ^bRADIATION CONSUMES EVERYONE^b **\n"); + { + bprint(2, "^4** ^bSOME HOSTAGES WERE SAVED^b **\n"); + sound (self, CHAN_VOICE, "misc/beep1.wav", 1, ATTN_NONE); + ze = find (world, classname, "player"); + while (ze != world) + { + ze.ammo_shells = ze.ammo_shells + 25; + stuffcmd(ze, "play music/victory\n"); + ze = find (ze, classname, "player"); + } + } if (endgame_timer == 1) - bprint(2, "^4** ^bMISSION FAILED^b **\n"); - if (endgame_timer == 2) - bprint(2, "^4** 3 **\n"); - if (endgame_timer == 3) - bprint(2, "^4** 2 **\n"); - if (endgame_timer == 4) - bprint(2, "^4** 1 **\n"); - if (endgame_timer == 5) - localcmd("restart\n"); + bprint(2, "^4** ^bMISSION COMPLETED, RETURN TO BASE^b **\n"); + if (endgame_timer == 10) + { + localcmd("serverinfo objective return\n"); + changelevel ("r_bunker"); + } + endgame_timer = endgame_timer + 1; + return; } else if (time_left == 480) //time ran out bprint(2, "^4** ^bTIME LEFT: 8:00^b **\n");