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 take, severity, helm;
local string attackerteam, targteam;
local string info1, info2;
if (!targ.takedamage)
return;
@ -535,6 +535,7 @@ take = damage;
}
targ.health = targ.health - take;
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('11 12 0'*IMGSIZEK, 23);
SlotImageSmall('13 12 0'*IMGSIZEK, 24);
check = getstati(97);
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));
@ -756,7 +766,36 @@ else if (slotnum == 99)
}
// drawfill(mousepos, '8 8 0', '0 0 0', 0.7);
// drawstring(mousepos, "^", '8 8 0', '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 =

View file

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

View file

@ -681,13 +681,13 @@ string(float iid) GetItemVModel =
if (iid == IID_WP_JACKHAMMER)
return "progs/v_jackhammer.mdl";
if (iid == IID_WP_GREASEGUN)
return "progs/v_mp9.mdl";
return "progs/v_smg.mdl";
if (iid == IID_WP_MP9)
return "progs/v_smg.mdl";
if (iid == IID_WP_GREASEGUN_S)
return "progs/v_mp9.mdl";
if (iid == IID_WP_MP9_S)
if (iid == IID_WP_GREASEGUN_S)
return "progs/v_smg.mdl";
if (iid == IID_WP_MP9_S)
return "progs/v_mp9.mdl";
if (iid == IID_WP_RANGEMASTER)
return "progs/v_rangem.mdl";
if (iid == IID_WP_RANGEMASTER_SCOPE)
@ -707,7 +707,7 @@ string(float iid) GetItemVModel =
if (iid == IID_WP_FNFAL)
return "progs/v_fnfal.mdl";
if (iid == IID_WP_AK112_M)
return "progs/v_ak47.mdl";
return "progs/v_lsw.mdl";
if (iid == IID_WP_G11)
return "progs/v_g11.mdl";
@ -916,7 +916,7 @@ float(float iid) WeaponAmmoType =
if (iid == IID_WP_AK47)
return IID_AM_WARSAW;
if (iid == IID_WP_AK112_M)
return IID_AM_5MMHIGHVEL;
return IID_AM_556MM;
if (iid == IID_WP_AK74)
return IID_AM_WARSAW;
if (iid == IID_WP_ACR)
@ -993,7 +993,7 @@ float(float iid) WeaponMagQuant =
if (iid == IID_WP_AK112)
return 24;
if (iid == IID_WP_AK112_M)
return 90;
return 100;
if (iid == IID_WP_AK74)
return 30;
if (iid == IID_WP_ACR)
@ -1077,7 +1077,7 @@ float(float iid) GetItemWeight =
if (iid == IID_WP_AK47)
return 6;
if (iid == IID_WP_AK112_M)
return 7;
return 8;
if (iid == IID_WP_AK74)
return 5;
if (iid == IID_WP_ACR)
@ -1206,7 +1206,7 @@ string(float iid) GetItemName =
if (iid == IID_WP_WINCHESTER)
return "winchester (12g)";
if (iid == IID_WP_MOSSBERG)
return "mossberg (12g)";
return "citykiller (12g)";
if (iid == IID_WP_JACKHAMMER)
return "jackhammer (12g)";
if (iid == IID_WP_GREASEGUN)
@ -1222,7 +1222,7 @@ string(float iid) GetItemName =
if (iid == IID_WP_AK112)
return "ak-112 (5mm jhp)";
if (iid == IID_WP_AK112_M)
return "ak-112 (extended magazine)";
return "light support weapon (5.56mm)";
if (iid == IID_WP_AK74)
return "ak-47 (7.62mm warsaw pact)";
if (iid == IID_WP_ACR)
@ -1707,9 +1707,9 @@ string(float iid) GetItemDesc =
if (iid == IID_WP_AK112)
return "a common assault rifle with extreme durability";
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)
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)
return ".308 sniper rifle, silenced for stealth-ops";
if (iid == IID_WP_DKS1)
@ -1733,7 +1733,7 @@ string(float iid) GetItemDesc =
if (iid == IID_WP_LASERGATLING)
return "quite simply, the ultimate in heavy firepower";
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)
@ -1784,7 +1784,7 @@ string(float iid) GetItemDesc =
if (iid == IID_ARM_METAL)
return "gives great protection at a sacrifice to speed.";
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)
return "this all-purpose armor is designed for combat missions.";
if (iid == IID_ARM_SEVA)
@ -2180,7 +2180,7 @@ string(float iid) GetItemImage =
if (iid == IID_WP_AK112)
return "ak112.png";
if (iid == IID_WP_AK112_M)
return "ak112.png";
return "lsw.png";
if (iid == IID_WP_AK74)
return "ak47.jpg";
if (iid == IID_WP_ACR)

View file

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

View file

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

View file

@ -911,6 +911,13 @@ void() misc_noisemaker =
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');
self.movetype = MOVETYPE_BOUNCE;
self.velocity_z = -200;
@ -925,111 +932,35 @@ void() brotherhood_merchant =
self.nextthink = time + 0.5;
if (random()*100 < 33)
{
self.xslot1 = SlotVal(IID_WP_GREASEGUN, 1);
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_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);
}
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_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_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.xslot12 = SlotVal(IID_ARM_METAL, 1);
else
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.xslot13 = SlotVal(IID_ARM_TESLA, 1);
self.xslot14 = SlotVal(IID_CHEM_STIMPACK, 1);
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);
@ -1081,11 +1012,17 @@ void() brotherhood_soldier =
self.xslot6 = SlotVal(IID_AM_556MM, 30);
self.xslot7 = SlotVal(IID_AM_ENERGYCELL, 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.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.think = shop_face;
self.nextthink = time + 0.5;
};
void() brotherhood_guard =

View file

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

View file

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

View file

@ -199,7 +199,7 @@ void(float damage, float dist, float rate) FireMelee =
if (dot < 0.5 && trace_ent.takedamage)
{
tdam = 10 + (15*self.skill_sneak);
tdam = 25 + (30*self.skill_sneak);
if (getperk(7))
tdam = tdam * 2;
@ -1595,29 +1595,29 @@ void() W_Attack =
else if (weap == IID_WP_DEAGLE_M)
FirePistol(18, 9, "weapons/deagle.wav", 3000, 0.1);
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)
FirePistol(12, 6, "weapons/glock.wav", 2000, 0.1);
else if (weap == IID_WP_GLOCK_S)
FirePistol(10, 6, "weapons/smg_s.wav", 2000, 0.1);
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)
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)
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)
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)
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)
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)
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)
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)
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)
FireAssaultRifle(35, 3, "weapons/moonlight1.wav", 5000, 0.25);
else if (weap == IID_WP_WINCHESTER)
@ -1627,9 +1627,9 @@ 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/mp7.wav", 1500, 0.10);
FireSMG(14, 0, "weapons/mp5.wav", 1500, 0.10);
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)
FireSMG(12, 0, "weapons/smg_s.wav", 1500, 0.10);
else if (weap == IID_WP_MP9_S)
@ -1639,13 +1639,13 @@ void() W_Attack =
else if (weap == IID_WP_AK112)
FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095);
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)
FireAssaultRifle(45, 7, "weapons/amr.wav", 9000, 0.1);
FireAssaultRifle(35, 7, "weapons/bozar.wav", 9000, 0.1);
else if (weap == IID_WP_AK74)
FireAssaultRifle(45, 12, "ogre/ak47.wav", 3500, 0.090);
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)
FireAssaultRifle(16, 10, "weapons/m4-nw.wav", 4000, 0.09);
else if (weap == IID_WP_MOONLIGHT && self.zoom == 1)
@ -1762,11 +1762,7 @@ void() CheatCommand =
local float x;
local string y;
self.islot17 = SlotVal(IID_MISC_CHEMICALS, 50);
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);
self.ammo_shells = 900;
};
/*
@ -3027,7 +3023,7 @@ void (float dam, float ap, string snd, float rng, float rate) FireSMG =
if (self.velocity == '0 0 0')
tmp = tmp + (15*self.recoil);
else
tmp = tmp + (20*self.recoil);
tmp = tmp + (25*self.recoil);
self.attack = self.attack + 1;
self.recoil = self.recoil + 4;
@ -3293,9 +3289,6 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
}
}
else
{
if (weap == IID_WP_MOONLIGHT)
{
if (random()<0.5)
@ -3303,7 +3296,10 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
else
sound (self, CHAN_WEAPON, "weapons/moonlight-2.wav", 1, ATTN_NORM);
}
else if (weap == IID_WP_DKS1_S)
else
{
if (weap == IID_WP_DKS1_S)
sound (self, CHAN_WEAPON, "ogre/ak74.wav", 1, ATTN_NORM);
else
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 ();
makevectors (self.v_angle);
if (self.recoil >= 10)
self.recoil = 10;
if (self.attack == 0)
{
@ -3381,6 +3376,7 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
tmp = accuracy * 10;
xrecoil = dam / 2;
//for the snipers
if (self.position == 2 && self.recoil == 0)
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.recoil = self.recoil + xrecoil;
if (self.recoil >= 10)
self.recoil = 10;
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)
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)
self.driftx = self.driftx + y;
else
@ -3442,7 +3448,7 @@ void (float dam, float accuracy, string snd, float rng, float rate) FireAssaultR
stuffcmd (self, "-attack\n");
if (weap == IID_WP_FNFAL && self.zoom == 1)
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");
if (self.zoom > 0 && weap == IID_WP_G11 && self.attack >= 3 && weap != IID_WP_MOONLIGHT)
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)));
var1 = ((random () * 16) * (self.recoil));
var2 = ((random () * 16) * (self.recoil));
var3 = ((random () * 16) * (self.recoil));
var4 = ((random () * 16) * (self.recoil));
var1 = ((random () * 12) * (self.recoil));
var2 = ((random () * 12) * (self.recoil));
var3 = ((random () * 12) * (self.recoil));
var4 = ((random () * 12) * (self.recoil));
if (self.position == 0)
player_single1 ();
@ -6214,6 +6220,8 @@ void (string color) ZoomInLarge =
if (color == "red")
stuffcmd (self, "v_cshift 100 0 0 50\n");
if (color == "pink")
stuffcmd (self, "v_cshift 100 0 25 50\n");
if (color == "blue")
stuffcmd (self, "v_cshift 0 0 100 75\n");
if (color == "green")
@ -6235,6 +6243,8 @@ void (string color) ZoomInSmall =
if (color == "red")
stuffcmd (self, "v_cshift 100 0 0 50\n");
if (color == "pink")
stuffcmd (self, "v_cshift 100 0 25 50\n");
if (color == "blue")
stuffcmd (self, "v_cshift 0 0 100 75\n");
if (color == "green")
@ -6269,6 +6279,8 @@ void () ZoomIn =
ZoomInLarge("purple");
if (weap == IID_WP_ACR)
ZoomInLarge("pink");
if (weap == IID_WP_AK112_M)
ZoomInSmall("pink");
if (weap == IID_WP_DKS1_S)
ZoomInLarge("purple");
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);
}
else if (hdead >= 2) //hostages killed
else if (hdead > hcount) //hostages killed
{
if (endgame_timer == 0)
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_pipe.mdl");
precache_model ("progs/v_bozar.mdl");
precache_model ("progs/v_lsw.mdl");
precache_model ("progs/v_double.mdl");
precache_model ("progs/v_combat.mdl");
precache_model ("progs/v_mp9.mdl");
@ -2084,6 +2085,7 @@ void() worldspawn =
precache_sound ("weapons/smoke.wav");
precache_sound ("weapons/energy2.wav");
precache_sound ("misc/hosdie1.wav");
precache_sound ("misc/hosdie2.wav");
precache_sound ("misc/hosdown.wav");
@ -2137,6 +2139,7 @@ void() worldspawn =
precache_sound ("weapons/moonlight-2.wav");
precache_sound ("weapons/needler.wav");
precache_sound ("weapons/bozar.wav");
precache_sound ("weapons/lsw.wav");
precache_sound ("weapons/amr.wav");
precache_sound ("weapons/smg_s.wav");
precache_sound ("weapons/shotgun1.wav");