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

This commit is contained in:
Magnus 2009-11-11 07:31:51 +00:00
parent f9a2e32c64
commit 99c7db1c08
11 changed files with 180 additions and 182 deletions

View file

@ -118,7 +118,7 @@ void(entity targ, entity inflictor, entity attacker, float damage) T_Damage =
local float save, dm; local float save, dm;
local float take, severity, helm; local float take, severity, helm;
local string attackerteam, targteam; local string attackerteam, targteam;
local string info1, info2;
if (!targ.takedamage) if (!targ.takedamage)
return; return;
@ -535,6 +535,7 @@ take = damage;
} }
targ.health = targ.health - take; targ.health = targ.health - take;
if (targ.classname == "monster" && targ.enemy.classname != "player" && attacker.classname == "player") if (targ.classname == "monster" && targ.enemy.classname != "player" && attacker.classname == "player")

View file

@ -623,8 +623,18 @@ void() Invent_Draw =
SlotImageSmall('1 12.5 0'*IMGSIZEK, 4); SlotImageSmall('1 12.5 0'*IMGSIZEK, 4);
SlotImageSmall('11 12 0'*IMGSIZEK, 23); check = getstati(97);
SlotImageSmall('13 12 0'*IMGSIZEK, 24); if (check > 0)
SlotImage('11 12 0'*IMGSIZEK, 23);
else
drawpic('11 12 0'*IMGSIZEK, "gui/pipboy/mix.png", IMGSIZEH, '1 1 1', 1);
check = getstati(98);
if (check > 0)
SlotImage('13 12 0'*IMGSIZEK, 24);
else
drawpic('13 12 0'*IMGSIZEK, "gui/pipboy/mix.png", IMGSIZEH, '1 1 1', 1);
/* /*
perki = GetPerkImage(getstati(60)); perki = GetPerkImage(getstati(60));
@ -756,7 +766,36 @@ else if (slotnum == 99)
} }
// drawfill(mousepos, '8 8 0', '0 0 0', 0.7); // drawfill(mousepos, '8 8 0', '0 0 0', 0.7);
// drawstring(mousepos, "^", '8 8 0', '1 1 1', 1); // drawstring(mousepos, "^", '8 8 0', '1 1 1', 1);
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
if (downslotnum == 0)
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
else
{
if (downslotnum <= 16)
it = getstati(31+downslotnum);
else
{
if (downslotnum == 17)
it = getstati(91);
if (downslotnum == 18)
it = getstati(92);
if (downslotnum == 19)
it = getstati(93);
if (downslotnum == 20)
it = getstati(94);
if (downslotnum == 21)
it = getstati(95);
if (downslotnum == 22)
it = getstati(96);
if (downslotnum == 23)
it = getstati(97);
if (downslotnum == 24)
it = getstati(98);
}
itname = GetItemImage(ToIID(it));
drawpic(mousepos, strcat("gui/", itname), '48 48 0', '1 1 1', 1);
}
}; };
void() CalcScrollPos = void() CalcScrollPos =

View file

@ -66,12 +66,8 @@ local float ldmg;
T_Damage (self.enemy, self, self, ldmg); T_Damage (self.enemy, self, self, ldmg);
if (random()*25 <= 5) self.enemy.attack_finished = time + 0.25;
{
stuffcmd(self.enemy, "drop\n");
self.enemy.attack_finished = time + 1;
self.enemy.position = 2;
}
}; };
void() Dog_JumpTouch = void() Dog_JumpTouch =

View file

@ -681,13 +681,13 @@ string(float iid) GetItemVModel =
if (iid == IID_WP_JACKHAMMER) if (iid == IID_WP_JACKHAMMER)
return "progs/v_jackhammer.mdl"; return "progs/v_jackhammer.mdl";
if (iid == IID_WP_GREASEGUN) if (iid == IID_WP_GREASEGUN)
return "progs/v_mp9.mdl"; return "progs/v_smg.mdl";
if (iid == IID_WP_MP9) if (iid == IID_WP_MP9)
return "progs/v_smg.mdl";
if (iid == IID_WP_GREASEGUN_S)
return "progs/v_mp9.mdl"; return "progs/v_mp9.mdl";
if (iid == IID_WP_MP9_S) if (iid == IID_WP_GREASEGUN_S)
return "progs/v_smg.mdl"; return "progs/v_smg.mdl";
if (iid == IID_WP_MP9_S)
return "progs/v_mp9.mdl";
if (iid == IID_WP_RANGEMASTER) if (iid == IID_WP_RANGEMASTER)
return "progs/v_rangem.mdl"; return "progs/v_rangem.mdl";
if (iid == IID_WP_RANGEMASTER_SCOPE) if (iid == IID_WP_RANGEMASTER_SCOPE)
@ -707,7 +707,7 @@ string(float iid) GetItemVModel =
if (iid == IID_WP_FNFAL) if (iid == IID_WP_FNFAL)
return "progs/v_fnfal.mdl"; return "progs/v_fnfal.mdl";
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return "progs/v_ak47.mdl"; return "progs/v_lsw.mdl";
if (iid == IID_WP_G11) if (iid == IID_WP_G11)
return "progs/v_g11.mdl"; return "progs/v_g11.mdl";
@ -916,7 +916,7 @@ float(float iid) WeaponAmmoType =
if (iid == IID_WP_AK47) if (iid == IID_WP_AK47)
return IID_AM_WARSAW; return IID_AM_WARSAW;
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return IID_AM_5MMHIGHVEL; return IID_AM_556MM;
if (iid == IID_WP_AK74) if (iid == IID_WP_AK74)
return IID_AM_WARSAW; return IID_AM_WARSAW;
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)
@ -993,7 +993,7 @@ float(float iid) WeaponMagQuant =
if (iid == IID_WP_AK112) if (iid == IID_WP_AK112)
return 24; return 24;
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return 90; return 100;
if (iid == IID_WP_AK74) if (iid == IID_WP_AK74)
return 30; return 30;
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)
@ -1077,7 +1077,7 @@ float(float iid) GetItemWeight =
if (iid == IID_WP_AK47) if (iid == IID_WP_AK47)
return 6; return 6;
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return 7; return 8;
if (iid == IID_WP_AK74) if (iid == IID_WP_AK74)
return 5; return 5;
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)
@ -1206,7 +1206,7 @@ string(float iid) GetItemName =
if (iid == IID_WP_WINCHESTER) if (iid == IID_WP_WINCHESTER)
return "winchester (12g)"; return "winchester (12g)";
if (iid == IID_WP_MOSSBERG) if (iid == IID_WP_MOSSBERG)
return "mossberg (12g)"; return "citykiller (12g)";
if (iid == IID_WP_JACKHAMMER) if (iid == IID_WP_JACKHAMMER)
return "jackhammer (12g)"; return "jackhammer (12g)";
if (iid == IID_WP_GREASEGUN) if (iid == IID_WP_GREASEGUN)
@ -1222,7 +1222,7 @@ string(float iid) GetItemName =
if (iid == IID_WP_AK112) if (iid == IID_WP_AK112)
return "ak-112 (5mm jhp)"; return "ak-112 (5mm jhp)";
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return "ak-112 (extended magazine)"; return "light support weapon (5.56mm)";
if (iid == IID_WP_AK74) if (iid == IID_WP_AK74)
return "ak-47 (7.62mm warsaw pact)"; return "ak-47 (7.62mm warsaw pact)";
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)
@ -1707,9 +1707,9 @@ string(float iid) GetItemDesc =
if (iid == IID_WP_AK112) if (iid == IID_WP_AK112)
return "a common assault rifle with extreme durability"; return "a common assault rifle with extreme durability";
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return "this rifle has been modified to accept larger magazines"; return "a great weapon for providing suppressing fire";
if (iid == IID_WP_DKS1) if (iid == IID_WP_DKS1)
return "this sturdy rifle fires .308\na larger and more reliable round"; return "the larger caliber 7.62mm provides extra power";
if (iid == IID_WP_DKS1_S) if (iid == IID_WP_DKS1_S)
return ".308 sniper rifle, silenced for stealth-ops"; return ".308 sniper rifle, silenced for stealth-ops";
if (iid == IID_WP_DKS1) if (iid == IID_WP_DKS1)
@ -1733,7 +1733,7 @@ string(float iid) GetItemDesc =
if (iid == IID_WP_LASERGATLING) if (iid == IID_WP_LASERGATLING)
return "quite simply, the ultimate in heavy firepower"; return "quite simply, the ultimate in heavy firepower";
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)
return "sniper-style weapon that supports burst fire"; return "fast, powerful, and accurate - a sniper's dream";
if (iid == IID_AM_NEEDLER) if (iid == IID_AM_NEEDLER)
@ -1784,7 +1784,7 @@ string(float iid) GetItemDesc =
if (iid == IID_ARM_METAL) if (iid == IID_ARM_METAL)
return "gives great protection at a sacrifice to speed."; return "gives great protection at a sacrifice to speed.";
if (iid == IID_ARM_TESLA) if (iid == IID_ARM_TESLA)
return "experimental armor with high deflection but low absorb."; return "experimental armor. great against small rounds.";
if (iid == IID_ARM_COMBAT) if (iid == IID_ARM_COMBAT)
return "this all-purpose armor is designed for combat missions."; return "this all-purpose armor is designed for combat missions.";
if (iid == IID_ARM_SEVA) if (iid == IID_ARM_SEVA)
@ -2180,7 +2180,7 @@ string(float iid) GetItemImage =
if (iid == IID_WP_AK112) if (iid == IID_WP_AK112)
return "ak112.png"; return "ak112.png";
if (iid == IID_WP_AK112_M) if (iid == IID_WP_AK112_M)
return "ak112.png"; return "lsw.png";
if (iid == IID_WP_AK74) if (iid == IID_WP_AK74)
return "ak47.jpg"; return "ak47.jpg";
if (iid == IID_WP_ACR) if (iid == IID_WP_ACR)

View file

@ -291,6 +291,9 @@ void(vector loc) SpawnJunk =
{ {
local entity junk; local entity junk;
if (random()*100 <= 80)
return;
junk = spawn (); junk = spawn ();
setorigin(junk, loc + '0 0 96'); setorigin(junk, loc + '0 0 96');
@ -315,13 +318,12 @@ void(vector loc) SpawnJunk =
junk.classname = "random_junk"; junk.classname = "random_junk";
if (random()*100 <= 10)
junk.islot1 = SlotVal(IID_MISC_JUNK, 1); if (random()*100 <= 25)
else if (random()*100 <= 10)
junk.islot1 = SlotVal(IID_MISC_NUKACOLA, 1); junk.islot1 = SlotVal(IID_MISC_NUKACOLA, 1);
else if (random()*100 <= 10) else if (random()*100 <= 25)
junk.islot1 = SlotVal(IID_MISC_CHEMICALS, 1); junk.islot1 = SlotVal(IID_MISC_CHEMICALS, 1);
else if (random()*100 <= 10) else if (random()*100 <= 25)
junk.islot1 = SlotVal(IID_MISC_AEROSOL, 1); junk.islot1 = SlotVal(IID_MISC_AEROSOL, 1);
else if (random()*100 <= 10) else if (random()*100 <= 10)
junk.islot1 = SlotVal(IID_MISC_RDXCRYSTAL, 1); junk.islot1 = SlotVal(IID_MISC_RDXCRYSTAL, 1);

View file

@ -474,7 +474,7 @@ string () MissionString =
"<EFBFBD>3 shadow mission \n" "<EFBFBD>3 shadow mission \n"
"<EFBFBD>4 zombie mission \n" "<EFBFBD>4 zombie mission \n"
"<EFBFBD>5 destroy supplies \n" "<EFBFBD>5 destroy supplies \n"
"6 bomb defusal \n\n" "<EFBFBD>6 bomb defusal \n\n"
"<EFBFBD>7 grab one later \n"); "<EFBFBD>7 grab one later \n");
}; };

View file

@ -911,6 +911,13 @@ void() misc_noisemaker =
void() brotherhood_merchant = void() brotherhood_merchant =
{ {
local entity sign;
/*
sign = spawn();
sign.origin = self.origin + '0 0 32';
setmodel(sign, "progs/trader.spr");
sign.solid = SOLID_NOT;*/
setorigin(self, self.origin + '0 0 64'); setorigin(self, self.origin + '0 0 64');
self.movetype = MOVETYPE_BOUNCE; self.movetype = MOVETYPE_BOUNCE;
self.velocity_z = -200; self.velocity_z = -200;
@ -925,111 +932,35 @@ void() brotherhood_merchant =
self.nextthink = time + 0.5; self.nextthink = time + 0.5;
if (random()*100 < 33)
{ self.xslot1 = SlotVal(IID_WP_USP, 1);
self.xslot1 = SlotVal(IID_WP_GREASEGUN, 1); self.xslot6 = SlotVal(IID_AM_45ACP, 30);
self.xslot6 = SlotVal(IID_AM_45ACP, 30);
}
else if (random()*100 < 33)
{
self.xslot1 = SlotVal(IID_WP_USP, 1);
self.xslot6 = SlotVal(IID_AM_45ACP, 30);
}
else
{
self.xslot1 = SlotVal(IID_WP_GLOCK, 1);
self.xslot6 = SlotVal(IID_AM_10MM, 30);
}
if (random()*100 < 33) self.xslot2 = SlotVal(IID_WP_PIPERIFLE, 1);
{ self.xslot7 = SlotVal(IID_AM_44MAGNUM, 30);
self.xslot2 = SlotVal(IID_WP_DEAGLE, 1);
self.xslot7 = SlotVal(IID_AM_44MAGNUM, 30);
}
else if (random()*100 < 33)
{
self.xslot2 = SlotVal(IID_WP_NEEDLER, 1);
self.xslot7 = SlotVal(IID_AM_NEEDLER, 30);
}
else
{
self.xslot2 = SlotVal(IID_WP_PIPERIFLE, 1);
self.xslot7 = SlotVal(IID_AM_44MAGNUM, 30);
}
if (random()*100 < 33) self.xslot3 = SlotVal(IID_WP_WINCHESTER, 1);
{ self.xslot8 = SlotVal(IID_AM_12GAUGESHELLS, 30);
self.xslot3 = SlotVal(IID_WP_WINCHESTER, 1);
self.xslot8 = SlotVal(IID_AM_12GAUGESHELLS, 30);
}
else if (random()*100 < 33)
{
self.xslot3 = SlotVal(IID_WP_RANGEMASTER, 1);
self.xslot8 = SlotVal(IID_AM_556MM, 30);
}
else
{
self.xslot3 = SlotVal(IID_WP_DKS1, 1);
self.xslot8 = SlotVal(IID_AM_762MM, 30);
}
if (random()*100 < 33) self.xslot4 = SlotVal(IID_WP_RANGEMASTER, 1);
{ self.xslot9 = SlotVal(IID_AM_556MM, 30);
self.xslot4 = SlotVal(IID_WP_WINCHESTER, 1);
self.xslot9 = SlotVal(IID_AM_12GAUGESHELLS, 30);
}
else if (random()*100 < 33)
{
self.xslot4 = SlotVal(IID_WP_RANGEMASTER, 1);
self.xslot9 = SlotVal(IID_AM_556MM, 30);
}
else
{
self.xslot4 = SlotVal(IID_WP_DKS1, 1);
self.xslot9 = SlotVal(IID_AM_762MM, 30);
}
if (random()*100 < 33) self.xslot5 = SlotVal(IID_WP_MP9, 1);
{ self.xslot10 = SlotVal(IID_AM_10MM, 30);
self.xslot5 = SlotVal(IID_WP_AK112, 1);
self.xslot10 = SlotVal(IID_AM_5MMHIGHVEL, 30);
}
else if (random()*100 < 33)
{
self.xslot5 = SlotVal(IID_WP_MOSSBERG, 1);
self.xslot10 = SlotVal(IID_AM_12GAUGESHELLS, 30);
}
else
{
self.xslot5 = SlotVal(IID_WP_MP9, 1);
self.xslot10 = SlotVal(IID_AM_10MM, 30);
}
if (random()*100 < 50)
self.xslot11 = SlotVal(IID_ARM_LEATHER, 1);
else
self.xslot11 = SlotVal(IID_ARM_VANDAL, 1);
if (random()*100 < 50) self.xslot11 = SlotVal(IID_ARM_VANDAL, 1);
self.xslot12 = SlotVal(IID_ARM_METAL, 1); self.xslot12 = SlotVal(IID_ARM_METAL, 1);
else self.xslot13 = SlotVal(IID_ARM_TESLA, 1);
self.xslot12 = SlotVal(IID_ARM_TESLA, 1);
if (random()*100 < 75)
self.xslot13 = SlotVal(IID_ARM_COMBAT, 1);
else
self.xslot13 = SlotVal(IID_ARM_SEVA, 1);
self.xslot14 = SlotVal(IID_CHEM_STIMPACK, 1); self.xslot14 = SlotVal(IID_CHEM_STIMPACK, 1);
self.xslot15 = SlotVal(IID_CHEM_MEDICALBAG, 25); self.xslot15 = SlotVal(IID_CHEM_MEDICALBAG, 25);
self.xslot16 = SlotVal(IID_WP_ACR, 1); self.xslot16 = SlotVal(IID_WP_DKS1, 1);
self.xslot17 = SlotVal(IID_AM_762MM, 30); self.xslot17 = SlotVal(IID_AM_762MM, 30);
@ -1081,11 +1012,17 @@ void() brotherhood_soldier =
self.xslot6 = SlotVal(IID_AM_556MM, 30); self.xslot6 = SlotVal(IID_AM_556MM, 30);
self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 30); self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 30);
self.xslot8 = SlotVal(IID_AM_CASELESS, 30); self.xslot8 = SlotVal(IID_AM_CASELESS, 30);
self.xslot8 = SlotVal(IID_AM_NEEDLER, 30); self.xslot9 = SlotVal(IID_AM_NEEDLER, 30);
self.xslot15 = SlotVal(IID_WP_ACR, 1);
self.xslot16 = SlotVal(IID_WP_AK112_M, 1); self.xslot16 = SlotVal(IID_WP_AK112_M, 1);
self.xslot17 = SlotVal(IID_WP_G11, 1); self.xslot17 = SlotVal(IID_WP_G11, 1);
self.xslot18 = SlotVal(IID_WP_JACKHAMMER, 1); self.xslot18 = SlotVal(IID_WP_JACKHAMMER, 1);
self.xslot19 = SlotVal(IID_WP_MOONLIGHT, 1); self.xslot19 = SlotVal(IID_WP_MOONLIGHT, 1);
self.xslot19 = SlotVal(IID_WP_MOSSBERG, 1);
self.think = shop_face;
self.nextthink = time + 0.5;
}; };
void() brotherhood_guard = void() brotherhood_guard =

View file

@ -978,14 +978,21 @@ void() W_PlayerMenu =
{ {
if (self.impulse >= 1 && self.impulse <= 6) if (self.impulse >= 1 && self.impulse <= 6)
{ {
if (infokey(world, "objective") == "return" || infokey(world, "objective") == "start")
get_new_mission(1); if (self.impulse == 1)
else get_new_mission(1);
{ if (self.impulse == 2)
sprint(self, 2, "you're already on a mission!\n"); get_new_mission(2);
self.currentmenu = "none"; if (self.impulse == 3)
return; get_new_mission(3);
} if (self.impulse == 4)
get_new_mission(4);
if (self.impulse == 5)
get_new_mission(5);
if (self.impulse == 6)
get_new_mission(6);
self.team = 1; self.team = 1;
sound (self, CHAN_WEAPON, "effects/radio2.wav", TRUE, ATTN_IDLE); sound (self, CHAN_WEAPON, "effects/radio2.wav", TRUE, ATTN_IDLE);
centerprint(self, "mission obtained\n"); centerprint(self, "mission obtained\n");

View file

@ -1477,24 +1477,22 @@ void () army_die =
if (self.weapon == 1) if (self.weapon == 1)
DropFromChest(self, IID_WP_PIPERIFLE, 1); DropFromChest(self, IID_WP_PIPERIFLE, 1);
if (self.weapon == 2) if (self.weapon == 2)
DropFromChest(self, IID_WP_USP, 6); DropFromChest(self, IID_WP_GLOCK, 6);
if (self.weapon == 3) if (self.weapon == 3)
DropFromChest(self, IID_WP_WINCHESTER, 1); DropFromChest(self, IID_WP_WINCHESTER, 1);
if (self.weapon == 4) if (self.weapon == 4)
DropFromChest(self, IID_WP_MP9, 15); DropFromChest(self, IID_WP_GREASEGUN, 15);
if (self.weapon == 5) if (self.weapon == 5)
DropFromChest(self, IID_WP_AK47, 12); DropFromChest(self, IID_WP_AK47, 12);
if (self.weapon == 1) if (self.weapon == 1)
DropFromChest(self, IID_AM_44MAGNUM, 10); DropFromChest(self, IID_AM_44MAGNUM, 10);
if (self.weapon == 2) if (self.weapon == 2)
DropFromChest(self, IID_AM_45ACP, 12); DropFromChest(self, IID_AM_10MM, 12);
if (self.weapon == 3) if (self.weapon == 3)
DropFromChest(self, IID_AM_12GAUGESHELLS, 8); DropFromChest(self, IID_AM_12GAUGESHELLS, 8);
if (self.weapon == 4) if (self.weapon == 4)
DropFromChest(self, IID_AM_10MM, 15); DropFromChest(self, IID_AM_45ACP, 30);
if (self.weapon == 4)
DropFromChest(self, IID_AM_10MM, 30);
if (self.weapon == 5) if (self.weapon == 5)
DropFromChest(self, IID_AM_5MMHIGHVEL, 24); DropFromChest(self, IID_AM_5MMHIGHVEL, 24);
@ -1515,9 +1513,9 @@ void (vector jojo, entity friend) spawn_soldier =
self.movetype = MOVETYPE_STEP; self.movetype = MOVETYPE_STEP;
setmodel (self, "progs/soldier.mdl"); setmodel (self, "progs/soldier.mdl");
setsize (self, '-12 -12 -24', '12 12 28'); setsize (self, '-12 -12 -24', '12 12 28');
self.health = 60+random()*30;
self.netname = "raider"; self.netname = "raider";
self.max_health = self.health; self.max_health = 150;
self.health = self.max_health;
self.armornoise = "misc/thud.wav"; self.armornoise = "misc/thud.wav";
self.th_stand = army_stand1; self.th_stand = army_stand1;
self.th_walk = army_walk1; self.th_walk = army_walk1;
@ -1666,8 +1664,9 @@ void () monster_army =
self.netname = "enforcer"; self.netname = "enforcer";
setsize (self, '-12 -12 -24', '12 12 28'); setsize (self, '-12 -12 -24', '12 12 28');
self.health = 120; self.max_health = 150;
self.islot3 = SlotVal(IID_ARM_COMBAT, 1); self.health = self.max_health;
self.islot3 = SlotVal(IID_ARM_COMBAT, 1);
self.armortype = 35; self.armortype = 35;
self.helmet = 1; self.helmet = 1;
self.th_stand = enf_stand1; self.th_stand = enf_stand1;
@ -1709,7 +1708,8 @@ void () monster_army =
self.movetype = MOVETYPE_STEP; self.movetype = MOVETYPE_STEP;
setmodel (self, "progs/soldier.mdl"); setmodel (self, "progs/soldier.mdl");
setsize (self, '-12 -12 -24', '12 12 28'); setsize (self, '-12 -12 -24', '12 12 28');
self.health = 100; self.max_health = 150;
self.health = self.max_health;
self.team = 3; self.team = 3;
self.islot3 = SlotVal(IID_ARM_LEATHER, 1); self.islot3 = SlotVal(IID_ARM_LEATHER, 1);
self.armortype = 0.2; self.armortype = 0.2;
@ -1904,7 +1904,8 @@ void () monster_commander =
commanders = commanders + 1; commanders = commanders + 1;
setsize (self, '-12 -12 -24', '12 12 32'); setsize (self, '-12 -12 -24', '12 12 32');
self.health = 300; self.max_health =250;
self.health = self.max_health;
self.islot3 = SlotVal(IID_ARM_COMBAT, 1); self.islot3 = SlotVal(IID_ARM_COMBAT, 1);
self.armortype = 0.5; self.armortype = 0.5;
self.helmet = 1; self.helmet = 1;

View file

@ -199,7 +199,7 @@ void(float damage, float dist, float rate) FireMelee =
if (dot < 0.5 && trace_ent.takedamage) if (dot < 0.5 && trace_ent.takedamage)
{ {
tdam = 10 + (15*self.skill_sneak); tdam = 25 + (30*self.skill_sneak);
if (getperk(7)) if (getperk(7))
tdam = tdam * 2; tdam = tdam * 2;
@ -1595,29 +1595,29 @@ void() W_Attack =
else if (weap == IID_WP_DEAGLE_M) else if (weap == IID_WP_DEAGLE_M)
FirePistol(18, 9, "weapons/deagle.wav", 3000, 0.1); FirePistol(18, 9, "weapons/deagle.wav", 3000, 0.1);
else if (weap == IID_WP_NEEDLER) else if (weap == IID_WP_NEEDLER)
FirePistol(16, 2, "weapons/needler.wav", 2000, 0.1); FirePistol(10+self.skill_science, 2, "weapons/needler.wav", 2000, 0.1);
else if (weap == IID_WP_GLOCK) else if (weap == IID_WP_GLOCK)
FirePistol(12, 6, "weapons/glock.wav", 2000, 0.1); FirePistol(12, 6, "weapons/glock.wav", 2000, 0.1);
else if (weap == IID_WP_GLOCK_S) else if (weap == IID_WP_GLOCK_S)
FirePistol(10, 6, "weapons/smg_s.wav", 2000, 0.1); FirePistol(10, 6, "weapons/smg_s.wav", 2000, 0.1);
else if (weap == IID_WP_ALIENBLASTER) else if (weap == IID_WP_ALIENBLASTER)
FirePulseRifle(16, 0.1, 48, 2); FirePulseRifle(16, 0.1, 10+self.skill_science*4, 2);
else if (weap == IID_WP_PIPERIFLE) else if (weap == IID_WP_PIPERIFLE)
FireAssaultRifle(20, 5, "weapons/rangem.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/rangem.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_S) else if (weap == IID_WP_PIPERIFLE_S)
FireAssaultRifle(20, 5, "weapons/needler.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/needler.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_S_R) else if (weap == IID_WP_PIPERIFLE_S_R)
FireAssaultRifle(20, 5, "weapons/needler.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/needler.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_SCOPE_S_R) else if (weap == IID_WP_PIPERIFLE_SCOPE_S_R)
FireAssaultRifle(20, 5, "weapons/needler.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/needler.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_SCOPE_S) else if (weap == IID_WP_PIPERIFLE_SCOPE_S)
FireAssaultRifle(20, 5, "weapons/needler.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/needler.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_R) else if (weap == IID_WP_PIPERIFLE_R)
FireAssaultRifle(20, 5, "weapons/rangem.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/rangem.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_SCOPE) else if (weap == IID_WP_PIPERIFLE_SCOPE)
FireAssaultRifle(20, 5, "weapons/rangem.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/rangem.wav", 5000, 0.1);
else if (weap == IID_WP_PIPERIFLE_SCOPE_R) else if (weap == IID_WP_PIPERIFLE_SCOPE_R)
FireAssaultRifle(20, 5, "weapons/rangem.wav", 5000, 0.1); FireAssaultRifle(15+self.skill_science, 5, "weapons/rangem.wav", 5000, 0.1);
else if (weap == IID_WP_DKS1_S) else if (weap == IID_WP_DKS1_S)
FireAssaultRifle(35, 3, "weapons/moonlight1.wav", 5000, 0.25); FireAssaultRifle(35, 3, "weapons/moonlight1.wav", 5000, 0.25);
else if (weap == IID_WP_WINCHESTER) else if (weap == IID_WP_WINCHESTER)
@ -1627,9 +1627,9 @@ void() W_Attack =
else if (weap == IID_WP_JACKHAMMER) else if (weap == IID_WP_JACKHAMMER)
W_FireShotgun (1, 5, 6, 30, 1750, 2, "weapons/citykiller.wav"); W_FireShotgun (1, 5, 6, 30, 1750, 2, "weapons/citykiller.wav");
else if (weap == IID_WP_GREASEGUN) else if (weap == IID_WP_GREASEGUN)
FireSMG(14, 0, "weapons/mp7.wav", 1500, 0.10); FireSMG(14, 0, "weapons/mp5.wav", 1500, 0.10);
else if (weap == IID_WP_MP9) else if (weap == IID_WP_MP9)
FireSMG(12, 0, "weapons/mp5.wav", 1500, 0.08); FireSMG(12, 0, "ogre/ak74.wav", 1500, 0.08);
else if (weap == IID_WP_GREASEGUN_S) else if (weap == IID_WP_GREASEGUN_S)
FireSMG(12, 0, "weapons/smg_s.wav", 1500, 0.10); FireSMG(12, 0, "weapons/smg_s.wav", 1500, 0.10);
else if (weap == IID_WP_MP9_S) else if (weap == IID_WP_MP9_S)
@ -1639,13 +1639,13 @@ void() W_Attack =
else if (weap == IID_WP_AK112) else if (weap == IID_WP_AK112)
FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095); FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095);
else if (weap == IID_WP_AK112_M) else if (weap == IID_WP_AK112_M)
FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095); FireAssaultRifle(16, 10, "weapons/lsw.wav", 5000, 0.10);
else if (weap == IID_WP_ACR) else if (weap == IID_WP_ACR)
FireAssaultRifle(45, 7, "weapons/amr.wav", 9000, 0.1); FireAssaultRifle(35, 7, "weapons/bozar.wav", 9000, 0.1);
else if (weap == IID_WP_AK74) else if (weap == IID_WP_AK74)
FireAssaultRifle(45, 12, "ogre/ak47.wav", 3500, 0.090); FireAssaultRifle(45, 12, "ogre/ak47.wav", 3500, 0.090);
else if (weap == IID_WP_DKS1) else if (weap == IID_WP_DKS1)
FireAssaultRifle(40, 3, "weapons/dks-1.wav", 8000, 0.2); FireAssaultRifle(35, 3, "weapons/dks-1.wav", 8000, 0.2);
else if (weap == IID_WP_MOONLIGHT && self.zoom == 0) else if (weap == IID_WP_MOONLIGHT && self.zoom == 0)
FireAssaultRifle(16, 10, "weapons/m4-nw.wav", 4000, 0.09); FireAssaultRifle(16, 10, "weapons/m4-nw.wav", 4000, 0.09);
else if (weap == IID_WP_MOONLIGHT && self.zoom == 1) else if (weap == IID_WP_MOONLIGHT && self.zoom == 1)
@ -1762,11 +1762,7 @@ void() CheatCommand =
local float x; local float x;
local string y; local string y;
self.islot17 = SlotVal(IID_MISC_CHEMICALS, 50); self.ammo_shells = 900;
self.islot18 = SlotVal(IID_MISC_NUKACOLA, 50);
self.islot19 = SlotVal(IID_MISC_AEROSOL, 50);
self.islot20 = SlotVal(IID_MISC_GUM, 50);
self.islot10 = SlotVal(IID_WP_ACR, 1);
}; };
/* /*
@ -3027,7 +3023,7 @@ void (float dam, float ap, string snd, float rng, float rate) FireSMG =
if (self.velocity == '0 0 0') if (self.velocity == '0 0 0')
tmp = tmp + (15*self.recoil); tmp = tmp + (15*self.recoil);
else else
tmp = tmp + (20*self.recoil); tmp = tmp + (25*self.recoil);
self.attack = self.attack + 1; self.attack = self.attack + 1;
self.recoil = self.recoil + 4; self.recoil = self.recoil + 4;
@ -3293,17 +3289,17 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
} }
} }
if (weap == IID_WP_MOONLIGHT)
{
if (random()<0.5)
sound (self, CHAN_WEAPON, "weapons/moonlight-1.wav", 1, ATTN_NORM);
else
sound (self, CHAN_WEAPON, "weapons/moonlight-2.wav", 1, ATTN_NORM);
}
else else
{ {
if (weap == IID_WP_MOONLIGHT)
{ if (weap == IID_WP_DKS1_S)
if (random()<0.5)
sound (self, CHAN_WEAPON, "weapons/moonlight-1.wav", 1, ATTN_NORM);
else
sound (self, CHAN_WEAPON, "weapons/moonlight-2.wav", 1, ATTN_NORM);
}
else if (weap == IID_WP_DKS1_S)
sound (self, CHAN_WEAPON, "ogre/ak74.wav", 1, ATTN_NORM); sound (self, CHAN_WEAPON, "ogre/ak74.wav", 1, ATTN_NORM);
else else
sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM); sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
@ -3356,8 +3352,7 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
DropAmmo (); DropAmmo ();
makevectors (self.v_angle); makevectors (self.v_angle);
if (self.recoil >= 10)
self.recoil = 10;
if (self.attack == 0) if (self.attack == 0)
{ {
@ -3381,6 +3376,7 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
tmp = accuracy * 10; tmp = accuracy * 10;
xrecoil = dam / 2; xrecoil = dam / 2;
//for the snipers //for the snipers
if (self.position == 2 && self.recoil == 0) if (self.position == 2 && self.recoil == 0)
tmp = tmp * 0.75; tmp = tmp * 0.75;
@ -3390,6 +3386,8 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
self.attack = self.attack + 1; self.attack = self.attack + 1;
self.recoil = self.recoil + xrecoil; self.recoil = self.recoil + xrecoil;
if (self.recoil >= 10)
self.recoil = 10;
if (self.zoom > 0 && weap == IID_WP_G11 && self.attack == 3) if (self.zoom > 0 && weap == IID_WP_G11 && self.attack == 3)
{ {
@ -3417,6 +3415,14 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
if (self.position == 1) if (self.position == 1)
y = y * 0.90; y = y * 0.90;
if (self.position == 2 && weap == IID_WP_AK112_M)
{
if (self.recoil >= 7)
self.recoil = 7;
y = y * 0.10;
tmp = tmp * 0.75;
}
if (random()*3<=2) if (random()*3<=2)
self.driftx = self.driftx + y; self.driftx = self.driftx + y;
else else
@ -3442,7 +3448,7 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
stuffcmd (self, "-attack\n"); stuffcmd (self, "-attack\n");
if (weap == IID_WP_FNFAL && self.zoom == 1) if (weap == IID_WP_FNFAL && self.zoom == 1)
stuffcmd (self, "-attack\n"); stuffcmd (self, "-attack\n");
if (self.zoom > 0 && weap != IID_WP_G11 && weap != IID_WP_MOONLIGHT) if (self.zoom > 0 && weap != IID_WP_G11 && weap != IID_WP_MOONLIGHT && weap != IID_WP_AK112_M)
stuffcmd (self, "-attack\n"); stuffcmd (self, "-attack\n");
if (self.zoom > 0 && weap == IID_WP_G11 && self.attack >= 3 && weap != IID_WP_MOONLIGHT) if (self.zoom > 0 && weap == IID_WP_G11 && self.attack >= 3 && weap != IID_WP_MOONLIGHT)
stuffcmd (self, "-attack\n"); stuffcmd (self, "-attack\n");
@ -6020,10 +6026,10 @@ void (float rec, float number, float dam, float spread, float ran, float auto, s
weap = ToIID(self.(SlotField(self.current_slot))); weap = ToIID(self.(SlotField(self.current_slot)));
var1 = ((random () * 16) * (self.recoil)); var1 = ((random () * 12) * (self.recoil));
var2 = ((random () * 16) * (self.recoil)); var2 = ((random () * 12) * (self.recoil));
var3 = ((random () * 16) * (self.recoil)); var3 = ((random () * 12) * (self.recoil));
var4 = ((random () * 16) * (self.recoil)); var4 = ((random () * 12) * (self.recoil));
if (self.position == 0) if (self.position == 0)
player_single1 (); player_single1 ();
@ -6214,6 +6220,8 @@ void (string color) ZoomInLarge =
if (color == "red") if (color == "red")
stuffcmd (self, "v_cshift 100 0 0 50\n"); stuffcmd (self, "v_cshift 100 0 0 50\n");
if (color == "pink")
stuffcmd (self, "v_cshift 100 0 25 50\n");
if (color == "blue") if (color == "blue")
stuffcmd (self, "v_cshift 0 0 100 75\n"); stuffcmd (self, "v_cshift 0 0 100 75\n");
if (color == "green") if (color == "green")
@ -6235,6 +6243,8 @@ void (string color) ZoomInSmall =
if (color == "red") if (color == "red")
stuffcmd (self, "v_cshift 100 0 0 50\n"); stuffcmd (self, "v_cshift 100 0 0 50\n");
if (color == "pink")
stuffcmd (self, "v_cshift 100 0 25 50\n");
if (color == "blue") if (color == "blue")
stuffcmd (self, "v_cshift 0 0 100 75\n"); stuffcmd (self, "v_cshift 0 0 100 75\n");
if (color == "green") if (color == "green")
@ -6269,6 +6279,8 @@ void () ZoomIn =
ZoomInLarge("purple"); ZoomInLarge("purple");
if (weap == IID_WP_ACR) if (weap == IID_WP_ACR)
ZoomInLarge("pink"); ZoomInLarge("pink");
if (weap == IID_WP_AK112_M)
ZoomInSmall("pink");
if (weap == IID_WP_DKS1_S) if (weap == IID_WP_DKS1_S)
ZoomInLarge("purple"); ZoomInLarge("purple");
if (weap == IID_WP_FNFAL) if (weap == IID_WP_FNFAL)

View file

@ -703,7 +703,7 @@ if (coop == 1) // Players vs Monsters
sound (world, CHAN_BODY, "misc/menu3.wav", 1, ATTN_NONE); sound (world, CHAN_BODY, "misc/menu3.wav", 1, ATTN_NONE);
} }
else if (hdead >= 2) //hostages killed else if (hdead > hcount) //hostages killed
{ {
if (endgame_timer == 0) if (endgame_timer == 0)
bprint(2, "^4** ^bTHE HOSTAGES WERE KILLED!!!^b **\n"); bprint(2, "^4** ^bTHE HOSTAGES WERE KILLED!!!^b **\n");
@ -1954,6 +1954,7 @@ void() worldspawn =
precache_model ("progs/v_rangem.mdl"); precache_model ("progs/v_rangem.mdl");
precache_model ("progs/v_pipe.mdl"); precache_model ("progs/v_pipe.mdl");
precache_model ("progs/v_bozar.mdl"); precache_model ("progs/v_bozar.mdl");
precache_model ("progs/v_lsw.mdl");
precache_model ("progs/v_double.mdl"); precache_model ("progs/v_double.mdl");
precache_model ("progs/v_combat.mdl"); precache_model ("progs/v_combat.mdl");
precache_model ("progs/v_mp9.mdl"); precache_model ("progs/v_mp9.mdl");
@ -2084,6 +2085,7 @@ void() worldspawn =
precache_sound ("weapons/smoke.wav"); precache_sound ("weapons/smoke.wav");
precache_sound ("weapons/energy2.wav"); precache_sound ("weapons/energy2.wav");
precache_sound ("misc/hosdie1.wav"); precache_sound ("misc/hosdie1.wav");
precache_sound ("misc/hosdie2.wav"); precache_sound ("misc/hosdie2.wav");
precache_sound ("misc/hosdown.wav"); precache_sound ("misc/hosdown.wav");
@ -2137,6 +2139,7 @@ void() worldspawn =
precache_sound ("weapons/moonlight-2.wav"); precache_sound ("weapons/moonlight-2.wav");
precache_sound ("weapons/needler.wav"); precache_sound ("weapons/needler.wav");
precache_sound ("weapons/bozar.wav"); precache_sound ("weapons/bozar.wav");
precache_sound ("weapons/lsw.wav");
precache_sound ("weapons/amr.wav"); precache_sound ("weapons/amr.wav");
precache_sound ("weapons/smg_s.wav"); precache_sound ("weapons/smg_s.wav");
precache_sound ("weapons/shotgun1.wav"); precache_sound ("weapons/shotgun1.wav");