mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-11 07:01:43 +00:00
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3465 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
c8635934a6
commit
4677f8a644
11 changed files with 811 additions and 593 deletions
|
@ -1132,7 +1132,7 @@ void() WaterMove =
|
|||
else
|
||||
self.dmgtime = time + 0.2;
|
||||
|
||||
T_Damage (self, world, world, 10*self.waterlevel);
|
||||
self.radiation = self.radiation + (1*self.waterlevel);
|
||||
}
|
||||
}
|
||||
else if (self.watertype == CONTENT_SLIME)
|
||||
|
@ -1140,7 +1140,8 @@ void() WaterMove =
|
|||
if (self.dmgtime < time && self.rage != IID_CHEM_RADX)
|
||||
{
|
||||
self.dmgtime = time + 1;
|
||||
T_Damage (self, world, world, 4*self.waterlevel);
|
||||
|
||||
self.radiation = self.radiation + ((1*self.waterlevel)/2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2074,9 +2075,9 @@ void() ClientConnect =
|
|||
stuffcmd(self, "alias stimpack impulse 225\n");
|
||||
stuffcmd(self, "alias equip \"cmd invuse 4\"\n");
|
||||
stuffcmd(self, "alias q1 \"cmd invuse 5\"\n");
|
||||
stuffcmd(self, "alias q2 \"cmd invuse 6\"\n");
|
||||
stuffcmd(self, "alias q2 \"cmd invuse 11\"\n");
|
||||
stuffcmd(self, "alias quick1 \"cmd invuse 5\"\n");
|
||||
stuffcmd(self, "alias quick2 \"cmd invuse 6\"\n");
|
||||
stuffcmd(self, "alias quick2 \"cmd invuse 11\"\n");
|
||||
|
||||
stuffcmd(self, "alias toolkit \"cmd invswap toolkit 2;impulse 2\"\n");
|
||||
|
||||
|
|
|
@ -311,6 +311,8 @@ void(string arg1, string arg2) Cmd_GainPerk =
|
|||
self.perk1 = 9;
|
||||
if (arg1 == "10")
|
||||
self.perk1 = 10;
|
||||
if (arg1 == "11")
|
||||
self.perk1 = 11;
|
||||
}
|
||||
if (arg2 == "2")
|
||||
{
|
||||
|
@ -334,6 +336,8 @@ void(string arg1, string arg2) Cmd_GainPerk =
|
|||
self.perk2 = 9;
|
||||
if (arg1 == "10")
|
||||
self.perk2 = 10;
|
||||
if (arg1 == "11")
|
||||
self.perk2 = 11;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -599,22 +603,22 @@ void(string arg1) Cmd_InvMix =
|
|||
DecreaseDestroySlot(23);
|
||||
DecreaseDestroySlot(24);
|
||||
|
||||
if (random()*100 > (self.skill_science*8))
|
||||
if (random()*100 > (self.skill_science*20))
|
||||
{
|
||||
sprint(self, PRINT_MEDIUM, "your concoction exploded!\n");
|
||||
Explosion();
|
||||
return;
|
||||
}
|
||||
|
||||
if (random()*100 < ((self.skill_science*8) - 100))
|
||||
if (random()*100 < ((self.skill_science*20) - 100))
|
||||
{
|
||||
sprint(self, PRINT_MEDIUM, "2 grenades created!\n");
|
||||
sprint(self, PRINT_MEDIUM, "3 nuka bombs created!\n");
|
||||
sound (self, CHAN_BODY, "misc/yourturn.wav", 1, ATTN_NORM);
|
||||
TryGiveStackable(self, IID_GREN_FRAG, 2);
|
||||
TryGiveStackable(self, IID_GREN_FRAG, 3);
|
||||
return;
|
||||
}
|
||||
TryGiveStackable(self, IID_GREN_FRAG, 1);
|
||||
sprint(self, PRINT_MEDIUM, "1 grenade created\n");
|
||||
sprint(self, PRINT_MEDIUM, "1 nuka bomb created\n");
|
||||
sound (self, CHAN_BODY, "misc/item1.wav", 1, ATTN_NORM);
|
||||
}
|
||||
else if ((iid1 == IID_MISC_CHEMICALS && iid2 == IID_MISC_RDXCRYSTAL) ||
|
||||
|
|
|
@ -115,7 +115,7 @@ This should be the only function that ever reduces health.
|
|||
void(entity targ, entity inflictor, entity attacker, float damage) T_Damage =
|
||||
{
|
||||
local entity oldself;
|
||||
local float save, dm;
|
||||
local float save, dm, radpenalty;
|
||||
local float take, severity, helm;
|
||||
local string attackerteam, targteam;
|
||||
local string info1, info2;
|
||||
|
@ -137,6 +137,15 @@ void(entity targ, entity inflictor, entity attacker, float damage) T_Damage =
|
|||
if (targ.classname == "player")
|
||||
damage = floor(damage * 0.60);*/
|
||||
|
||||
if (targ.radiation > 0)
|
||||
{
|
||||
radpenalty = 1 + (targ.radiation/100);
|
||||
|
||||
if (radpenalty > 1.25)
|
||||
radpenalty = 1.25;
|
||||
|
||||
damage = damage * radpenalty;
|
||||
}
|
||||
|
||||
//getting hurt is slightly painful to the score, play cautiously!
|
||||
if (attacker.classname == "monster" && targ.classname == "player")
|
||||
|
@ -449,31 +458,31 @@ take = damage;
|
|||
switch(ToIID(targ.islot3))
|
||||
{
|
||||
case IID_ARM_DESERT:
|
||||
take -= 2;
|
||||
take -= 1;
|
||||
break;
|
||||
case IID_ARM_LEATHER:
|
||||
take -= 3;
|
||||
take -= 2;
|
||||
break;
|
||||
case IID_ARM_VANDAL:
|
||||
take -= 5;
|
||||
take -= 3;
|
||||
break;
|
||||
case IID_ARM_METAL:
|
||||
take -= 1;
|
||||
break;
|
||||
case IID_ARM_TESLA:
|
||||
take -= 6;
|
||||
take -= 5;
|
||||
break;
|
||||
case IID_ARM_COMBAT:
|
||||
take -= 6;
|
||||
break;
|
||||
case IID_ARM_SEVA:
|
||||
take -= 6;
|
||||
take -= 5;
|
||||
break;
|
||||
case IID_ARM_FORCE:
|
||||
take -= 9;
|
||||
break;
|
||||
case IID_ARM_LPOWER:
|
||||
take -= 10;
|
||||
take -= 8;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -485,7 +494,7 @@ take = damage;
|
|||
take = take * 0.80;
|
||||
break;
|
||||
case IID_ARM_VANDAL:
|
||||
take = take * 0.70;
|
||||
take = take * 0.65;
|
||||
break;
|
||||
case IID_ARM_METAL:
|
||||
take = take * 0.40;
|
||||
|
|
|
@ -14,6 +14,8 @@ float scrheight;
|
|||
vector mousepos;
|
||||
|
||||
float showcontextmenu;
|
||||
float showmixmenu;
|
||||
|
||||
vector contextpos;
|
||||
|
||||
float slotnum; //the current slot under the mousecursor
|
||||
|
@ -121,6 +123,53 @@ void(vector pos, float slotno) SlotImage =
|
|||
drawstring(pos + IMGSIZEV - '0 8 0' - '8 0 0'*it, itname, '8 8 8', '1 1 1', 1);
|
||||
};
|
||||
|
||||
void(vector pos, float slotno, vector imgsize) SlotImageBig =
|
||||
{
|
||||
local float it, mod_s, mod_e;
|
||||
local string itname;
|
||||
|
||||
|
||||
if (slotno == downslotnum && slotnum)
|
||||
slotno = slotnum;
|
||||
else if (slotno == slotnum && downslotnum)
|
||||
slotno = downslotnum;
|
||||
|
||||
if (slotno <= 16)
|
||||
it = getstati(31+slotno);
|
||||
else
|
||||
{
|
||||
if (slotno == 17)
|
||||
it = getstati(91);
|
||||
if (slotno == 18)
|
||||
it = getstati(92);
|
||||
if (slotno == 19)
|
||||
it = getstati(93);
|
||||
if (slotno == 20)
|
||||
it = getstati(94);
|
||||
if (slotno == 21)
|
||||
it = getstati(95);
|
||||
if (slotno == 22)
|
||||
it = getstati(96);
|
||||
if (slotno == 23)
|
||||
it = getstati(97);
|
||||
if (slotno == 24)
|
||||
it = getstati(98);
|
||||
if (slotno == 25)
|
||||
it = getstati(104);
|
||||
if (slotno == 26)
|
||||
it = getstati(105);
|
||||
}
|
||||
|
||||
itname = GetItemImage(ToIID(it));
|
||||
drawpic(pos, strcat("gui/weapons/", itname), imgsize, '1 1 1', 1);
|
||||
|
||||
it = ToStatus(it);
|
||||
if (it <= 1)
|
||||
return;
|
||||
itname = ftos(it);
|
||||
it = strlen(itname);
|
||||
drawstring(pos + IMGSIZEV - '0 8 0' - '8 0 0'*it, itname, '8 8 8', '1 1 1', 1);
|
||||
};
|
||||
|
||||
|
||||
void(vector pos, float slotno) SlotImageSmall =
|
||||
|
@ -492,7 +541,7 @@ void() Trader_Draw =
|
|||
|
||||
if (slotnum <= 20)
|
||||
it = getstati(70+slotnum);
|
||||
itname = GetItemDesc(ToIID(it));
|
||||
itname = GetItemName(ToIID(it));
|
||||
drawstring('32 16 0', itname, '8 8 0', '1 1 1', 1);
|
||||
|
||||
price = GetBaseValue(ToIID(it));
|
||||
|
@ -513,30 +562,30 @@ void() Perks_Draw =
|
|||
{
|
||||
local string perki, perk2i, p1, p2;
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/perks.png", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/perks.png", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
|
||||
|
||||
if (mousepos_y >= 2.0*IMGSIZEF && mousepos_y <= 4*IMGSIZEF)
|
||||
if (mousepos_y >= 2.0*IMGSIZEF*(scrwidth/640) && mousepos_y <= 4*IMGSIZEF*(scrwidth/640))
|
||||
{
|
||||
if (mousepos_x >= 3*IMGSIZEF && mousepos_x <= 5.5*IMGSIZEF)
|
||||
if (mousepos_x >= 3*IMGSIZEF*(scrwidth/640) && mousepos_x <= 5.5*IMGSIZEF*(scrwidth/640))
|
||||
selected_class = 8;
|
||||
else if (mousepos_x >= 6*IMGSIZEF && mousepos_x <= 7.5*IMGSIZEF)
|
||||
else if (mousepos_x >= 6*IMGSIZEF*(scrwidth/640) && mousepos_x <= 7.5*IMGSIZEF*(scrwidth/640))
|
||||
selected_class = 9;
|
||||
else
|
||||
selected_class = 0;
|
||||
}
|
||||
else if (mousepos_y >= 390 && mousepos_y <= 425)
|
||||
else if (mousepos_y >= 390*(scrwidth/640) && mousepos_y <= 425*(scrwidth/640))
|
||||
{
|
||||
|
||||
|
||||
if (mousepos_x >= 300 && mousepos_x <= 335)
|
||||
if (mousepos_x >= 300*(scrwidth/640) && mousepos_x <= 335*(scrwidth/640))
|
||||
selected_class = 5;
|
||||
else if (mousepos_x >= 350 && mousepos_x <= 385)
|
||||
else if (mousepos_x >= 350*(scrwidth/640) && mousepos_x <= 385*(scrwidth/640))
|
||||
selected_class = 6;
|
||||
|
||||
else if (mousepos_x >= 400 && mousepos_x <= 435)
|
||||
else if (mousepos_x >= 400*(scrwidth/640) && mousepos_x <= 435*(scrwidth/640))
|
||||
selected_class = 7;
|
||||
else
|
||||
selected_class = 0;
|
||||
|
@ -548,15 +597,14 @@ void() Perks_Draw =
|
|||
perk2i = GetPerkImage(getstati(59));
|
||||
|
||||
|
||||
drawpic('3.5 2 0'*IMGSIZEF, perki, '128 128 0', '1 1 1', 1);
|
||||
|
||||
drawpic('6 2 0'*IMGSIZEF, perk2i, '128 128 0', '1 1 1', 1);
|
||||
drawpic('3.5 2 0'*IMGSIZEF*(scrwidth/640), perki, '128 128 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('6 2 0'*IMGSIZEF*(scrwidth/640), perk2i, '128 128 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
p1 = PerkNameCentered(1, getstati(60));
|
||||
p2 = PerkNameCentered(2, getstati(59));
|
||||
|
||||
drawstring('4 4.5 0'*IMGSIZEF - '45 0 0', p1, '8 8 8', '1 1 1', 1);
|
||||
drawstring('6 4.5 0'*IMGSIZEF - '7 0 0', p2, '8 8 8', '1 1 1', 1);
|
||||
drawstring('4 4.5 0'*IMGSIZEF*(scrwidth/640) - '45 0 0'*(scrwidth/640), p1, '8 8 8'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('6 4.5 0'*IMGSIZEF*(scrwidth/640) - '7 0 0'*(scrwidth/640), p2, '8 8 8'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
|
||||
|
@ -568,42 +616,60 @@ void() Items_Draw =
|
|||
local float it;
|
||||
local string itname;
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/items.png", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/items.png", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (mousepos_y >= 390 && mousepos_y <= 425)
|
||||
if (mousepos_y >= 390*(scrwidth/640) && mousepos_y <= 425*(scrwidth/640))
|
||||
{
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/items.png", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/items.png", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (mousepos_x >= 300 && mousepos_x <= 325)
|
||||
if (mousepos_x >= 300*(scrwidth/640) && mousepos_x <= 325*(scrwidth/640))
|
||||
selected_class = 5;
|
||||
else if (mousepos_x >= 350 && mousepos_x <= 385)
|
||||
else if (mousepos_x >= 350*(scrwidth/640) && mousepos_x <= 385*(scrwidth/640))
|
||||
selected_class = 6;
|
||||
|
||||
else if (mousepos_x >= 400 && mousepos_x <= 435)
|
||||
else if (mousepos_x >= 400*(scrwidth/640) && mousepos_x <= 435*(scrwidth/640))
|
||||
selected_class = 7;
|
||||
else
|
||||
selected_class = 0;
|
||||
}
|
||||
|
||||
SlotImage('3 1.25 0'*IMGSIZEF, 1);
|
||||
SlotImageBig('3 1.25 0'*IMGSIZEF*(scrwidth/640), 1, '180 64 0'*(scrwidth/640));
|
||||
|
||||
SlotImage('3 2.75 0'*IMGSIZEF, 2);
|
||||
SlotImageBig('5.5 2.75 0'*IMGSIZEF*(scrwidth/640), 2, '180 64 0'*(scrwidth/640));
|
||||
|
||||
SlotImage('3 4.25 0'*IMGSIZEF, 3);
|
||||
SlotImageBig('3 3.4 0'*IMGSIZEF*(scrwidth/640), 3, '128 128 0'*(scrwidth/640));
|
||||
|
||||
|
||||
it = getstati(32);
|
||||
itname = GetItemName(ToIID(it));
|
||||
drawstring('4 1.5 0'*IMGSIZEF + '0 0 0', itname, '8 8 0', '1 1 1', 1);
|
||||
drawstring('3 1 0'*IMGSIZEF*(scrwidth/640) + '0 0 0'*(scrwidth/640), itname, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetWeaponDamage(ToIID(it))));
|
||||
drawstring('6 1.5 0'*IMGSIZEF*(scrwidth/640) + '0 8 0'*(scrwidth/640), strcat("damage: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetWeaponRange(ToIID(it))));
|
||||
drawstring('6 1.5 0'*IMGSIZEF*(scrwidth/640) + '0 16 0'*(scrwidth/640), strcat("range: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetItemWeight(ToIID(it))));
|
||||
drawstring('6 1.5 0'*IMGSIZEF*(scrwidth/640) + '0 24 0'*(scrwidth/640), strcat("weight: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
it = getstati(33);
|
||||
itname = GetItemName(ToIID(it));
|
||||
drawstring('4 3 0'*IMGSIZEF + '0 0 0', itname, '8 8 0', '1 1 1', 1);
|
||||
drawstring('5.5 2.5 0'*IMGSIZEF*(scrwidth/640) + '0 0 0'*(scrwidth/640), itname, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetWeaponDamage(ToIID(it))));
|
||||
drawstring('4.5 2.8 0'*IMGSIZEF*(scrwidth/640) + '0 8 0'*(scrwidth/640), strcat("damage: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetWeaponRange(ToIID(it))));
|
||||
drawstring('4.5 2.8 0'*IMGSIZEF*(scrwidth/640) + '0 16 0'*(scrwidth/640), strcat("range: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetItemWeight(ToIID(it))));
|
||||
drawstring('4.5 2.8 0'*IMGSIZEF*(scrwidth/640) + '0 24 0'*(scrwidth/640), strcat("weight: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
it = getstati(34);
|
||||
itname = GetItemName(ToIID(it));
|
||||
drawstring('4 4.5 0'*IMGSIZEF + '0 0 0', itname, '8 8 0', '1 1 1', 1);
|
||||
drawstring('3 5 0'*IMGSIZEF*(scrwidth/640) + '0 0 0'*(scrwidth/640), itname, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetArmorThreshold(ToIID(it))));
|
||||
drawstring('5 4.3 0'*IMGSIZEF*(scrwidth/640) + '0 8 0'*(scrwidth/640), strcat("threshold: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetArmorAbsorb(ToIID(it))));
|
||||
drawstring('5 4.3 0'*IMGSIZEF*(scrwidth/640) + '0 16 0'*(scrwidth/640), strcat("absorb: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
itname = (ftos(GetItemWeight(ToIID(it))));
|
||||
drawstring('5 4.3 0'*IMGSIZEF*(scrwidth/640) + '0 24 0'*(scrwidth/640), strcat("weight: ", itname, "\n"), '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
|
||||
};
|
||||
|
@ -615,55 +681,64 @@ void() GainPerk_Draw =
|
|||
local float it;
|
||||
local string itname, pn, pd;
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/gainperk.png", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/gainperk.png", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (mousepos_y >= 2*IMGSIZEF && mousepos_y <= 3*IMGSIZEF)
|
||||
if (mousepos_y >= 2*IMGSIZEF*(scrwidth/640) && mousepos_y <= 3*IMGSIZEF*(scrwidth/640))
|
||||
{
|
||||
if (mousepos_x >= 2*IMGSIZEF && mousepos_x <= 3*IMGSIZEF)
|
||||
if (mousepos_x >= 2*IMGSIZEF*(scrwidth/640) && mousepos_x <= 3*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 1;
|
||||
else if (mousepos_x >= 3*IMGSIZEF && mousepos_x <= 4*IMGSIZEF)
|
||||
else if (mousepos_x >= 3*IMGSIZEF*(scrwidth/640) && mousepos_x <= 4*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 2;
|
||||
else if (mousepos_x >= 4*IMGSIZEF && mousepos_x <= 5*IMGSIZEF)
|
||||
else if (mousepos_x >= 4*IMGSIZEF*(scrwidth/640) && mousepos_x <= 5*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 3;
|
||||
else if (mousepos_x >= 5*IMGSIZEF && mousepos_x <= 6*IMGSIZEF)
|
||||
else if (mousepos_x >= 5*IMGSIZEF*(scrwidth/640) && mousepos_x <= 6*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 4;
|
||||
else if (mousepos_x >= 6*IMGSIZEF && mousepos_x <= 7*IMGSIZEF)
|
||||
else if (mousepos_x >= 6*IMGSIZEF*(scrwidth/640) && mousepos_x <= 7*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 5;
|
||||
else
|
||||
which_perk = 0;
|
||||
}
|
||||
if (mousepos_y >= 3*IMGSIZEF && mousepos_y <= 4*IMGSIZEF)
|
||||
if (mousepos_y >= 3*IMGSIZEF*(scrwidth/640) && mousepos_y <= 4*IMGSIZEF*(scrwidth/640))
|
||||
{
|
||||
if (mousepos_x >= 2*IMGSIZEF && mousepos_x <= 3*IMGSIZEF)
|
||||
if (mousepos_x >= 2*IMGSIZEF*(scrwidth/640) && mousepos_x <= 3*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 6;
|
||||
else if (mousepos_x >= 3*IMGSIZEF && mousepos_x <= 4*IMGSIZEF)
|
||||
else if (mousepos_x >= 3*IMGSIZEF*(scrwidth/640) && mousepos_x <= 4*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 7;
|
||||
else if (mousepos_x >= 4*IMGSIZEF && mousepos_x <= 5*IMGSIZEF)
|
||||
else if (mousepos_x >= 4*IMGSIZEF*(scrwidth/640) && mousepos_x <= 5*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 8;
|
||||
else if (mousepos_x >= 5*IMGSIZEF && mousepos_x <= 6*IMGSIZEF)
|
||||
else if (mousepos_x >= 5*IMGSIZEF*(scrwidth/640) && mousepos_x <= 6*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 9;
|
||||
else if (mousepos_x >= 6*IMGSIZEF && mousepos_x <= 7*IMGSIZEF)
|
||||
else if (mousepos_x >= 6*IMGSIZEF*(scrwidth/640) && mousepos_x <= 7*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 10;
|
||||
else
|
||||
which_perk = 0;
|
||||
}
|
||||
if (mousepos_y >= 4*IMGSIZEF*(scrwidth/640) && mousepos_y <= 5*IMGSIZEF*(scrwidth/640))
|
||||
{
|
||||
if (mousepos_x >= 2*IMGSIZEF*(scrwidth/640) && mousepos_x <= 3*IMGSIZEF*(scrwidth/640))
|
||||
which_perk = 11;
|
||||
else
|
||||
which_perk = 0;
|
||||
}
|
||||
|
||||
drawpic('2 2 0'*IMGSIZEF, "gui/perks/Support Fire.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('3 2 0'*IMGSIZEF, "gui/perks/Duck And Cover", '64 64 0', '1 1 1', 1);
|
||||
drawpic('4 2 0'*IMGSIZEF, "gui/perks/Harmless.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('5 2 0'*IMGSIZEF, "gui/perks/Stay Low.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('6 2 0'*IMGSIZEF, "gui/perks/Surgical Precision.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('2 2 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Support Fire.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('3 2 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Duck And Cover", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('4 2 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Harmless.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('5 2 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Stay Low.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('6 2 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Surgical Precision.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
drawpic('2 3 0'*IMGSIZEF, "gui/perks/Mutation.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('3 3 0'*IMGSIZEF, "gui/perks/Narrow Escape.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('4 3 0'*IMGSIZEF, "gui/perks/Schizophrenia.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('5 3 0'*IMGSIZEF, "gui/perks/Sleep Tight.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('6 3 0'*IMGSIZEF, "gui/perks/Economic Moves.png", '64 64 0', '1 1 1', 1);
|
||||
drawpic('2 3 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Mutation.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('3 3 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Narrow Escape.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('4 3 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Schizophrenia.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('5 3 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Sleep Tight.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawpic('6 3 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Economic Moves.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
drawpic('2 4 0'*IMGSIZEF*(scrwidth/640), "gui/perks/Nuclear Man.png", '64 64 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
pn = PerkName(1, which_perk);
|
||||
pd = GetPerkDesc(which_perk);
|
||||
drawstring('32 16 0', pn, '8 8 0', '1 1 1', 1);
|
||||
drawstring('32 32 0', pd, '8 8 0', '1 1 1', 1);
|
||||
drawstring('32 16 0'*(scrwidth/640), pn, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('32 32 0'*(scrwidth/640), pd, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
|
||||
|
@ -681,99 +756,101 @@ void() Pipboy_Draw =
|
|||
|
||||
|
||||
|
||||
if (mousepos_y >= 200 && mousepos_y <= 325)
|
||||
if (mousepos_y >= 200*(scrwidth/640) && mousepos_y <= 325*(scrwidth/640))
|
||||
{
|
||||
if (mousepos_x >= 150 && mousepos_x <= 250)
|
||||
if (mousepos_x >= 150*(scrwidth/640) && mousepos_x <= 250*(scrwidth/640))
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills2.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills2.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 1;
|
||||
}
|
||||
else if (mousepos_x >= 250 && mousepos_x <= 350)
|
||||
else if (mousepos_x >= 250*(scrwidth/640) && mousepos_x <= 350*(scrwidth/640))
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills3.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills3.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 2;
|
||||
}
|
||||
else if (mousepos_x >= 350 && mousepos_x <= 450)
|
||||
else if (mousepos_x >= 350*(scrwidth/640) && mousepos_x <= 450*(scrwidth/640))
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills4.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills4.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 3;
|
||||
}
|
||||
else if (mousepos_x >= 450 && mousepos_x <= 550)
|
||||
else if (mousepos_x >= 450*(scrwidth/640) && mousepos_x <= 550*(scrwidth/640))
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills5.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills5.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 0;
|
||||
}
|
||||
}
|
||||
else if (mousepos_y >= 390 && mousepos_y <= 425)
|
||||
else if (mousepos_y >= 390*(scrwidth/640) && mousepos_y <= 425*(scrwidth/640))
|
||||
{
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (mousepos_x >= 300 && mousepos_x <= 325)
|
||||
if (mousepos_x >= 300*(scrwidth/640) && mousepos_x <= 325*(scrwidth/640))
|
||||
selected_class = 5;
|
||||
else if (mousepos_x >= 350 && mousepos_x <= 375)
|
||||
else if (mousepos_x >= 350*(scrwidth/640) && mousepos_x <= 375*(scrwidth/640))
|
||||
selected_class = 6;
|
||||
|
||||
else if (mousepos_x >= 400 && mousepos_x <= 425)
|
||||
else if (mousepos_x >= 400*(scrwidth/640) && mousepos_x <= 425*(scrwidth/640))
|
||||
selected_class = 7;
|
||||
else
|
||||
selected_class = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/skills1.jpg", '640 480 0'*(scrwidth/640), '1 1 1', 1);
|
||||
selected_class = 0;
|
||||
}
|
||||
|
||||
|
||||
if (selected_class == 1)
|
||||
{
|
||||
drawstring('200 50 0', " combat", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 66 0', "place points into this skill for improved", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 74 0', "handling of weapons, as well as increased", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 82 0', "carry capacity and other aspects of being", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 90 0', "trained in combat.", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 50 0'*(scrwidth/640), " combat", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 66 0'*(scrwidth/640), "place points into this skill for improved", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 74 0'*(scrwidth/640), "handling of weapons, as well as increased", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 82 0'*(scrwidth/640), "carry capacity and other aspects of being", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 90 0'*(scrwidth/640), "trained in combat.", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
}
|
||||
if (selected_class == 2)
|
||||
{
|
||||
drawstring('200 50 0', " doctor", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 66 0', "place points into this skill for improved", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 74 0', "chem use, which substantially affects the", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 82 0', "amount of healing done, as well as all of", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 90 0', "the other aspects of first aid.", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 50 0'*(scrwidth/640), " doctor", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 66 0'*(scrwidth/640), "place points into this skill for improved", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 74 0'*(scrwidth/640), "chem use, which substantially affects the", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 82 0'*(scrwidth/640), "amount of healing done, as well as all of", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 90 0'*(scrwidth/640), "the other aspects of first aid.", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
}
|
||||
if (selected_class == 3)
|
||||
{
|
||||
drawstring('200 50 0', " sneak", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 66 0', "place points into this skill to maximize", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 74 0', "your ability to remain unseen by enemies.", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 82 0', "grants higher sneak ability and how fast", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 90 0', "you can pick locks, among other things.", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 50 0'*(scrwidth/640), " sneak", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 66 0'*(scrwidth/640), "place points into this skill to maximize", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 74 0'*(scrwidth/640), "your ability to remain unseen by enemies.", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 82 0'*(scrwidth/640), "grants higher sneak ability and how fast", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 90 0'*(scrwidth/640), "you can pick locks, among other things.", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
}
|
||||
if (selected_class == 4)
|
||||
{
|
||||
drawstring('200 50 0', " science", '16 16 0', '1 1 1', 1);
|
||||
drawstring('200 66 0', "place points into this skill to increase", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 74 0', "your chances of making useful items from", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 82 0', "junk found in the wasteland. use the mix", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 90 0', "box found in your inventory screen.", '8 8 0', '1 1 1', 1);
|
||||
drawstring('200 50 0'*(scrwidth/640), " science", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 66 0'*(scrwidth/640), "place points into this skill to increase", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 74 0'*(scrwidth/640), "your chances of making useful items from", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 82 0'*(scrwidth/640), "junk found in the wasteland. use the mix", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
drawstring('200 90 0'*(scrwidth/640), "box found in your inventory screen.", '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
bar = 0;
|
||||
lvl = getstati(100);
|
||||
skill = ftos(lvl+1);
|
||||
while (bar <= lvl)
|
||||
{
|
||||
drawpic('210 190 0' - ('0 4 0'*bar), "gui/graph/red.jpg", '16 2 0'*2, '1 1 1', 1);
|
||||
drawpic('210 190 0'*(scrwidth/640) - ('0 4 0'*bar*(scrwidth/640)), "gui/graph/red.jpg", '16 2 0'*2*(scrwidth/640), '1 1 1', 1);
|
||||
bar = bar + 1;
|
||||
}
|
||||
drawstring('220 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
|
||||
drawstring('220 190 0'*(scrwidth/640) - ('0 4 0'*(lvl+4)*(scrwidth/640)), skill, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
bar = 0;
|
||||
|
@ -781,30 +858,30 @@ void() Pipboy_Draw =
|
|||
skill = ftos(lvl+1);
|
||||
while (bar <= lvl)
|
||||
{
|
||||
drawpic('305 190 0' - ('0 4 0'*bar), "gui/graph/green.jpg", '16 2 0'*2, '1 1 1', 1);
|
||||
drawpic('305 190 0'*(scrwidth/640) - ('0 4 0'*bar*(scrwidth/640)), "gui/graph/green.jpg", '16 2 0'*2*(scrwidth/640), '1 1 1', 1);
|
||||
bar = bar + 1;
|
||||
}
|
||||
drawstring('315 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
|
||||
drawstring('315 190 0'*(scrwidth/640) - ('0 4 0'*(lvl+4)*(scrwidth/640)), skill, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
bar = 0;
|
||||
lvl = getstati(102);
|
||||
skill = ftos(lvl+1);
|
||||
while (bar <= lvl)
|
||||
{
|
||||
drawpic('395 190 0' - ('0 4 0'*bar), "gui/graph/blue.jpg", '16 2 0'*2, '1 1 1', 1);
|
||||
drawpic('395 190 0'*(scrwidth/640) - ('0 4 0'*bar*(scrwidth/640)), "gui/graph/blue.jpg", '16 2 0'*2*(scrwidth/640), '1 1 1', 1);
|
||||
bar = bar + 1;
|
||||
}
|
||||
drawstring('405 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
|
||||
drawstring('405 190 0'*(scrwidth/640) - ('0 4 0'*(lvl+4)*(scrwidth/640)), skill, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
bar = 0;
|
||||
lvl = getstati(103);
|
||||
skill = ftos(lvl+1);
|
||||
while (bar <= lvl)
|
||||
{
|
||||
drawpic('485 190 0' - ('0 4 0'*bar), "gui/graph/yellow.jpg", '16 2 0'*2, '1 1 1', 1);
|
||||
drawpic('485 190 0'*(scrwidth/640) - ('0 4 0'*bar*(scrwidth/640)), "gui/graph/yellow.jpg", '16 2 0'*2*(scrwidth/640), '1 1 1', 1);
|
||||
bar = bar + 1;
|
||||
}
|
||||
drawstring('495 190 0' - ('0 4 0'*(lvl+4)), skill, '8 8 0', '1 1 1', 1);
|
||||
drawstring('495 190 0'*(scrwidth/640) - ('0 4 0'*(lvl+4)*(scrwidth/640)), skill, '8 8 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
|
||||
};
|
||||
|
@ -823,117 +900,124 @@ void() Invent_Draw =
|
|||
width = cvar("vid_conwidth");
|
||||
//how much space have we got for the slider?
|
||||
|
||||
drawpic('0 0 0', "gui/pipboy/inventory.jpg", '500 470 0', '1 1 1', 1);
|
||||
drawpic('0 0 0', "gui/pipboy/inventory.jpg", '500 470 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
local float slotofs;
|
||||
slotofs = sliderpos*(height - (IMGSIZEF*6)) + (IMGSIZEF*6);
|
||||
|
||||
|
||||
SlotImage('2 1 0'*IMGSIZEF, 5);
|
||||
SlotImage('2 2 0'*IMGSIZEF, 6);
|
||||
SlotImage('2 3 0'*IMGSIZEF, 7);
|
||||
SlotImage('2 4 0'*IMGSIZEF, 8);
|
||||
SlotImage('2 5 0'*IMGSIZEF, 9);
|
||||
SlotImage('2 6 0'*IMGSIZEF, 10);
|
||||
SlotImage('3 1 0'*IMGSIZEF, 11);
|
||||
SlotImage('3 2 0'*IMGSIZEF, 12);
|
||||
SlotImage('3 3 0'*IMGSIZEF, 13);
|
||||
SlotImage('3 4 0'*IMGSIZEF, 14);
|
||||
SlotImage('3 5 0'*IMGSIZEF, 15);
|
||||
SlotImage('3 6 0'*IMGSIZEF, 16);
|
||||
SlotImage('2 1 0'*IMGSIZEF*(scrwidth/640), 5);
|
||||
SlotImage('2 2 0'*IMGSIZEF*(scrwidth/640), 6);
|
||||
SlotImage('2 3 0'*IMGSIZEF*(scrwidth/640), 7);
|
||||
SlotImage('2 4 0'*IMGSIZEF*(scrwidth/640), 8);
|
||||
SlotImage('2 5 0'*IMGSIZEF*(scrwidth/640), 9);
|
||||
SlotImage('2 6 0'*IMGSIZEF*(scrwidth/640), 10);
|
||||
SlotImage('3 1 0'*IMGSIZEF*(scrwidth/640), 11);
|
||||
SlotImage('3 2 0'*IMGSIZEF*(scrwidth/640), 12);
|
||||
SlotImage('3 3 0'*IMGSIZEF*(scrwidth/640), 13);
|
||||
SlotImage('3 4 0'*IMGSIZEF*(scrwidth/640), 14);
|
||||
SlotImage('3 5 0'*IMGSIZEF*(scrwidth/640), 15);
|
||||
SlotImage('3 6 0'*IMGSIZEF*(scrwidth/640), 16);
|
||||
|
||||
check = getstati(32);
|
||||
if (check > 0)
|
||||
SlotImage('6 1 0'*IMGSIZEF - '16 2 0', 1);
|
||||
SlotImage('6 1 0'*IMGSIZEF*(scrwidth/640) - '16 2 0'*(scrwidth/640), 1);
|
||||
|
||||
|
||||
check = getstati(33);
|
||||
if (check > 0)
|
||||
SlotImage('6 2 0'*IMGSIZEF - '16 -5 0', 2);
|
||||
SlotImage('6 2 0'*IMGSIZEF*(scrwidth/640) - '16 -5 0'*(scrwidth/640), 2);
|
||||
|
||||
|
||||
check = getstati(34);
|
||||
if (check > 0)
|
||||
SlotImage('6 3 0'*IMGSIZEF - '16 -13 0', 3);
|
||||
SlotImage('6 3 0'*IMGSIZEF*(scrwidth/640) - '16 -13 0'*(scrwidth/640), 3);
|
||||
|
||||
check = getstati(35);
|
||||
if (check > 0)
|
||||
SlotImageSmall('1 12.5 0'*IMGSIZEK*(scrwidth/640), 4);
|
||||
|
||||
SlotImageSmall('1 3 0'*IMGSIZEK*(scrwidth/640), 17);
|
||||
SlotImageSmall('1 4 0'*IMGSIZEK*(scrwidth/640), 18);
|
||||
SlotImageSmall('1 5 0'*IMGSIZEK*(scrwidth/640), 19);
|
||||
SlotImageSmall('1 6 0'*IMGSIZEK*(scrwidth/640), 20);
|
||||
SlotImageSmall('1 7 0'*IMGSIZEK*(scrwidth/640), 21);
|
||||
SlotImageSmall('1 8 0'*IMGSIZEK*(scrwidth/640), 22);
|
||||
|
||||
|
||||
|
||||
SlotImageSmall('1 3 0'*IMGSIZEK, 17);
|
||||
SlotImageSmall('1 4 0'*IMGSIZEK, 18);
|
||||
SlotImageSmall('1 5 0'*IMGSIZEK, 19);
|
||||
SlotImageSmall('1 6 0'*IMGSIZEK, 20);
|
||||
SlotImageSmall('1 7 0'*IMGSIZEK, 21);
|
||||
SlotImageSmall('1 8 0'*IMGSIZEK, 22);
|
||||
|
||||
|
||||
SlotImageSmall('1 12.5 0'*IMGSIZEK, 4);
|
||||
|
||||
|
||||
check = getstati(97);
|
||||
if (check > 0)
|
||||
SlotImageSmall('11 12 0'*IMGSIZEK, 23);
|
||||
SlotImageSmall('11 12 0'*IMGSIZEK*(scrwidth/640), 23);
|
||||
|
||||
|
||||
|
||||
check = getstati(98);
|
||||
if (check > 0)
|
||||
SlotImageSmall('13 12 0'*IMGSIZEK, 24);
|
||||
SlotImageSmall('13 12 0'*IMGSIZEK*(scrwidth/640), 24);
|
||||
|
||||
|
||||
if (showcontextmenu && show_inventory)
|
||||
{
|
||||
drawfill(contextpos - '8 8 0', '88 24 0'+'96 96 0', '0 0 0', 0.9);
|
||||
drawfill(contextpos - '8 8 0', '88 24 0'+'32 16 0'*(scrwidth/640), '0 0 0', 1);
|
||||
|
||||
op = floor((mousepos_y - contextpos_y)/8);
|
||||
drawstring(contextpos + (0 * '0 8 0'), "use/reload", '8 8 0', '1 1 0' + (op!=0)*'0 0 1', 1);
|
||||
drawstring(contextpos + (1 * '0 8 0'), "drop", '8 8 0', '1 1 0' + (op!=1)*'0 0 1', 1);
|
||||
drawstring(contextpos + (2 * '0 8 0'), "mix", '8 8 0', '1 1 0' + (op!=2)*'0 0 1', 1);
|
||||
if (getstati(108) == 1)
|
||||
drawstring(contextpos + (3 * '0 8 0'), "sell", '8 8 0', '1 1 0' + (op!=3)*'0 0 1', 1);
|
||||
drawstring(contextpos + (2 * '0 8 0'), "sell", '8 8 0', '1 1 0' + (op!=2)*'0 0 1', 1);
|
||||
|
||||
}
|
||||
else if (showmixmenu && show_inventory)
|
||||
{
|
||||
drawfill(contextpos - '8 8 0', '88 24 0'+'96 96 0', '0 0 0', 0.9);
|
||||
|
||||
op = floor((mousepos_y - contextpos_y)/8);
|
||||
drawstring(contextpos + (0 * '0 8 0'), "mix items", '8 8 0', '1 1 0' + (op!=0)*'0 0 1', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((mousepos_y >= 12.5*IMGSIZEH && mousepos_y <= 13*IMGSIZEH) && mousepos_x <= IMGSIZEF)
|
||||
{
|
||||
slotnum = 4;
|
||||
}
|
||||
else if (mousepos_x >= IMGSIZEF)
|
||||
else if (mousepos_x >= IMGSIZEF*(scrwidth/640) )
|
||||
{
|
||||
slotnum = 0;
|
||||
if (mousepos_x >= 2*IMGSIZEF && mousepos_x <= 3*IMGSIZEF)
|
||||
if (mousepos_y >= 1*IMGSIZEF && mousepos_y <= 7*IMGSIZEF)
|
||||
slotnum = floor((mousepos_y)/IMGSIZEF) + 4;
|
||||
if (mousepos_x >= 2*IMGSIZEF*(scrwidth/640) && mousepos_x <= 3*IMGSIZEF*(scrwidth/640))
|
||||
if (mousepos_y >= 1*IMGSIZEF*(scrwidth/640) && mousepos_y <= 7*IMGSIZEF*(scrwidth/640))
|
||||
slotnum = floor((mousepos_y)/(IMGSIZEF*(scrwidth/640))) + 4;
|
||||
|
||||
if (mousepos_x >= 3*IMGSIZEF && mousepos_x <= 4*IMGSIZEF)
|
||||
if (mousepos_y >= 1*IMGSIZEF && mousepos_y <= 7*IMGSIZEF)
|
||||
slotnum = floor((mousepos_y)/IMGSIZEF) + 10;
|
||||
if (mousepos_x >= 3*IMGSIZEF*(scrwidth/640) && mousepos_x <= 4*IMGSIZEF*(scrwidth/640))
|
||||
if (mousepos_y >= 1*IMGSIZEF*(scrwidth/640) && mousepos_y <= 7*IMGSIZEF*(scrwidth/640))
|
||||
slotnum = floor((mousepos_y)/(IMGSIZEF*(scrwidth/640))) + 10;
|
||||
|
||||
if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF)
|
||||
if (mousepos_y >= 1*IMGSIZEF && mousepos_y <= 2*IMGSIZEF)
|
||||
if (mousepos_x >= 5.5*IMGSIZEF*(scrwidth/640) && mousepos_x <= 6.7*IMGSIZEF*(scrwidth/640))
|
||||
if (mousepos_y >= 1*IMGSIZEF*(scrwidth/640) && mousepos_y <= 2*IMGSIZEF*(scrwidth/640))
|
||||
slotnum = 1;
|
||||
|
||||
if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF)
|
||||
if (mousepos_y >= 2*IMGSIZEF && mousepos_y <= 3*IMGSIZEF)
|
||||
if (mousepos_x >= 5.5*IMGSIZEF*(scrwidth/640) && mousepos_x <= 6.7*IMGSIZEF*(scrwidth/640))
|
||||
if (mousepos_y >= 2*IMGSIZEF*(scrwidth/640) && mousepos_y <= 3*IMGSIZEF*(scrwidth/640))
|
||||
slotnum = 2;
|
||||
|
||||
if (mousepos_x >= 5.5*IMGSIZEF && mousepos_x <= 6.7*IMGSIZEF)
|
||||
if (mousepos_y >= 3*IMGSIZEF && mousepos_y <= 4*IMGSIZEF)
|
||||
if (mousepos_x >= 5.5*IMGSIZEF*(scrwidth/640) && mousepos_x <= 6.7*IMGSIZEF*(scrwidth/640))
|
||||
if (mousepos_y >= 3*IMGSIZEF*(scrwidth/640) && mousepos_y <= 4*IMGSIZEF*(scrwidth/640))
|
||||
slotnum = 3;
|
||||
|
||||
|
||||
|
||||
|
||||
if (mousepos_x >= 10.75*IMGSIZEK && mousepos_x <= 12.25*IMGSIZEK)
|
||||
if (mousepos_y >= 11.75*IMGSIZEK && mousepos_y <= 13.25*IMGSIZEK)
|
||||
if (mousepos_x >= 10.75*IMGSIZEK*(scrwidth/640) && mousepos_x <= 12.25*IMGSIZEK*(scrwidth/640))
|
||||
if (mousepos_y >= 11.75*IMGSIZEK*(scrwidth/640) && mousepos_y <= 13.25*IMGSIZEK*(scrwidth/640))
|
||||
slotnum = 23;
|
||||
if (mousepos_x >= 12.75*IMGSIZEK && mousepos_x <= 14.25*IMGSIZEK)
|
||||
if (mousepos_y >= 11.75*IMGSIZEK && mousepos_y <= 13.25*IMGSIZEK)
|
||||
if (mousepos_x >= 12.75*IMGSIZEK*(scrwidth/640) && mousepos_x <= 14.25*IMGSIZEK*(scrwidth/640))
|
||||
if (mousepos_y >= 11.75*IMGSIZEK*(scrwidth/640) && mousepos_y <= 13.25*IMGSIZEK*(scrwidth/640))
|
||||
slotnum = 24;
|
||||
}
|
||||
else
|
||||
{
|
||||
slotnum = floor((mousepos_y)/IMGSIZEK) + 14;
|
||||
slotnum = floor((mousepos_y)/(IMGSIZEK*(scrwidth/640))) + 14;
|
||||
if (slotnum <= 16)
|
||||
slotnum = 0;
|
||||
if (slotnum >= 25)
|
||||
|
@ -942,7 +1026,7 @@ void() Invent_Draw =
|
|||
// slotnum = floor((mousepos_y - toppos_y)/8) + 1;
|
||||
}
|
||||
|
||||
drawstring('128 0 0', ftos(slotnum), '8 8 0', '1 1 1', 1);
|
||||
|
||||
|
||||
|
||||
if (slotnum <= 24)
|
||||
|
@ -971,24 +1055,16 @@ if (slotnum <= 24)
|
|||
}
|
||||
|
||||
itname = GetItemName(ToIID(it));
|
||||
drawstring('32 16 0', itname, '16 16 0', '1 1 1', 1);
|
||||
drawstring('32 16 0'*(scrwidth/640), itname, '16 16 0'*(scrwidth/640), '1 1 1', 1);
|
||||
}
|
||||
else if (slotnum == 98)
|
||||
{
|
||||
pn = PerkName(1, getstati(60));
|
||||
pd = GetPerkDesc(getstati(60));
|
||||
drawstring('128 32 0', pn, '8 8 0', '1 1 1', 1);
|
||||
drawstring('128 48 0', pd, '8 8 0', '1 1 1', 1);
|
||||
}
|
||||
else if (slotnum == 99)
|
||||
{
|
||||
pn = PerkName(2, getstati(59));
|
||||
pd = GetPerkDesc(getstati(59));
|
||||
drawstring('128 32 0', pn, '8 8 0', '1 1 1', 1);
|
||||
drawstring('128 48 0', pd, '8 8 0', '1 1 1', 1);
|
||||
}
|
||||
// drawfill(mousepos, '8 8 0', '0 0 0', 0.7);
|
||||
// drawstring(mousepos, "^", '8 8 0', '1 1 1', 1);
|
||||
|
||||
|
||||
if (mousepos_x > scrwidth*0.95)
|
||||
mousepos_x = scrwidth*0.95;
|
||||
|
||||
if (mousepos_y > scrheight*0.95)
|
||||
mousepos_y = scrheight*0.95;
|
||||
|
||||
|
||||
if (downslotnum == 0)
|
||||
drawpic(mousepos, "gui/cursor.jpg", '1 1 0'*CURSORSIZE, '1 1 1', 1);
|
||||
|
@ -1103,12 +1179,20 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
|
|||
else if ((op == 1))
|
||||
localcmd(strcat("cmd invdrop ", ftos(slotnum), "\n"));
|
||||
else if (op == 2)
|
||||
localcmd(strcat("cmd invmix ", ftos(slotnum), "\n"));
|
||||
else if ((op == 3) && (getstati(108) == 1))
|
||||
localcmd(strcat("cmd invsell ", ftos(slotnum), "\n"));
|
||||
|
||||
showcontextmenu = false;
|
||||
}
|
||||
else if (showmixmenu && show_inventory)
|
||||
{
|
||||
op = floor((mousepos_y - contextpos_y)/8);
|
||||
|
||||
if (op == 0)
|
||||
localcmd(strcat("cmd invmix ", ftos(slotnum), "\n"));
|
||||
|
||||
|
||||
showmixmenu = false;
|
||||
}
|
||||
else if (showcontextmenu && show_trader)
|
||||
{
|
||||
op = floor((mousepos_y - contextpos_y)/8);
|
||||
|
@ -1134,7 +1218,7 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
|
|||
return;
|
||||
if (which_perk == getstati(59))
|
||||
return;
|
||||
if (which_perk >= 1 && which_perk <= 10)
|
||||
if (which_perk >= 1 && which_perk <= 11)
|
||||
localcmd(strcat("cmd gainperk ", ftos(which_perk), " ", ftos(perkslot), "\n"));
|
||||
show_inventory = false;
|
||||
show_pipboy = false;
|
||||
|
@ -1262,7 +1346,7 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
|
|||
perkslot = 2;
|
||||
}
|
||||
}
|
||||
else if (slotnum >= 1 && slotnum <= 26)
|
||||
else if (slotnum >= 1 && slotnum <= 22)
|
||||
{
|
||||
//if there's actually an item there
|
||||
if ((show_inventory) && (getstati(32+slotnum-1) != 0))
|
||||
|
@ -1276,10 +1360,20 @@ float(float eventtype, float param1, float param2) CSQC_InputEvent =
|
|||
contextpos = mousepos;
|
||||
}
|
||||
}
|
||||
else if (slotnum >= 23 && slotnum <= 24)
|
||||
{
|
||||
//if there's actually an item there
|
||||
if ((show_inventory) && (getstati(97) != 0) && (getstati(98) != 0))
|
||||
{
|
||||
showmixmenu = true; //show the context menu
|
||||
contextpos = mousepos;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
show_inventory = false; //they clicked outside, fools!
|
||||
showcontextmenu = false;
|
||||
showmixmenu = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -5,7 +5,7 @@ float viewmodelindex;
|
|||
|
||||
float scrwidth;
|
||||
float scrheight;
|
||||
|
||||
float scenedraw;
|
||||
|
||||
|
||||
void() DrawScreen =
|
||||
|
@ -51,11 +51,12 @@ void() Crosshair_Draw =
|
|||
|
||||
void() Position_Draw =
|
||||
{
|
||||
float pos, s;
|
||||
float pos, s, lvl;
|
||||
string sn;
|
||||
|
||||
pos = getstati(54);
|
||||
s = getstati(58);
|
||||
lvl = getstati(127);
|
||||
sn = ftos(s);
|
||||
|
||||
if (pos == 0)
|
||||
|
@ -70,6 +71,11 @@ void() Position_Draw =
|
|||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.20)) +('0 1 0'*(scrheight*0.79)), "gui/hud/sneak.png", '0 0 0'+'72 25 0'*(scrwidth/640), '1 1 1');
|
||||
//drawstring('0 0 0'+('1 0 0'*(scrwidth*0.20)) +('0 1 0'*(scrheight*0.80)), strcat("%", sn), '8 8 8', '1 1 1', 1);
|
||||
}
|
||||
|
||||
if (lvl >= 200)
|
||||
{
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.70)) +('0 1 0'*(scrheight*0.80)), "gui/hud/level.png", '0 0 0'+'132 22 0'*(scrwidth/640), '1 1 1');
|
||||
}
|
||||
};
|
||||
|
||||
void() Chem_Draw =
|
||||
|
@ -98,8 +104,8 @@ void() Chem_Draw =
|
|||
|
||||
void() Time_Draw =
|
||||
{
|
||||
local float xtime, ytime, ztime;
|
||||
local string qtime, rtime, shadowtime;
|
||||
local float xtime, ytime, ztime, obj;
|
||||
local string qtime, rtime, shadowtime, text;
|
||||
|
||||
xtime = getstati(104);
|
||||
ytime = floor(xtime/60);
|
||||
|
@ -108,7 +114,22 @@ void() Time_Draw =
|
|||
rtime = ftos(ztime);
|
||||
shadowtime = ftos(getstati(104));
|
||||
|
||||
drawstring('0 32 0'+('1 0 0'*(scrwidth*0.10))+('0 1 0'*(scrheight*0.90)), strcat("[", qtime, ":", rtime, "]\n"), '8 8 8', '1 1 1', 1);
|
||||
drawstring('0 0 0'+('1 0 0'*(scrwidth*0.25))+('0 1 0'*(scrheight*0.86)), strcat("[", qtime, ":", rtime, "]\n"), '8 8 8', '1 1 1', 1);
|
||||
|
||||
|
||||
obj = getstati(66);
|
||||
|
||||
if (obj == 1)
|
||||
text = "rescue citizens\n";
|
||||
if (obj == 2)
|
||||
text = "capture supplies\n";
|
||||
if (obj == 3)
|
||||
text = "assassinate commanders\n";
|
||||
if (obj == 4)
|
||||
text = "rescue citizens\n";
|
||||
|
||||
drawstring('0 0 0'+('1 0 0'*(scrwidth*0.03))+('0 1 0'*(scrheight*0.86)), text, '8 8 8', '1 1 1', 1);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -155,23 +176,18 @@ void() Health_Draw =
|
|||
maxhp = getstati(49);
|
||||
|
||||
bar = 0;
|
||||
top = ceil(150 * (hp/maxhp));
|
||||
top = ceil(115 * (hp/maxhp));
|
||||
|
||||
if (top > 150)
|
||||
top = 150;
|
||||
|
||||
while (bar <= top)
|
||||
{
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.07)) +('0 1 0'*(scrheight*0.75)) - ('0 1 0'*bar*(scrheight/640)), "gui/graph/green.jpg", '0 0 0'+'12 1 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (top > 115)
|
||||
top = 115;
|
||||
|
||||
while (bar < top)
|
||||
bar = bar + 1;
|
||||
}
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.07)) +('0 1 0'*(scrheight*0.75)) + ('0 1 0'*(scrheight/640)), "gui/graph/green.jpg", '16 1 0'*(scrheight/640)-'0 1 0'*(scrwidth/640)*bar, '1 1 1', 1);
|
||||
|
||||
};
|
||||
|
||||
|
||||
void() Radiation_Draw =
|
||||
{
|
||||
local float bar, rad, top;
|
||||
|
@ -179,24 +195,23 @@ void() Radiation_Draw =
|
|||
rad = getstati(106);
|
||||
|
||||
bar = 0;
|
||||
top = ceil(150 * (rad/100));
|
||||
top = ceil(115 * (rad/100));
|
||||
|
||||
if (top > 150)
|
||||
top = 150;
|
||||
|
||||
while (bar <= top)
|
||||
{
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.02)) +('0 1 0'*(scrheight*0.75)) - ('0 1 0'*bar*(scrheight/640)), "gui/graph/yellow.jpg", '0 0 0'+'12 1 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
if (top > 115)
|
||||
top = 115;
|
||||
|
||||
while (bar < top)
|
||||
bar = bar + 1;
|
||||
}
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.02)) +('0 1 0'*(scrheight*0.75)) + ('0 1 0'*(scrheight/640)), "gui/graph/yellow.jpg", '16 1 0'*(scrheight/640)-'0 1 0'*(scrwidth/640)*bar, '1 1 1', 1);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void() DoThatViewModelThing =
|
||||
{
|
||||
float newframe, newmodel;
|
||||
|
@ -241,9 +256,8 @@ void(vector pos, float x) HUD_Image =
|
|||
local string itname;
|
||||
|
||||
|
||||
if (x <= 16)
|
||||
it = getstati(31+x);
|
||||
|
||||
it = getstati(31+x);
|
||||
|
||||
itname = GetItemImage(ToIID(it));
|
||||
drawpic(pos, strcat("gui/", itname), '48 48 0', '1 1 1', 1);
|
||||
|
@ -257,23 +271,17 @@ void(vector pos, float x) HUD_Image =
|
|||
};
|
||||
|
||||
|
||||
void(vector pos, float slotno) HUD_Weapon_Image =
|
||||
void(vector pos, float x) HUD_Weapon_Image =
|
||||
{
|
||||
local float it, mod_s, mod_e;
|
||||
local string itname;
|
||||
|
||||
|
||||
if (slotno == downslotnum && slotnum)
|
||||
slotno = slotnum;
|
||||
else if (slotno == slotnum && downslotnum)
|
||||
slotno = downslotnum;
|
||||
|
||||
if (slotno <= 16)
|
||||
it = getstati(31+slotno);
|
||||
it = getstati(31+x);
|
||||
|
||||
|
||||
itname = GetItemImage(ToIID(it));
|
||||
drawpic(pos, strcat("gui/weapons/", itname), '180 59 0', '1 1 1', 1);
|
||||
drawpic(pos, strcat("gui/weapons/", itname), '180 59 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
};
|
||||
|
||||
|
@ -295,7 +303,7 @@ void() Ammo_Draw =
|
|||
top = ceil(35 * (ammo/max));
|
||||
|
||||
if (top > 35)
|
||||
top = 35;
|
||||
top =35;
|
||||
|
||||
while (bar <= top)
|
||||
{
|
||||
|
@ -307,8 +315,7 @@ void() Ammo_Draw =
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
if (hand == 2)
|
||||
else if (hand == 2)
|
||||
{
|
||||
weap = ToIID(getstati(33));
|
||||
ammo = ToStatus(getstati(33));
|
||||
|
@ -335,6 +342,79 @@ void() Ammo_Draw =
|
|||
};
|
||||
|
||||
|
||||
|
||||
void() HUD_Perks_Draw =
|
||||
{
|
||||
local string perki, perk2i;
|
||||
local float perktime, perktime2, bar, max, top;
|
||||
|
||||
|
||||
perktime = getstati(111);
|
||||
if (perktime == 0)
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.855)) + ('0 1 0'*(scrheight*0.90)), "gui/graph/green.jpg", '0 0 0'+'4 4 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
perktime2 = getstati(112);
|
||||
if (perktime2 == 0)
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.855)) + ('0 1 0'*(scrheight*0.96)), "gui/graph/green.jpg", '0 0 0'+'4 4 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
if (getstati(60) > 0)
|
||||
{
|
||||
perki = GetPerkImage(getstati(60));
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.865)) +('0 1 0'*(scrheight*0.875)), perki, '28 28 0'*(scrwidth/640), '1 1 1', 1);
|
||||
}
|
||||
|
||||
if (getstati(59) > 0)
|
||||
{
|
||||
perk2i = GetPerkImage(getstati(59));
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.865)) +('0 1 0'*(scrheight*0.935)), perk2i, '28 28 0'*(scrwidth/640), '1 1 1', 1);
|
||||
}
|
||||
|
||||
perktime = getstati(111);
|
||||
if (perktime > 0)
|
||||
{
|
||||
max = 2000;
|
||||
|
||||
bar = 0;
|
||||
top = ceil(32 * (perktime/max));
|
||||
|
||||
if (top > 32)
|
||||
top = 32;
|
||||
|
||||
while (bar < top)
|
||||
{
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.865)) +('0 1 0'*(scrheight*0.88)) + ('0 1 0'*bar*(scrheight/640)), "gui/graph/black.jpg", '0 0 0'+'28 1 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
bar = bar + 1;
|
||||
}
|
||||
}
|
||||
|
||||
perktime = getstati(112);
|
||||
if (perktime > 0)
|
||||
{
|
||||
max = 2000;
|
||||
|
||||
bar = 0;
|
||||
top = ceil(32 * (perktime/max));
|
||||
|
||||
if (top > 32)
|
||||
top = 32;
|
||||
|
||||
while (bar < top)
|
||||
{
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.865)) +('0 1 0'*(scrheight*0.94)) + ('0 1 0'*bar*(scrheight/640)), "gui/graph/black.jpg", '0 0 0'+'28 1 0'*(scrwidth/640), '1 1 1', 1);
|
||||
|
||||
|
||||
bar = bar + 1;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
void(float vwidth, float vheight, float do2d) CSQC_UpdateView =
|
||||
{
|
||||
float usehud;
|
||||
|
@ -343,7 +423,7 @@ void(float vwidth, float vheight, float do2d) CSQC_UpdateView =
|
|||
scrheight = vheight;
|
||||
|
||||
clearscene();
|
||||
|
||||
/*
|
||||
if (0)//!cvar("cg_usehud"))
|
||||
{
|
||||
setviewprop(VF_DRAWENGINESBAR, 0);
|
||||
|
@ -352,9 +432,9 @@ void(float vwidth, float vheight, float do2d) CSQC_UpdateView =
|
|||
else
|
||||
{
|
||||
setviewprop(VF_DRAWENGINESBAR, 1);
|
||||
}
|
||||
}*/
|
||||
|
||||
setviewprop(VF_DRAWCROSSHAIR, 1);
|
||||
setviewprop(VF_DRAWCROSSHAIR, 1);//
|
||||
|
||||
//force fullscreen views.
|
||||
setviewprop(VF_MIN, '0 0 0');
|
||||
|
@ -392,6 +472,7 @@ void(float vwidth, float vheight, float do2d) CSQC_UpdateView =
|
|||
GainPerk_Draw();
|
||||
else
|
||||
{
|
||||
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.06)) +('0 1 0'*(scrheight*0.45)), "gui/hud/health.png", '0 0 0'+'25 155 0'*(scrwidth/640), '1 1 1');
|
||||
drawpic('0 0 0'+('1 0 0'*(scrwidth*0.01)) +('0 1 0'*(scrheight*0.45)), "gui/hud/radiation.png", '0 0 0'+'25 155 0'*(scrwidth/640), '1 1 1');
|
||||
drawpic('0 0 0' + ('0 1 0'*(scrheight*0.84)), "gui/hud/hud.png", '0 0 0'+'80 10 0'*(scrwidth/80), '1 1 1');
|
||||
|
@ -399,13 +480,27 @@ void(float vwidth, float vheight, float do2d) CSQC_UpdateView =
|
|||
Health_Draw();
|
||||
Radiation_Draw();
|
||||
|
||||
HUD_Weapon_Image('0 0 0'+('1 0 0'*(scrwidth*0.38)) +('0 1 0'*(scrheight*0.87)), getstati(61));
|
||||
Ammo_Draw();
|
||||
if ((getstati(61) == 1) && (getstati(32) > 0))
|
||||
{
|
||||
HUD_Weapon_Image('0 0 0'+('1 0 0'*(scrwidth*0.38)) +('0 1 0'*(scrheight*0.87)), getstati(61));
|
||||
Ammo_Draw();
|
||||
}
|
||||
else if ((getstati(61) == 2) && (getstati(33) > 0))
|
||||
{
|
||||
HUD_Weapon_Image('0 0 0'+('1 0 0'*(scrwidth*0.38)) +('0 1 0'*(scrheight*0.87)), getstati(61));
|
||||
Ammo_Draw();
|
||||
}
|
||||
|
||||
SlotImageSmall('0 0 0'+('1 0 0'*(scrwidth*0.72)) +('0 1 0'*(scrheight*0.87)), getstati(5));
|
||||
SlotImageSmall('0 0 0'+('1 0 0'*(scrwidth*0.79)) +('0 1 0'*(scrheight*0.87)), getstati(6));
|
||||
if (getstati(36) > 0)
|
||||
SlotImageSmall('0 0 0'+('1 0 0'*(scrwidth*0.70)) +('0 1 0'*(scrheight*0.90)), 5);
|
||||
|
||||
if (getstati(42) > 0)
|
||||
SlotImageSmall('0 0 0'+('1 0 0'*(scrwidth*0.77)) +('0 1 0'*(scrheight*0.90)), 11);
|
||||
|
||||
HUD_Perks_Draw();
|
||||
|
||||
Position_Draw();
|
||||
|
||||
Chem_Draw();
|
||||
Time_Draw();
|
||||
Crosshair_Draw();
|
||||
|
|
|
@ -1172,83 +1172,83 @@ string(float iid) GetItemName =
|
|||
return "disruptor";
|
||||
|
||||
if (iid == IID_WP_USP)
|
||||
return "usp (45 acp)";
|
||||
return "usp";
|
||||
if (iid == IID_WP_USP_S)
|
||||
return "usp (silenced)";
|
||||
return "silenced usp";
|
||||
if (iid == IID_WP_GLOCK)
|
||||
return "glock 21 (10mm)";
|
||||
return "10mm pistol";
|
||||
if (iid == IID_WP_GLOCK_S)
|
||||
return "glock 21 (silenced)";
|
||||
return "silenced 10mm pistol";
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return "desert eagle (.44mag)";
|
||||
return "desert eagle";
|
||||
if (iid == IID_WP_DEAGLE_M)
|
||||
return "desert eagle (silenced)";
|
||||
return "modified desert eagle";
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return "needler";
|
||||
return "needler pistol";
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return "alien blaster (energy)";
|
||||
return "alien blaster";
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return "pipe rifle (.44mag)";
|
||||
return "pipe rifle";
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
return "pipe rifle (silenced)";
|
||||
return "silenced pipe rifle";
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return "pipe rifle (rod&spring)";
|
||||
return "modified pipe rifle";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return "pipe rifle (scope)";
|
||||
return "scoped pipe rifle";
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return "pipe rifle (silenced, rod&spring)";
|
||||
return "super piperifle mark i";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return "pipe rifle (scope, rod&spring)";
|
||||
return "super piperifle mark ii";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return "pipe rifle (scope, silenced)";
|
||||
return "super piperifle mark iii";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return "pipe rifle (scope, silenced, rod&spring)";
|
||||
return "super piperifle mark iv";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "winchester (12g)";
|
||||
return "sawed-off shotgun";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return "citykiller (12g)";
|
||||
return "citykiller";
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "jackhammer (12g)";
|
||||
return "jackhammer";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return "grease gun (.45 acp)";
|
||||
return "grease gun";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "mp9 (10mm)";
|
||||
return "mp9";
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return "rangemaster (5.56mm)";
|
||||
return "rangemaster";
|
||||
if (iid == IID_WP_RANGEMASTER_SCOPE)
|
||||
return "rangemaster (x2 SUSAT scope)";
|
||||
return "scoped rangemaster";
|
||||
if (iid == IID_WP_AK47)
|
||||
return "ak-47 (7.62mm warsaw pact)";
|
||||
return "ak-47";
|
||||
if (iid == IID_WP_AK112)
|
||||
return "ak-112 (5mm jhp)";
|
||||
return "ak-112";
|
||||
if (iid == IID_WP_AK112_M)
|
||||
return "light support weapon (5.56mm)";
|
||||
return "light support weapon";
|
||||
if (iid == IID_WP_AK74)
|
||||
return "ak-47 (7.62mm warsaw pact)";
|
||||
return "ak-47";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "bozar (7.62mm)";
|
||||
return "bozar";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "knight sr-25 widowmaker (7.62mm)";
|
||||
return "dks-1";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
return "knight sr-25 widowmaker (silenced)";
|
||||
return "dks-1";
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "moonlight (5.56mm)";
|
||||
return "moonlight";
|
||||
if (iid == IID_WP_G11)
|
||||
return "hk g11 (4mm)";
|
||||
return "hk g11";
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return "gauss rifle (2mm EC)";
|
||||
return "gauss rifle";
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return "phased plasma rifle (energy)";
|
||||
return "plasma rifle";
|
||||
if (iid == IID_WP_TURBOPLASMA)
|
||||
return "turbo plasma rifle (energy)";
|
||||
return "turbo plasma rifle";
|
||||
if (iid == IID_WP_PLASMACARBINE)
|
||||
return "plasma carbine (energy)";
|
||||
return "laser pistol";
|
||||
if (iid == IID_WP_FNFAL)
|
||||
return "fn fal (7.62mm)";
|
||||
return "fn fal";
|
||||
if (iid == IID_WP_ROCKETLAUNCHER)
|
||||
return "rocket launcher";
|
||||
if (iid == IID_WP_LASERGATLING)
|
||||
return "laser minigun (energy)";
|
||||
return "laser minigun";
|
||||
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
return "needler cartidge";
|
||||
|
@ -1279,15 +1279,15 @@ string(float iid) GetItemName =
|
|||
|
||||
|
||||
if (iid == IID_GREN_STUN)
|
||||
return "stun grenade";
|
||||
return "stun bomb";
|
||||
if (iid == IID_GREN_FRAG)
|
||||
return "nuka grenade";
|
||||
return "nuka bomb";
|
||||
if (iid == IID_GREN_EMP)
|
||||
return "emp grenade";
|
||||
return "emp bomb";
|
||||
if (iid == IID_GREN_SMOKE)
|
||||
return "smoke grenade";
|
||||
return "smoke bomb";
|
||||
if (iid == IID_GREN_FLASH)
|
||||
return "flash grenade";
|
||||
return "flash bomb";
|
||||
|
||||
|
||||
if (iid == IID_ARM_DESERT)
|
||||
|
@ -1435,19 +1435,19 @@ float(float iid) GetBaseValue =
|
|||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 15;
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
return 25;
|
||||
return 250;
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return 25;
|
||||
return 250;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return 25;
|
||||
return 250;
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return 35;
|
||||
return 350;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return 35;
|
||||
return 350;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return 35;
|
||||
return 350;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return 50;
|
||||
return 500;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return 50;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
|
@ -1502,31 +1502,31 @@ float(float iid) GetBaseValue =
|
|||
|
||||
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
return 7;
|
||||
return 35;
|
||||
if (iid == IID_AM_2MMEC)
|
||||
return 15;
|
||||
return 120;
|
||||
if (iid == IID_AM_10MM)
|
||||
return 3;
|
||||
if (iid == IID_AM_556MM)
|
||||
return 5;
|
||||
if (iid == IID_AM_5MMHIGHVEL)
|
||||
return 4;
|
||||
if (iid == IID_AM_12GAUGESHELLS)
|
||||
return 4;
|
||||
if (iid == IID_AM_ENERGYCELL)
|
||||
return 12;
|
||||
if (iid == IID_AM_556MM)
|
||||
return 20;
|
||||
if (iid == IID_AM_5MMHIGHVEL)
|
||||
return 16;
|
||||
if (iid == IID_AM_12GAUGESHELLS)
|
||||
return 16;
|
||||
if (iid == IID_AM_ENERGYCELL)
|
||||
return 48;
|
||||
if (iid == IID_AM_762MM)
|
||||
return 8;
|
||||
return 32;
|
||||
if (iid == IID_AM_44MAGNUM)
|
||||
return 6;
|
||||
return 24;
|
||||
if (iid == IID_AM_WARSAW)
|
||||
return 5;
|
||||
return 20;
|
||||
if (iid == IID_AM_45ACP)
|
||||
return 4;
|
||||
return 16;
|
||||
if (iid == IID_AM_ROCKET)
|
||||
return 30;
|
||||
if (iid == IID_AM_CASELESS)
|
||||
return 10;
|
||||
return 40;
|
||||
|
||||
|
||||
if (iid == IID_GREN_STUN)
|
||||
|
@ -1550,15 +1550,15 @@ float(float iid) GetBaseValue =
|
|||
if (iid == IID_ARM_METAL)
|
||||
return 100;
|
||||
if (iid == IID_ARM_TESLA)
|
||||
return 175;
|
||||
return 125;
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return 300;
|
||||
return 250;
|
||||
if (iid == IID_ARM_SEVA)
|
||||
return 350;
|
||||
return 275;
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return 500;
|
||||
return 300;
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return 550;
|
||||
return 450;
|
||||
|
||||
|
||||
if (iid == IID_CHEM_STIMPACK)
|
||||
|
@ -1675,15 +1675,15 @@ string(float iid) GetItemDesc =
|
|||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return "a crude scope has been attached to this pipe rifle";
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return "a modified pipe rifle with a rod&spring replacement";
|
||||
return "a modified pipe rifle with a box magazine";
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return "pipe rifle with a silencer and rod&spring replacement";
|
||||
return "pipe rifle with a silencer and box magazine";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return "pipe rifle with a scope and rod&spring replacement";
|
||||
return "pipe rifle with a scope and box magazine";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return "pipe rifle with a scope and silencer";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return "pipe rifle with a scope, silencer, and rod&spring";
|
||||
return "the ultimate makeshift rifle!";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "double-barrelled and sawed off";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
|
@ -1715,7 +1715,7 @@ string(float iid) GetItemDesc =
|
|||
if (iid == IID_WP_DKS1)
|
||||
return "semi-auto sniper rifle";
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "decent rifle with extra utility";
|
||||
return "great all-around rifle with extra utility";
|
||||
if (iid == IID_WP_G11)
|
||||
return "a prototype rifle that uses caseless ammo";
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
|
@ -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 "fast, powerful, and accurate - a sniper's dream";
|
||||
return "refinement of the sniper's art";
|
||||
|
||||
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
|
@ -1881,249 +1881,234 @@ string(float iid) GetItemDesc =
|
|||
return strcat("", ftos(iid));
|
||||
};
|
||||
|
||||
|
||||
string(float iid) GetItemStats =
|
||||
float(float iid) GetArmorThreshold =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return "";
|
||||
|
||||
|
||||
if (iid == IID_WP_WRENCH)
|
||||
return "a heavy multi-function wrench";
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return "great for stealth attacks";
|
||||
if (iid == IID_WP_SLEDGE)
|
||||
return "a futuristic battle axe";
|
||||
if (iid == IID_WP_SPEAR)
|
||||
return "a long, sharp polearm";
|
||||
if (iid == IID_WP_POWERAXE)
|
||||
return "a futuristic axe of some sort";
|
||||
|
||||
if (iid == IID_WP_USP)
|
||||
return "dmg: 14 rng: 20 ammo: .45 skill: combat";
|
||||
if (iid == IID_WP_USP_S)
|
||||
return "dmg: 12 rng: 18 ammo: .45 skill: combat";
|
||||
if (iid == IID_WP_GLOCK)
|
||||
return "dmg: 12 rng: 18 ammo: 10mm skill: combat";
|
||||
if (iid == IID_WP_GLOCK_S)
|
||||
return "dmg: 10 rng: 16 ammo: 10mm skill: combat";
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return "dmg: 18 rng: 30 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_DEAGLE_M)
|
||||
return "dmg: 18 rng: 30 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return "dmg: 16 rng: 20 ammo: nc skill: science";
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return "dmg: 48 rng: 15 ammo: cell skill: science";
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return "dmg: 20 rng: 50 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
return "dmg: 18 rng: 45 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return "dmg: 20 rng: 60 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return "dmg: 20 rng: 50 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return "dmg: 18 rng: 45 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return "dmg: 20 rng: 60 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return "dmg: 18 rng: 50 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return "dmg: 18 rng: 50 ammo: .44 skill: combat";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "dmg: 40 rng: 10 ammo: 12ga skill: combat";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return "dmg: 35 rng: 20 ammo: 12ga skill: combat";
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "dmg: 35 rng: 15 ammo: 12ga skill: combat";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return "dmg: 14 rng: 15 ammo: .45 skill: combat";
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return "dmg: 12 rng: 10 ammo: .45 skill: combat";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "dmg: 12 rng: 15 ammo: 10mm skill: sneak";
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return "dmg: 10 rng: 15 ammo: 10mm skill: sneak";
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return "dmg: 18 rng: 40 ammo: 5.56 skill: combat";
|
||||
if (iid == IID_WP_RANGEMASTER_SCOPE)
|
||||
return "dmg: 18 rng: 50 ammo: 5.56 skill: combat";
|
||||
if (iid == IID_WP_AK47)
|
||||
return "an outdated assault rifle with extreme durability";
|
||||
if (iid == IID_WP_AK112)
|
||||
return "dmg: 16 rng: 40 ammo: 5mm skill: combat";
|
||||
if (iid == IID_WP_AK112_M)
|
||||
return "dmg: 16 rng: 40 ammo: 5mm skill: combat";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "dmg: 40 rng: 80 ammo: 7.62 skill: combat";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
return "dmg: 35 rng: 70 ammo: 7.62 skill: combat";
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "dmg: 16 rng: 40 ammo: 5.56 skill: combat";
|
||||
if (iid == IID_WP_G11)
|
||||
return "dmg: 14 rng: 40 ammo: csels skill: combat";
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return "dmg: 30 rng: 90 ammo: 2mmec skill: combat";
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return "dmg: 16 rng: 40 ammo: 5mm skill: combat";
|
||||
if (iid == IID_WP_TURBOPLASMA)
|
||||
return "dmg: 32 rng: 45 ammo: cell skill: science";
|
||||
if (iid == IID_WP_PLASMACARBINE)
|
||||
return "dmg: 28 rng: 30 ammo: cell skill: science";
|
||||
if (iid == IID_WP_FNFAL)
|
||||
return "dmg: 32 rng: 60 ammo: 7.62 skill: combat";
|
||||
if (iid == IID_WP_ROCKETLAUNCHER)
|
||||
return "dmg: 100 rng: 30 ammo: rkt skill: combat";
|
||||
if (iid == IID_WP_LASERGATLING)
|
||||
return "dmg: 24 rng: 60 ammo: cell skill: combat";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "dmg: 50 rng: 90 ammo: 7.62 skill: combat";
|
||||
|
||||
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
return "good armor-peircing properties";
|
||||
if (iid == IID_AM_2MMEC)
|
||||
return "virtually ignores armor";
|
||||
if (iid == IID_AM_10MM)
|
||||
return "jacketed hollow-points for good damage";
|
||||
if (iid == IID_AM_556MM)
|
||||
return "standard rifle round, moderate recoil";
|
||||
if (iid == IID_AM_5MMHIGHVEL)
|
||||
return "experimental high-velocity rifle ammo";
|
||||
if (iid == IID_AM_12GAUGESHELLS)
|
||||
return "the old standard, has trouble with heavy armor";
|
||||
if (iid == IID_AM_ENERGYCELL)
|
||||
return "this energy cell comes from an unknown origin";
|
||||
if (iid == IID_AM_762MM)
|
||||
return "good stopping power and armor-piercing performance";
|
||||
if (iid == IID_AM_44MAGNUM)
|
||||
return "full metal jacket, hit 'em hard";
|
||||
if (iid == IID_AM_WARSAW)
|
||||
return "ancient soviet rifle round, used in the ak47";
|
||||
if (iid == IID_AM_45ACP)
|
||||
return "a common pistol round with good stopping power";
|
||||
if (iid == IID_AM_ROCKET)
|
||||
return "expensive and extremely lethal";
|
||||
if (iid == IID_AM_CASELESS)
|
||||
return "a brick of small-caliber caseless ammo";
|
||||
|
||||
|
||||
if (iid == IID_GREN_FRAG)
|
||||
return "all-purpose fragmentation grenade";
|
||||
if (iid == IID_GREN_EMP)
|
||||
return "useful against robots and cyborgs";
|
||||
if (iid == IID_GREN_SMOKE)
|
||||
return "very useful for a quick getaway!";
|
||||
if (iid == IID_GREN_FLASH)
|
||||
return "temporarily blinds nearby enemies";
|
||||
if (iid == IID_GREN_STUN)
|
||||
return "delivers a forceful shock to nearby enemies";
|
||||
|
||||
if (iid == IID_ARM_DESERT)
|
||||
return "the light armor of a raider; makes a great disguise";
|
||||
return 2;
|
||||
if (iid == IID_ARM_LEATHER)
|
||||
return "lightweight leather armor. provides great mobility.";
|
||||
return 3;
|
||||
if (iid == IID_ARM_VANDAL)
|
||||
return "enhanced leather armor for extra protection.";
|
||||
return 4;
|
||||
if (iid == IID_ARM_METAL)
|
||||
return "gives great protection at a sacrifice to speed.";
|
||||
return 1;
|
||||
if (iid == IID_ARM_TESLA)
|
||||
return "experimental armor with high deflection but low absorb.";
|
||||
return 5;
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return "this all-purpose armor is designed for combat missions.";
|
||||
return 7;
|
||||
if (iid == IID_ARM_SEVA)
|
||||
return "high-tech suit provides more environmental defense";
|
||||
return 6;
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return "experimental energy-field armor, very low absorb";
|
||||
return 10;
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return "the heaviest armor with great protection";
|
||||
return 8;
|
||||
};
|
||||
|
||||
|
||||
if (iid == IID_CHEM_STIMPACK)
|
||||
return "advanced healing chem that replaces lost blood";
|
||||
if (iid == IID_CHEM_MEDICALBAG)
|
||||
return "first aid kit with many high-tech supplies";
|
||||
if (iid == IID_CHEM_SUPERSTIM)
|
||||
return "contains nanobots that heal very fast";
|
||||
if (iid == IID_CHEM_ADRENALINE)
|
||||
return "boosts the metabolism, increasing jump and run speed";
|
||||
if (iid == IID_CHEM_PSYCHO)
|
||||
return "unknown chemicals, probably of military origin";
|
||||
if (iid == IID_CHEM_BESERK)
|
||||
return "unknown chemicals, probably of military origin";
|
||||
if (iid == IID_CHEM_RADX)
|
||||
return "powerful anti-radiation pills";
|
||||
float(float iid) GetArmorAbsorb =
|
||||
{
|
||||
|
||||
if (iid == IID_ARM_DESERT)
|
||||
return 10;
|
||||
if (iid == IID_ARM_LEATHER)
|
||||
return 20;
|
||||
if (iid == IID_ARM_VANDAL)
|
||||
return 30;
|
||||
if (iid == IID_ARM_METAL)
|
||||
return 50;
|
||||
if (iid == IID_ARM_TESLA)
|
||||
return 40;
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return 40;
|
||||
if (iid == IID_ARM_SEVA)
|
||||
return 40;
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return 10;
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return 50;
|
||||
};
|
||||
|
||||
|
||||
if (iid == IID_BUILD_MRAMMO)
|
||||
return "provides extra ammunition";
|
||||
if (iid == IID_BUILD_SHIELDGEN)
|
||||
return "protects all nearby allies";
|
||||
if (iid == IID_BUILD_AUTODOC)
|
||||
return "the auto-doc will repair injuries";
|
||||
if (iid == IID_BUILD_ROBOFANG)
|
||||
return "robofang guardian unit";
|
||||
if (iid == IID_BUILD_TTURRET)
|
||||
return "dispatches hostile intruders";
|
||||
if (iid == IID_BUILD_RTURRET)
|
||||
return "rocket turret";
|
||||
if (iid == IID_BUILD_GTURRET)
|
||||
return "machine-gun turret";
|
||||
float(float iid) GetWeaponRange =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return 0;
|
||||
|
||||
|
||||
if (iid == IID_EQUIP_MEDIC_BAG)
|
||||
return "allows more chems to be carried";
|
||||
if (iid == IID_EQUIP_GOGGLES)
|
||||
return "protects against visual impairments";
|
||||
if (iid == IID_EQUIP_SILENCER)
|
||||
return "attaches to any smallarm";
|
||||
if (iid == IID_EQUIP_BELTPOUCH)
|
||||
return "useful for carrying extra grenades";
|
||||
if (iid == IID_EQUIP_TOOLKIT)
|
||||
return "for picking all sorts of locks";
|
||||
if (iid == IID_EQUIP_BACKPACK)
|
||||
return "this handy bag lets you carry more ammunition";
|
||||
if (iid == IID_EQUIP_CLIMBINGGEAR)
|
||||
return "for those hard to reach places";
|
||||
if (iid == IID_EQUIP_BATTERY)
|
||||
return "provides prolonged battery life";
|
||||
if (iid == IID_EQUIP_STEALTHBOY)
|
||||
return "makes user blurry and hard to see";
|
||||
if (iid == IID_EQUIP_EXTENDER)
|
||||
return "gives a weapon slightly longer range and damage";
|
||||
if (iid == IID_EQUIP_XRAY)
|
||||
return "allows for enemy detection through walls";
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return 5;
|
||||
|
||||
if (iid == IID_MISC_NUKACOLA)
|
||||
return "a bottle of tasty nuka-cola";
|
||||
if (iid == IID_MISC_JUNK)
|
||||
return "metallic bits, pipe and other debris";
|
||||
if (iid == IID_MISC_CHEMICALS)
|
||||
return "standard household cleaner";
|
||||
if (iid == IID_MISC_AEROSOL)
|
||||
return "a half-full aerosol can";
|
||||
if (iid == IID_MISC_RDXCRYSTAL)
|
||||
return "a batch of highly unstable explosive crystals";
|
||||
if (iid == IID_MISC_STEELPIPE)
|
||||
return "a slightly rusted steel pipe";
|
||||
if (iid == IID_MISC_DUCKTAPE)
|
||||
return "ancient, but still highly functional";
|
||||
if (iid == IID_MISC_LCD)
|
||||
return "an lcd from a Lameboy DS videogame unit";
|
||||
if (iid == IID_MISC_CIRCUITBOARD)
|
||||
return "a corroded circuit board from a remote control";
|
||||
if (iid == IID_MISC_COPPERWIRE)
|
||||
return "a small spool of thin copper wire";
|
||||
if (iid == IID_MISC_HMXCOMPOUND)
|
||||
return "a small amount of high-grade military explosive";
|
||||
if (iid == IID_MISC_GUM)
|
||||
return "trident chewing gum, limited edition watermelon flavor";
|
||||
if (iid == IID_MISC_XRAYTUBE)
|
||||
return "??? a strange device ???";
|
||||
|
||||
bprint(PRINT_MEDIUM, ftos(iid), " without a desc!\n");
|
||||
return strcat("", ftos(iid));
|
||||
if (iid == IID_WP_USP)
|
||||
return 20;
|
||||
if (iid == IID_WP_USP_S)
|
||||
return 15;
|
||||
if (iid == IID_WP_GLOCK)
|
||||
return 15;
|
||||
if (iid == IID_WP_GLOCK_S)
|
||||
return 10;
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return 25;
|
||||
if (iid == IID_WP_DEAGLE_M)
|
||||
return 25;
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return 20;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return 10;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return 40;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return 40;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return 10;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return 10;
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 10;
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return 20;
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return 20;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 15;
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return 15;
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return 40;
|
||||
if (iid == IID_WP_RANGEMASTER_SCOPE)
|
||||
return 50;
|
||||
if (iid == IID_WP_AK112)
|
||||
return 40;
|
||||
if (iid == IID_WP_AK112_M)
|
||||
return 40;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 60;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
return 60;
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return 50;
|
||||
if (iid == IID_WP_G11)
|
||||
return 60;
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return 70;
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return 50;
|
||||
if (iid == IID_WP_TURBOPLASMA)
|
||||
return 40;
|
||||
if (iid == IID_WP_PLASMACARBINE)
|
||||
return 40;
|
||||
if (iid == IID_WP_FNFAL)
|
||||
return 60;
|
||||
if (iid == IID_WP_ROCKETLAUNCHER)
|
||||
return 15;
|
||||
if (iid == IID_WP_LASERGATLING)
|
||||
return 35;
|
||||
if (iid == IID_WP_ACR)
|
||||
return 90;
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
float(float iid) GetWeaponDamage =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return 0;
|
||||
|
||||
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return 10;
|
||||
if (iid == IID_WP_USP)
|
||||
return 14;
|
||||
if (iid == IID_WP_USP_S)
|
||||
return 12;
|
||||
if (iid == IID_WP_GLOCK)
|
||||
return 12;
|
||||
if (iid == IID_WP_GLOCK_S)
|
||||
return 10;
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return 18;
|
||||
if (iid == IID_WP_DEAGLE_M)
|
||||
return 18;
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return 16;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_R)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_S_R)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_R)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S)
|
||||
return 20;
|
||||
if (iid == IID_WP_PIPERIFLE_SCOPE_S_R)
|
||||
return 20;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return 35;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return 35;
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 35;
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return 14;
|
||||
if (iid == IID_WP_GREASEGUN_S)
|
||||
return 12;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 12;
|
||||
if (iid == IID_WP_MP9_S)
|
||||
return 10;
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return 18;
|
||||
if (iid == IID_WP_RANGEMASTER_SCOPE)
|
||||
return 18;
|
||||
if (iid == IID_WP_AK112)
|
||||
return 16;
|
||||
if (iid == IID_WP_AK112_M)
|
||||
return 16;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 30;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
return 30;
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return 16;
|
||||
if (iid == IID_WP_G11)
|
||||
return 14;
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return 22;
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return 26;
|
||||
if (iid == IID_WP_TURBOPLASMA)
|
||||
return 24;
|
||||
if (iid == IID_WP_PLASMACARBINE)
|
||||
return 20;
|
||||
if (iid == IID_WP_FNFAL)
|
||||
return 20;
|
||||
if (iid == IID_WP_ROCKETLAUNCHER)
|
||||
return 75;
|
||||
if (iid == IID_WP_LASERGATLING)
|
||||
return 24;
|
||||
if (iid == IID_WP_ACR)
|
||||
return 40;
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
string(float iid) GetItemImage =
|
||||
|
@ -2148,9 +2133,9 @@ string(float iid) GetItemImage =
|
|||
if (iid == IID_WP_USP_S)
|
||||
return "usp.jpg";
|
||||
if (iid == IID_WP_GLOCK)
|
||||
return "glock.jpg";
|
||||
return "10mmpistol.jpg";
|
||||
if (iid == IID_WP_GLOCK_S)
|
||||
return "glock.jpg";
|
||||
return "10mmpistol.jpg";
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return "deagle.jpg";
|
||||
if (iid == IID_WP_DEAGLE_M)
|
||||
|
@ -2190,11 +2175,11 @@ string(float iid) GetItemImage =
|
|||
if (iid == IID_WP_DKS1_S)
|
||||
return "dks1_s.jpg";
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "moonlight.jpg";
|
||||
return "XL70E3.jpg";
|
||||
if (iid == IID_WP_G11)
|
||||
return "g11.jpg";
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return "grifle.jpg";
|
||||
return "gauss.jpg";
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return "plasma.jpg";
|
||||
if (iid == IID_WP_TURBOPLASMA)
|
||||
|
@ -2591,6 +2576,8 @@ string (float slot, float int) PerkName =
|
|||
return "Sleep Tight";
|
||||
if (int == 10)
|
||||
return "Economic Moves";
|
||||
if (int == 11)
|
||||
return "Nuclear Man";
|
||||
};
|
||||
|
||||
string (float slot, float int) PerkNameCentered =
|
||||
|
@ -2615,6 +2602,8 @@ string (float slot, float int) PerkNameCentered =
|
|||
return " Sleep Tight";
|
||||
if (int == 10)
|
||||
return " Economic Moves";
|
||||
if (int == 11)
|
||||
return " Nuclear Man";
|
||||
};
|
||||
|
||||
|
||||
|
@ -2640,6 +2629,8 @@ string(float int) GetPerkImage =
|
|||
return "gui/perks/Sleep Tight.jpg";
|
||||
else if (int == 10)
|
||||
return "gui/perks/Economic Moves.jpg";
|
||||
else if (int == 11)
|
||||
return "gui/perks/Nuclear Man.jpg";
|
||||
else
|
||||
return "gui/perks/none.jpg";
|
||||
|
||||
|
@ -2651,9 +2642,9 @@ string(float int) GetPerkDesc =
|
|||
if (int == 1)
|
||||
return "33% recoil reduction while prone";
|
||||
else if (int == 2)
|
||||
return "20% damage resist while taking cover and ducking";
|
||||
return "Huge dodge chance while taking cover and ducking";
|
||||
else if (int == 3)
|
||||
return "enemies tend to ignore you over your friends";
|
||||
return "Makes enemies attack your friends instead of you";
|
||||
else if (int == 4)
|
||||
return "50% damage resist to area attacks while prone";
|
||||
else if (int == 5)
|
||||
|
@ -2668,6 +2659,8 @@ string(float int) GetPerkDesc =
|
|||
return "Paralyze anything with a sneak attack from a knife";
|
||||
else if (int == 10)
|
||||
return "Suffer less time-related penalties for all actions";
|
||||
else if (int == 11)
|
||||
return "Eat a small amount of radiation to heal yourself";
|
||||
else
|
||||
return "";
|
||||
|
||||
|
|
|
@ -370,7 +370,7 @@ void() rad_think =
|
|||
local entity te;
|
||||
|
||||
self.think = rad_think;
|
||||
self.nextthink = time + 1;
|
||||
self.nextthink = time + 4;
|
||||
|
||||
te = findradius (self.origin, 700);
|
||||
while (te)
|
||||
|
|
|
@ -281,7 +281,7 @@ void () hostage_die =
|
|||
}
|
||||
|
||||
hos_deatha1 ();
|
||||
|
||||
self.solid = SOLID_NOT;
|
||||
setsize (self, VEC_ORIGIN, VEC_ORIGIN);
|
||||
};
|
||||
|
||||
|
|
|
@ -112,24 +112,9 @@ local float rnd1, rnd2, rnd3;
|
|||
if (self.cnt == 20)
|
||||
remove(self);
|
||||
|
||||
rnd1 = self.velocity_x + (-30 + (random() * 20));
|
||||
rnd2 = self.velocity_y + (-30 + (random() * 20));
|
||||
rnd3 = self.velocity_z + 30 + random() * 10;
|
||||
|
||||
if (random()*100 > 50)
|
||||
rnd1 = 24;
|
||||
else
|
||||
rnd1 = -24;
|
||||
|
||||
if (random()*100 > 50)
|
||||
rnd2 = 24;
|
||||
else
|
||||
rnd2 = -24;
|
||||
|
||||
if (random()*100 > 50)
|
||||
rnd3 = -5;
|
||||
else
|
||||
rnd3 = 10;
|
||||
rnd1 = self.velocity_x + (-10 + (random() * 20));
|
||||
rnd2 = self.velocity_y + (-10 + (random() * 20));
|
||||
rnd3 = self.velocity_z + 1 + random() * 3;
|
||||
|
||||
self.velocity_x = rnd1;
|
||||
self.velocity_y = rnd2;
|
||||
|
@ -204,6 +189,17 @@ void(float slotno) UsePerk =
|
|||
te = te.chain;
|
||||
}
|
||||
}
|
||||
if ((self.perk1 == 11 && slotno == 1) || (self.perk2 == 11 && slotno == 2))
|
||||
{
|
||||
if (slotno == 1)
|
||||
self.perk1timer = 2000;
|
||||
if (slotno == 2)
|
||||
self.perk2timer = 2000;
|
||||
|
||||
sound (self, CHAN_BODY, "misc/r_tele4.wav", 1, ATTN_NORM);
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -2112,7 +2108,7 @@ void() ImpulseCommands =
|
|||
if (self.impulse == 3 && self.currentmenu == "none")
|
||||
Cmd_InvUse("5");
|
||||
if (self.impulse == 4 && self.currentmenu == "none")
|
||||
Cmd_InvUse("6");
|
||||
Cmd_InvUse("11");
|
||||
|
||||
|
||||
if (self.impulse >= 1 && self.impulse <= 10 && self.currentmenu != "none")
|
||||
|
@ -4342,7 +4338,7 @@ void () UseStimpack =
|
|||
else
|
||||
{
|
||||
sound (trace_ent, CHAN_BODY, "items/r_item1.wav", 1, ATTN_NORM);
|
||||
self.score = self.score + 50;
|
||||
self.score = self.score + 1;
|
||||
sprint(trace_ent, PRINT_MEDIUM, self.netname);
|
||||
sprint(trace_ent, PRINT_MEDIUM, " heals you with a stimpack\n");
|
||||
sprint(self, PRINT_MEDIUM, "you heal ");
|
||||
|
@ -4453,7 +4449,7 @@ void () UseSuperStim =
|
|||
{
|
||||
sound (trace_ent, CHAN_BODY, "items/r_item1.wav", 1, ATTN_NORM);
|
||||
|
||||
self.score = self.score + 50;
|
||||
self.score = self.score + 1;
|
||||
sprint(trace_ent, PRINT_MEDIUM, self.netname);
|
||||
sprint(trace_ent, PRINT_MEDIUM, " heals you with a superstim!\n");
|
||||
sprint(self, PRINT_MEDIUM, "you heal ");
|
||||
|
@ -4512,6 +4508,7 @@ void () UseMedicalBag =
|
|||
sound (self, CHAN_BODY, "items/r_item1.wav", 1, ATTN_NORM);
|
||||
self.health = self.health + 5 + (self.skill_doctor/2);
|
||||
self.regen = self.regen + 3 + (self.skill_doctor/2);
|
||||
spawn_healing(self);
|
||||
}
|
||||
}
|
||||
else if (trace_ent.classname == "player")//healing another team-mate
|
||||
|
@ -4563,6 +4560,7 @@ void () UseMedicalBag =
|
|||
self.score = self.score + 1;
|
||||
trace_ent.health = trace_ent.health + 5 + (self.skill_doctor/2);
|
||||
trace_ent.regen = trace_ent.regen + 3 + (self.skill_doctor/2);
|
||||
spawn_healing(trace_ent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -107,6 +107,8 @@ void() SetupStats =
|
|||
clientstat(108, 2, safezone);
|
||||
clientstat(109, 2, connected);
|
||||
clientstat(110, 2, steadyaim);
|
||||
clientstat(111, 2, perk1timer);
|
||||
clientstat(112, 2, perk2timer);
|
||||
clientstat(125, 2, timer);
|
||||
clientstat(126, 2, popup);
|
||||
clientstat(127, 2, score);
|
||||
|
@ -650,9 +652,9 @@ if (coop == 1) // Players vs Monsters
|
|||
}
|
||||
|
||||
}
|
||||
else if (musicplay < 50)
|
||||
else if (musicplay < 20)
|
||||
musicplay = musicplay + 1;
|
||||
else if (musicplay >= 100)
|
||||
else if (musicplay >= 20)
|
||||
musicplay = 0;
|
||||
|
||||
te = find(world, classname, "player");
|
||||
|
|
|
@ -116,10 +116,7 @@ void() zombie_walk15 =[ $walk15, zombie_walk16 ] {ai_walk(3);};
|
|||
void() zombie_walk16 =[ $walk16, zombie_walk17 ] {ai_walk(3);};
|
||||
void() zombie_walk17 =[ $walk17, zombie_walk18 ] {ai_walk(3);};
|
||||
void() zombie_walk18 =[ $walk18, zombie_walk19 ] {ai_walk(3);};
|
||||
void() zombie_walk19 =[ $walk19, zombie_walk1 ] {
|
||||
ai_walk(6);
|
||||
if (random() < 0.2)
|
||||
sound (self, CHAN_VOICE, "zombie/z_idle.wav", 1, ATTN_IDLE);};
|
||||
void() zombie_walk19 =[ $walk19, zombie_walk1 ] {ai_walk(6);};
|
||||
|
||||
void() zombie_run1 =[ $run1, zombie_run2 ] {ai_run(4);self.inpain = 0;};
|
||||
void() zombie_run2 =[ $run2, zombie_run3 ] {ai_run(4);
|
||||
|
@ -146,13 +143,7 @@ void() zombie_run14 =[ $run14, zombie_run15 ] {ai_run(4);};
|
|||
void() zombie_run15 =[ $run15, zombie_run16 ] {ai_run(4);};
|
||||
void() zombie_run16 =[ $run16, zombie_run17 ] {ai_run(4);};
|
||||
void() zombie_run17 =[ $run17, zombie_run18 ] {ai_run(4);};
|
||||
void() zombie_run18 =[ $run18, zombie_run1 ] {
|
||||
ai_run(8);
|
||||
if (random() < 0.2)
|
||||
sound (self, CHAN_VOICE, "zombie/z_idle.wav", 1, ATTN_IDLE);
|
||||
if (random() > 0.8)
|
||||
sound (self, CHAN_VOICE, "zombie/z_idle1.wav", 1, ATTN_IDLE);
|
||||
};
|
||||
void() zombie_run18 =[ $run18, zombie_run1 ] {ai_run(8);};
|
||||
|
||||
/*
|
||||
=============================================================================
|
||||
|
@ -314,7 +305,7 @@ void() zombie_attc12 =[ $attc12, zombie_run1 ] {ai_face();ZombieFireGrenade('-1
|
|||
|
||||
void() zombie_claw =
|
||||
{
|
||||
local vector delta;
|
||||
local vector delta, dir;
|
||||
local float ldmg;
|
||||
|
||||
if (!self.enemy)
|
||||
|
@ -329,11 +320,22 @@ local float ldmg;
|
|||
|
||||
delta = self.enemy.origin - self.origin;
|
||||
|
||||
if (vlen(delta) > (80))
|
||||
if (self.scale == 1.5 && vlen(delta) > (90))
|
||||
return;
|
||||
|
||||
else if (vlen(delta) > (60))
|
||||
return;
|
||||
|
||||
ldmg = 5+random()*15;
|
||||
|
||||
if (self.scale == 1.5)
|
||||
{
|
||||
ldmg = 10+random()*15;
|
||||
dir = normalize(self.enemy.origin - self.origin);
|
||||
self.enemy.radiation = self.enemy.radiation + 50;
|
||||
self.enemy.velocity = dir * 300;
|
||||
self.enemy.velocity_z = 300;
|
||||
self.enemy.avelocity_y = (random()* 300);
|
||||
}
|
||||
T_Damage (self.enemy, self, self, ldmg);
|
||||
};
|
||||
|
||||
|
@ -589,7 +591,7 @@ void () zombie_death =
|
|||
self.attack = self.attack + 1;
|
||||
};
|
||||
|
||||
void (vector stuff, vector ang) spawn_live_zombie =
|
||||
void (vector stuff, vector ang, float bodysize) spawn_live_zombie =
|
||||
{
|
||||
local entity zombie;
|
||||
|
||||
|
@ -611,6 +613,7 @@ void (vector stuff, vector ang) spawn_live_zombie =
|
|||
zombie.think = zombie_death;
|
||||
zombie.th_die = corpse_gib;
|
||||
zombie.nextthink = time + 0.12;
|
||||
zombie.scale = bodysize;
|
||||
};
|
||||
|
||||
void() DropBackpack;
|
||||
|
@ -619,10 +622,6 @@ void() zombie_die =
|
|||
{
|
||||
local float r;
|
||||
|
||||
if (random()<0.25)
|
||||
DropMoney();
|
||||
if (random()<0.25)
|
||||
DropMoney();
|
||||
|
||||
r = random();
|
||||
|
||||
|
@ -632,8 +631,14 @@ void() zombie_die =
|
|||
sound (self, CHAN_VOICE, "zombie/z_pain1.wav", 1, ATTN_NORM);
|
||||
|
||||
|
||||
spawn_live_zombie(self.origin, self.angles);
|
||||
remove(self);
|
||||
if (self.scale == 1)
|
||||
{
|
||||
spawn_live_zombie(self.origin, self.angles, self.scale);
|
||||
remove(self);
|
||||
}
|
||||
else
|
||||
zdie1();
|
||||
|
||||
return;
|
||||
};
|
||||
|
||||
|
@ -661,7 +666,7 @@ void(entity attacker, float take) zombie_pain =
|
|||
{
|
||||
local float r;
|
||||
|
||||
if (take < 9)
|
||||
if (take < 50)
|
||||
return; // totally ignore
|
||||
|
||||
if (self.inpain == 2)
|
||||
|
@ -739,7 +744,20 @@ void () spawn_ghoul_copy =
|
|||
|
||||
|
||||
self.think = spawn_ghoul_copy;
|
||||
self.nextthink = time + 8 + random()*4;
|
||||
self.nextthink = time + 9 + random()*8;
|
||||
|
||||
|
||||
|
||||
if (total_players == 2)
|
||||
self.nextthink = time + 9 + random()*5;
|
||||
|
||||
if (total_players == 3)
|
||||
self.nextthink = time + 8 + random()*4;
|
||||
|
||||
if (total_players == 4)
|
||||
self.nextthink = time + 6 + random()*2;
|
||||
|
||||
|
||||
stuff = self.origin;
|
||||
|
||||
|
||||
|
@ -748,7 +766,7 @@ void () spawn_ghoul_copy =
|
|||
loadzombie = 0;
|
||||
|
||||
|
||||
te = findradius (self.origin, 1200);
|
||||
te = findradius (self.origin, 1500);
|
||||
while (te)
|
||||
{
|
||||
if (te.classname == "player")
|
||||
|
@ -758,7 +776,7 @@ void () spawn_ghoul_copy =
|
|||
}
|
||||
|
||||
|
||||
te = findradius (self.origin, 400);
|
||||
te = findradius (self.origin, 250);
|
||||
while (te)
|
||||
{
|
||||
if (te.classname == "player")
|
||||
|
@ -797,7 +815,7 @@ void () spawn_ghoul_copy =
|
|||
ze = find(ze, classname, "player");
|
||||
}
|
||||
|
||||
if (zomc > 90*pcount)
|
||||
if (zomc > 30*pcount)
|
||||
return;
|
||||
|
||||
zombie = spawn ();
|
||||
|
@ -808,7 +826,7 @@ void () spawn_ghoul_copy =
|
|||
setmodel (self, "progs/ghoul.mdl");
|
||||
setsize (self, '-8 -8 -24', '8 8 24');
|
||||
self.health = 90;
|
||||
self.netname = "ghoul";
|
||||
self.netname = "feral ghoul";
|
||||
self.max_health = self.health;
|
||||
self.th_stand = zombie_stand1;
|
||||
self.th_walk = zombie_walk1;
|
||||
|
@ -817,15 +835,19 @@ void () spawn_ghoul_copy =
|
|||
self.th_die = zombie_die;
|
||||
self.th_melee = zombie_melee;
|
||||
|
||||
self.skin = 0;
|
||||
|
||||
self.angles_y = random()*360;
|
||||
|
||||
if (random()*100 <= 3)
|
||||
if (random()*100 <= 8)
|
||||
{
|
||||
setsize (self, '-16 -16 -24', '16 16 32');
|
||||
self.health = 400;
|
||||
self.netname = "ghoul lord";
|
||||
setsize (self, '-16 -16 -40 ', '16 16 32');
|
||||
self.health = 1200;
|
||||
self.netname = "glowing one";
|
||||
self.max_health = self.health;
|
||||
self.scale = 2;
|
||||
self.scale = 1.5;
|
||||
self.effects = EF_BLUE;
|
||||
self.skin = 1;
|
||||
}
|
||||
|
||||
self.origin = stuff + '0 64 0';
|
||||
|
|
Loading…
Reference in a new issue