git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3430 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
92fc87b9ff
commit
e3f9901bd8
11 changed files with 462 additions and 611 deletions
|
@ -270,47 +270,50 @@ void() get_new_map =
|
|||
m_map = "e3m1";
|
||||
else if (random()<0.04)
|
||||
m_map = "e4m1";
|
||||
else if (random()<0.04)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief1";
|
||||
else if (random()<0.15)
|
||||
m_map = "bbelief1";
|
||||
else if (random()<0.15)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief2";
|
||||
else if (random()<0.15)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief3";
|
||||
else if (random()<0.15)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief4";
|
||||
else if (random()<0.15)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief5";
|
||||
else if (random()<0.15)
|
||||
else if (random()<0.08)
|
||||
m_map = "bbelief6";
|
||||
else if (random()<0.15)
|
||||
m_map = "bbelief7";
|
||||
else if (random()<0.15)
|
||||
m_map = "bbelief8";
|
||||
else if (random()<0.08)
|
||||
m_map = "e1m4";
|
||||
else if (random()<0.08)
|
||||
m_map = "e2m3";
|
||||
else if (random()<0.08)
|
||||
m_map = "e3m3";
|
||||
else if (random()<0.08)
|
||||
m_map = "e1m3";
|
||||
else if (random()<0.08)
|
||||
m_map = "e1m5";
|
||||
else
|
||||
m_map = "bbelief1";
|
||||
|
||||
};
|
||||
|
||||
void() get_new_mission =
|
||||
void(float type) get_new_mission =
|
||||
{
|
||||
local float x;
|
||||
local string savemap;
|
||||
|
||||
x = ceil(random()*6);
|
||||
|
||||
if (x == 1)
|
||||
if (type == 1)
|
||||
savemap = "hostage";
|
||||
if (x == 2)
|
||||
if (type == 2)
|
||||
savemap = "supplies";
|
||||
if (x == 3)
|
||||
if (type == 3)
|
||||
savemap = "shadow";
|
||||
if (x == 4)
|
||||
if (type == 4)
|
||||
savemap = "deadtown";
|
||||
if (x == 5)
|
||||
if (type == 5)
|
||||
savemap = "destroy";
|
||||
if (x == 6)
|
||||
if (type == 6)
|
||||
savemap = "defuse";
|
||||
|
||||
localcmd("serverinfo objective ");
|
||||
|
@ -1300,7 +1303,7 @@ void() SneakLevel =
|
|||
if (r > 0 && r <= 600)
|
||||
{
|
||||
r = 600 - r;
|
||||
q = 3 + (self.skill_sneak/5);
|
||||
q = 3 + (self.skill_sneak/2);
|
||||
|
||||
sn = sn - r/q;
|
||||
}
|
||||
|
|
|
@ -261,7 +261,7 @@ void(string arg1) Cmd_InvDrop =
|
|||
|
||||
void(string arg1) Cmd_InvBuy =
|
||||
{
|
||||
local float x,y, iid, amount, money;
|
||||
local float x,y, iid, amount, money, item;
|
||||
|
||||
|
||||
x = FindEmptySlot(self);
|
||||
|
@ -273,513 +273,50 @@ void(string arg1) Cmd_InvBuy =
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (arg1 == "1")
|
||||
{
|
||||
iid = ToIID(self.xslot1);
|
||||
amount = ToStatus(self.xslot1);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot1);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot1;
|
||||
if (arg1 == "2")
|
||||
{
|
||||
iid = ToIID(self.xslot2);
|
||||
amount = ToStatus(self.xslot2);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot2);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot2;
|
||||
if (arg1 == "3")
|
||||
{
|
||||
iid = ToIID(self.xslot3);
|
||||
amount = ToStatus(self.xslot3);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot3);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot3;
|
||||
if (arg1 == "4")
|
||||
{
|
||||
iid = ToIID(self.xslot4);
|
||||
amount = ToStatus(self.xslot4);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot4);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot4;
|
||||
if (arg1 == "5")
|
||||
{
|
||||
iid = ToIID(self.xslot5);
|
||||
amount = ToStatus(self.xslot5);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot5);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot5;
|
||||
if (arg1 == "6")
|
||||
{
|
||||
iid = ToIID(self.xslot6);
|
||||
amount = ToStatus(self.xslot6);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot6);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot6;
|
||||
if (arg1 == "7")
|
||||
{
|
||||
iid = ToIID(self.xslot7);
|
||||
amount = ToStatus(self.xslot7);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot7);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
item = self.xslot7;
|
||||
if (arg1 == "8")
|
||||
{
|
||||
iid = ToIID(self.xslot8);
|
||||
amount = ToStatus(self.xslot8);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot8);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot8;
|
||||
if (arg1 == "9")
|
||||
{
|
||||
iid = ToIID(self.xslot9);
|
||||
amount = ToStatus(self.xslot9);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot9);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot9;
|
||||
if (arg1 == "10")
|
||||
{
|
||||
iid = ToIID(self.xslot10);
|
||||
amount = ToStatus(self.xslot10);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot10);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot10;
|
||||
if (arg1 == "11")
|
||||
{
|
||||
iid = ToIID(self.xslot11);
|
||||
amount = ToStatus(self.xslot11);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot11);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot11;
|
||||
if (arg1 == "12")
|
||||
{
|
||||
iid = ToIID(self.xslot12);
|
||||
amount = ToStatus(self.xslot12);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot12);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot12;
|
||||
if (arg1 == "13")
|
||||
{
|
||||
iid = ToIID(self.xslot13);
|
||||
amount = ToStatus(self.xslot13);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot13);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot13;
|
||||
if (arg1 == "14")
|
||||
{
|
||||
iid = ToIID(self.xslot14);
|
||||
amount = ToStatus(self.xslot14);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot14);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot14;
|
||||
if (arg1 == "15")
|
||||
{
|
||||
iid = ToIID(self.xslot15);
|
||||
amount = ToStatus(self.xslot15);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot15);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot15;
|
||||
if (arg1 == "16")
|
||||
{
|
||||
iid = ToIID(self.xslot16);
|
||||
amount = ToStatus(self.xslot16);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot16);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot16;
|
||||
if (arg1 == "17")
|
||||
{
|
||||
iid = ToIID(self.xslot17);
|
||||
amount = ToStatus(self.xslot17);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot17);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot17;
|
||||
if (arg1 == "18")
|
||||
{
|
||||
iid = ToIID(self.xslot18);
|
||||
amount = ToStatus(self.xslot18);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot18);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot18;
|
||||
if (arg1 == "19")
|
||||
{
|
||||
iid = ToIID(self.xslot19);
|
||||
amount = ToStatus(self.xslot19);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
sprint(self, 2, "not enough money.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
else
|
||||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot19);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
item = self.xslot19;
|
||||
if (arg1 == "20")
|
||||
{
|
||||
iid = ToIID(self.xslot20);
|
||||
amount = ToStatus(self.xslot20);
|
||||
item = self.xslot20;
|
||||
|
||||
|
||||
iid = ToIID(item);
|
||||
amount = ToStatus(item);
|
||||
money = GetBaseValue(iid);
|
||||
if (self.ammo_shells < money)
|
||||
{
|
||||
|
@ -791,17 +328,20 @@ void(string arg1) Cmd_InvBuy =
|
|||
self.ammo_shells = self.ammo_shells - money;
|
||||
|
||||
if (NotStackable(iid))
|
||||
SetItemSlot(self, x, self.xslot20);
|
||||
SetItemSlot(self, x, item);
|
||||
else if (IsEquip(iid))
|
||||
SetItemSlot(self, x, item);
|
||||
else
|
||||
|
||||
if (!TryGiveStackable(self, iid, amount))
|
||||
{
|
||||
sprint(self, 2, "full inventory.\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
self.ammo_shells = self.ammo_shells + money;
|
||||
return;
|
||||
}
|
||||
sound (self, CHAN_BODY, "misc/item2.wav", 1, ATTN_NORM);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
void(string arg1) Cmd_InvSell =
|
||||
|
@ -1022,6 +562,88 @@ void(string arg1) Cmd_InvMix =
|
|||
sprint(self, PRINT_MEDIUM, "1 super stim created\n");
|
||||
sound (self, CHAN_BODY, "misc/item1.wav", 1, ATTN_NORM);
|
||||
}
|
||||
else if ((iid1 == IID_MISC_DUCKTAPE && iid2 == IID_MISC_AEROSOL) ||
|
||||
(iid2 == IID_MISC_DUCKTAPE && iid1 == IID_MISC_AEROSOL))
|
||||
{
|
||||
x = FindEmptySlot(self);
|
||||
|
||||
if (x == 0)
|
||||
{
|
||||
sprint(self, 2, "no more room in inventory!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
|
||||
DecreaseDestroySlot(23);
|
||||
DecreaseDestroySlot(24);
|
||||
|
||||
if (random()*100 > (self.skill_science*20))
|
||||
{
|
||||
sprint(self, PRINT_MEDIUM, "your concoction failed!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
SetItemSlot(self, x, SlotVal(IID_EQUIP_SILENCER, 1));
|
||||
|
||||
sprint(self, PRINT_MEDIUM, "silencer created\n");
|
||||
sound (self, CHAN_BODY, "misc/item1.wav", 1, ATTN_NORM);
|
||||
}
|
||||
else if ((iid1 == IID_EQUIP_SILENCER && iid2 == IID_WP_USP) ||
|
||||
(iid2 == IID_EQUIP_SILENCER && iid1 == IID_WP_USP))
|
||||
{
|
||||
if (random()*100 > (self.skill_science*20))
|
||||
{
|
||||
sprint(self, PRINT_MEDIUM, "your concoction failed!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
x = FindEmptySlot(self);
|
||||
|
||||
if (x == 0)
|
||||
{
|
||||
sprint(self, 2, "no more room in inventory!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
|
||||
DecreaseDestroySlot(23);
|
||||
DecreaseDestroySlot(24);
|
||||
|
||||
SetItemSlot(self, x, SlotVal(IID_WP_USP_S, 1));
|
||||
|
||||
sprint(self, PRINT_MEDIUM, "silencer created\n");
|
||||
sound (self, CHAN_BODY, "misc/item1.wav", 1, ATTN_NORM);
|
||||
}
|
||||
else if ((iid1 == IID_EQUIP_SILENCER && iid2 == IID_WP_GLOCK) ||
|
||||
(iid2 == IID_EQUIP_SILENCER && iid1 == IID_WP_GLOCK))
|
||||
{
|
||||
if (random()*100 > (self.skill_science*20))
|
||||
{
|
||||
sprint(self, PRINT_MEDIUM, "your concoction failed!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
x = FindEmptySlot(self);
|
||||
|
||||
if (x == 0)
|
||||
{
|
||||
sprint(self, 2, "no more room in inventory!\n");
|
||||
sound (self, CHAN_BODY, "misc/beep1.wav", 1, ATTN_NORM);
|
||||
return;
|
||||
}
|
||||
|
||||
DecreaseDestroySlot(23);
|
||||
DecreaseDestroySlot(24);
|
||||
|
||||
SetItemSlot(self, x, SlotVal(IID_WP_GLOCK_S, 1));
|
||||
|
||||
sprint(self, PRINT_MEDIUM, "silencer created\n");
|
||||
sound (self, CHAN_BODY, "misc/item1.wav", 1, ATTN_NORM);
|
||||
}
|
||||
else if ((iid1 == IID_WP_NEEDLER && iid2 == IID_WP_NEEDLER) ||
|
||||
(iid2 == IID_WP_NEEDLER && iid1 == IID_WP_NEEDLER))
|
||||
{
|
||||
|
|
|
@ -107,7 +107,7 @@ void(vector pos, float slotno) SlotImage =
|
|||
drawpic(pos, strcat("gui/", itname), IMGSIZEV, '1 1 1', 1);
|
||||
|
||||
it = ToStatus(it);
|
||||
if (it < 1)
|
||||
if (it <= 1)
|
||||
return;
|
||||
itname = ftos(it);
|
||||
it = strlen(itname);
|
||||
|
|
|
@ -246,7 +246,7 @@ void (vector jojo) spawn_civilian =
|
|||
self.movetype = MOVETYPE_STEP;
|
||||
self.takedamage = DAMAGE_AIM;
|
||||
setmodel (self, "progs/hosfem.mdl");
|
||||
setsize (self, VEC_HULL_MIN, '16 16 32');
|
||||
setsize (self, '-10 -10 24', '10 10 24');
|
||||
self.health = 80;
|
||||
self.netname = "civilian";
|
||||
self.classname = "rhostage";
|
||||
|
|
|
@ -672,7 +672,7 @@ string(float iid) GetItemVModel =
|
|||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return "progs/v_blaster.mdl";
|
||||
if (iid >= IID_WP_PIPERIFLE && iid <= IID_WP_PIPERIFLE_S_R)
|
||||
return "progs/v_pipe.mdl";
|
||||
return "progs/v_bozar.mdl";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "progs/v_double.mdl";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
|
@ -697,7 +697,7 @@ string(float iid) GetItemVModel =
|
|||
if (iid == IID_WP_AK74)
|
||||
return "progs/v_ak47.mdl";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "progs/v_acr.mdl";
|
||||
return "progs/v_bozar.mdl";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "progs/v_srifle.mdl";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -796,7 +796,7 @@ string(float iid) GetItemWModel =
|
|||
if (iid == IID_WP_AK74)
|
||||
return "progs/w_ak47.mdl";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "progs/w_acr.mdl";
|
||||
return "progs/w_bozar.mdl";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "progs/w_srifle.mdl";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -920,7 +920,7 @@ float(float iid) WeaponAmmoType =
|
|||
if (iid == IID_WP_AK74)
|
||||
return IID_AM_WARSAW;
|
||||
if (iid == IID_WP_ACR)
|
||||
return IID_AM_NEEDLER;
|
||||
return IID_AM_762MM;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return IID_AM_762MM;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -997,7 +997,7 @@ float(float iid) WeaponMagQuant =
|
|||
if (iid == IID_WP_AK74)
|
||||
return 30;
|
||||
if (iid == IID_WP_ACR)
|
||||
return 24;
|
||||
return 20;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 8;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -1081,7 +1081,7 @@ float(float iid) GetItemWeight =
|
|||
if (iid == IID_WP_AK74)
|
||||
return 5;
|
||||
if (iid == IID_WP_ACR)
|
||||
return 5;
|
||||
return 10;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 9;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -1211,7 +1211,7 @@ string(float iid) GetItemName =
|
|||
return "jackhammer (12g)";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return "grease gun (.45 acp)";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
if (iid == IID_WP_MP9)
|
||||
return "mp9 (10mm)";
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
return "rangemaster (5.56mm)";
|
||||
|
@ -1226,7 +1226,7 @@ string(float iid) GetItemName =
|
|||
if (iid == IID_WP_AK74)
|
||||
return "ak-47 (7.62mm warsaw pact)";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "steyr acr (5mm flechette)";
|
||||
return "bozar (7.62mm)";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "knight sr-25 widowmaker (7.62mm)";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -1250,8 +1250,6 @@ string(float iid) GetItemName =
|
|||
if (iid == IID_WP_LASERGATLING)
|
||||
return "laser minigun (energy)";
|
||||
|
||||
|
||||
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
return "needler cartidge";
|
||||
if (iid == IID_AM_2MMEC)
|
||||
|
@ -1433,7 +1431,7 @@ float(float iid) GetBaseValue =
|
|||
if (iid == IID_WP_NEEDLER)
|
||||
return 80;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return 200;
|
||||
return 150;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 15;
|
||||
if (iid == IID_WP_PIPERIFLE_S)
|
||||
|
@ -1477,7 +1475,7 @@ float(float iid) GetBaseValue =
|
|||
if (iid == IID_WP_AK74)
|
||||
return 20;
|
||||
if (iid == IID_WP_ACR)
|
||||
return 240;
|
||||
return 190;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 110;
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -1711,7 +1709,7 @@ string(float iid) GetItemDesc =
|
|||
if (iid == IID_WP_AK112_M)
|
||||
return "this rifle has been modified to accept larger magazines";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "this sturdy rifle fires .308, a larger, more reliable round";
|
||||
return "this sturdy rifle fires .308\na larger and more reliable round";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
return ".308 sniper rifle, silenced for stealth-ops";
|
||||
if (iid == IID_WP_DKS1)
|
||||
|
@ -1734,8 +1732,254 @@ string(float iid) GetItemDesc =
|
|||
return "great for devastating tactical strikes";
|
||||
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";
|
||||
|
||||
|
||||
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";
|
||||
if (iid == IID_ARM_LEATHER)
|
||||
return "lightweight leather armor. provides great mobility.";
|
||||
if (iid == IID_ARM_VANDAL)
|
||||
return "enhanced leather armor for extra protection.";
|
||||
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.";
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return "this all-purpose armor is designed for combat missions.";
|
||||
if (iid == IID_ARM_SEVA)
|
||||
return "high-tech suit provides more environmental defense";
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return "experimental energy-field armor, very low absorb";
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return "the heaviest armor with great protection";
|
||||
|
||||
|
||||
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";
|
||||
|
||||
|
||||
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";
|
||||
|
||||
|
||||
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_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));
|
||||
};
|
||||
|
||||
|
||||
string(float iid) GetItemStats =
|
||||
{
|
||||
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";
|
||||
|
@ -1918,13 +2162,13 @@ string(float iid) GetItemImage =
|
|||
if (iid >= IID_WP_PIPERIFLE && iid <= IID_WP_PIPERIFLE_S_R)
|
||||
return "prifle.jpg";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "double.jpg";
|
||||
return "sawedoff.jpg";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return "citykiller.jpg";
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "jackhammer.jpg";
|
||||
if (iid == IID_WP_GREASEGUN)
|
||||
return "ggun2.jpg";
|
||||
return "greasegun.jpg";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "mp9.jpg";
|
||||
if (iid == IID_WP_RANGEMASTER)
|
||||
|
@ -1940,7 +2184,7 @@ string(float iid) GetItemImage =
|
|||
if (iid == IID_WP_AK74)
|
||||
return "ak47.jpg";
|
||||
if (iid == IID_WP_ACR)
|
||||
return "acr.jpg";
|
||||
return "bozar.png";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "dks1.png";
|
||||
if (iid == IID_WP_DKS1_S)
|
||||
|
@ -2164,7 +2408,7 @@ float(string itname) ItemIDOfName =
|
|||
return IID_WP_AK112_M;
|
||||
if (itname == "ak-74")
|
||||
return IID_WP_AK74;
|
||||
if (itname == "acr")
|
||||
if (itname == "bozar")
|
||||
return IID_WP_ACR;
|
||||
if (itname == "dks-1")
|
||||
return IID_WP_DKS1;
|
||||
|
@ -2299,8 +2543,6 @@ float(string itname) ItemIDOfName =
|
|||
|
||||
float(float slotno, float iid) FitsInSlot =
|
||||
{
|
||||
if (IsEquip(iid))
|
||||
return false;
|
||||
|
||||
if (!iid) //nothing can be put in every slot.
|
||||
return true;
|
||||
|
|
|
@ -289,13 +289,13 @@ void() junk_touch =
|
|||
|
||||
void() SpawnJunk =
|
||||
{
|
||||
setorigin(self, self.origin + '0 0 64');
|
||||
setorigin(self, self.origin + '0 0 32');
|
||||
self.movetype = MOVETYPE_BOUNCE;
|
||||
self.velocity_x = crandom()*600;
|
||||
self.velocity_y = crandom()*600;
|
||||
self.velocity_z = -100;
|
||||
|
||||
self.avelocity_y = crandom()*600;
|
||||
self.avelocity_y = crandom()*300;
|
||||
|
||||
if (random()*100 < 50)
|
||||
setmodel (self, "progs/junk1.mdl");
|
||||
|
@ -303,38 +303,38 @@ void() SpawnJunk =
|
|||
setmodel (self, "progs/junk2.mdl");
|
||||
|
||||
self.touch = junk_touch;
|
||||
self.solid = SOLID_BBOX;
|
||||
self.solid = SOLID_TRIGGER;
|
||||
setsize (self, '-12 -12 0', '12 12 12');
|
||||
self.takedamage = DAMAGE_NO;
|
||||
self.classname = "random_junk";
|
||||
|
||||
|
||||
if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_JUNK;
|
||||
self.islot1 = SlotVal(IID_MISC_JUNK, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_NUKACOLA;
|
||||
self.islot1 = SlotVal(IID_MISC_NUKACOLA, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_CHEMICALS;
|
||||
self.islot1 = SlotVal(IID_MISC_CHEMICALS, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_AEROSOL;
|
||||
self.islot1 = SlotVal(IID_MISC_AEROSOL, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_RDXCRYSTAL;
|
||||
self.islot1 = SlotVal(IID_MISC_RDXCRYSTAL, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_STEELPIPE;
|
||||
self.islot1 = SlotVal(IID_MISC_STEELPIPE, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_DUCKTAPE;
|
||||
self.islot1 = SlotVal(IID_MISC_DUCKTAPE, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_LCD;
|
||||
self.islot1 = SlotVal(IID_MISC_LCD, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_CIRCUITBOARD;
|
||||
self.islot1 = SlotVal(IID_MISC_CIRCUITBOARD, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_COPPERWIRE;
|
||||
self.islot1 = SlotVal(IID_MISC_COPPERWIRE, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_HMXCOMPOUND;
|
||||
self.islot1 = SlotVal(IID_MISC_HMXCOMPOUND, 1);
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_GUM;
|
||||
else if (random()*100 <= 10)
|
||||
self.islot1 = IID_MISC_XRAYTUBE;
|
||||
self.islot1 = SlotVal(IID_MISC_GUM, 1);
|
||||
else
|
||||
self.islot1 = SlotVal(IID_MISC_JUNK, 1);
|
||||
|
||||
if (random()*100 <= 10)
|
||||
self.flash = 2;
|
||||
|
@ -358,9 +358,7 @@ void() TreasureChest =
|
|||
self.takedamage = DAMAGE_NO;
|
||||
self.classname = "treasure_chest";
|
||||
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -1327,6 +1325,9 @@ void() weapon_supershotgun =
|
|||
|
||||
if (random()<0.25)
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
};
|
||||
|
||||
/*QUAKED weapon_nailgun (0 .5 .8) (-16 -16 0) (16 16 32)
|
||||
|
@ -1342,6 +1343,9 @@ void() weapon_nailgun =
|
|||
Explosive();
|
||||
else
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
};
|
||||
|
||||
/*QUAKED weapon_supernailgun (0 .5 .8) (-16 -16 0) (16 16 32)
|
||||
|
@ -1357,6 +1361,10 @@ void() weapon_supernailgun =
|
|||
Explosive();
|
||||
else if (random()*100 <= 40)
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
SpawnJunk();
|
||||
};
|
||||
|
||||
/*QUAKED weapon_grenadelauncher (0 .5 .8) (-16 -16 0) (16 16 32)
|
||||
|
@ -1374,6 +1382,8 @@ void() weapon_grenadelauncher =
|
|||
else if (random()*100 <= 40)
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
|
||||
};
|
||||
|
||||
/*QUAKED weapon_rocketlauncher (0 .5 .8) (-16 -16 0) (16 16 32)
|
||||
|
@ -1390,6 +1400,7 @@ void() weapon_rocketlauncher =
|
|||
else if (random()*100 <= 40)
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
};
|
||||
|
||||
|
||||
|
@ -1408,6 +1419,7 @@ void() weapon_lightning =
|
|||
else if (random()*100 <= 40)
|
||||
TreasureChest();
|
||||
|
||||
SpawnJunk();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -469,8 +469,13 @@ string () MissionString =
|
|||
return ("<EFBFBD>‘<EFBFBD>‘<EFBFBD>‘ mission select <20>‘<EFBFBD>‘<EFBFBD>‘\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"<EFBFBD>1‘ get new mission\n"
|
||||
"<EFBFBD>2‘ grab one later \n\n\n");
|
||||
"<EFBFBD>1‘ hostage rescue \n"
|
||||
"<EFBFBD>2‘ capture supplies \n"
|
||||
"<EFBFBD>3‘ shadow mission \n"
|
||||
"<EFBFBD>4‘ zombie mission \n"
|
||||
"<EFBFBD>5‘ destroy supplies \n"
|
||||
"6‘ bomb defusal \n\n"
|
||||
"<EFBFBD>7‘ grab one later \n");
|
||||
};
|
||||
|
||||
string () DepartString =
|
||||
|
|
|
@ -1028,61 +1028,24 @@ void() brotherhood_merchant =
|
|||
|
||||
self.xslot15 = SlotVal(IID_CHEM_MEDICALBAG, 25);
|
||||
|
||||
if (random()*100 < 80)
|
||||
self.xslot16 = SlotVal(IID_WP_AK112, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot16 = SlotVal(IID_WP_MOSSBERG, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot16 = SlotVal(IID_WP_FNFAL, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot16 = SlotVal(IID_WP_MOONLIGHT, 1);
|
||||
else
|
||||
self.xslot16 = SlotVal(IID_WP_G11, 1);
|
||||
|
||||
if (random()*100 < 80)
|
||||
self.xslot17 = SlotVal(IID_WP_DKS1, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot17 = SlotVal(IID_WP_JACKHAMMER, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot17 = SlotVal(IID_WP_PLASMACARBINE, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot17 = SlotVal(IID_WP_ROCKETLAUNCHER, 1);
|
||||
else
|
||||
self.xslot17 = SlotVal(IID_WP_LASERGATLING, 1);
|
||||
self.xslot16 = SlotVal(IID_WP_ACR, 1);
|
||||
self.xslot17 = SlotVal(IID_AM_762MM, 30);
|
||||
|
||||
|
||||
self.xslot18 = SlotVal(IID_WP_ALIENBLASTER, 1);
|
||||
self.xslot19 = SlotVal(IID_AM_ENERGYCELL, 30);
|
||||
|
||||
if (random()*100 < 20)
|
||||
self.xslot18 = SlotVal(IID_AM_ENERGYCELL, 30);
|
||||
self.xslot20 = SlotVal(IID_AM_ENERGYCELL, 30);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot18 = SlotVal(IID_EQUIP_BELTPOUCH, 1);
|
||||
self.xslot20 = SlotVal(IID_EQUIP_BELTPOUCH, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot18 = SlotVal(IID_EQUIP_STEALTHBOY, 1);
|
||||
self.xslot20 = SlotVal(IID_EQUIP_STEALTHBOY, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot18 = SlotVal(IID_EQUIP_CLIMBINGGEAR, 1);
|
||||
self.xslot20 = SlotVal(IID_EQUIP_CLIMBINGGEAR, 1);
|
||||
else
|
||||
self.xslot18 = SlotVal(IID_EQUIP_TOOLKIT, 1);
|
||||
|
||||
if (random()*100 < 20)
|
||||
self.xslot19 = SlotVal(IID_EQUIP_MEDIC_BAG, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot19 = SlotVal(IID_AM_CASELESS, 30);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot19 = SlotVal(IID_AM_2MMEC, 30);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot19 = SlotVal(IID_EQUIP_BACKPACK, 1);
|
||||
else
|
||||
self.xslot19 = SlotVal(IID_EQUIP_TOOLKIT, 1);
|
||||
|
||||
|
||||
if (random()*100 < 20)
|
||||
self.xslot20 = SlotVal(IID_MISC_NUKACOLA, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot20 = SlotVal(IID_MISC_CHEMICALS, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot20 = SlotVal(IID_MISC_AEROSOL, 1);
|
||||
else if (random()*100 < 20)
|
||||
self.xslot20 = SlotVal(IID_MISC_DUCKTAPE, 1);
|
||||
else
|
||||
self.xslot20 = SlotVal(IID_MISC_XRAYTUBE, 1);
|
||||
self.xslot20 = SlotVal(IID_EQUIP_TOOLKIT, 1);
|
||||
};
|
||||
|
||||
void() brotherhood_sergeant =
|
||||
|
|
|
@ -976,10 +976,10 @@ void() W_PlayerMenu =
|
|||
}
|
||||
else if (self.currentmenu == "select_mission")
|
||||
{
|
||||
if (self.impulse == 1)
|
||||
if (self.impulse >= 1 && self.impulse <= 6)
|
||||
{
|
||||
if (infokey(world, "objective") == "return" || infokey(world, "objective") == "start")
|
||||
get_new_mission();
|
||||
get_new_mission(1);
|
||||
else
|
||||
{
|
||||
sprint(self, 2, "you're already on a mission!\n");
|
||||
|
@ -993,7 +993,8 @@ void() W_PlayerMenu =
|
|||
self.impulse = 0;
|
||||
return;
|
||||
}
|
||||
else if (self.impulse == 2)
|
||||
|
||||
else
|
||||
{
|
||||
centerprint(self, "\n");
|
||||
self.currentmenu = "none";
|
||||
|
|
|
@ -1589,7 +1589,7 @@ void() W_Attack =
|
|||
else if (weap == IID_WP_USP)
|
||||
FirePistol(14, 6, "weapons/usp.wav", 2000, 0.1);
|
||||
else if (weap == IID_WP_USP_S)
|
||||
FirePistol(12, 6, "weapons/smg_s.wav", 2000, 0.1);
|
||||
FirePistol(12, 6, "weapons/smg_s.wav", 1800, 0.1);
|
||||
else if (weap == IID_WP_DEAGLE)
|
||||
FirePistol(18, 9, "weapons/deagle.wav", 3000, 0.1);
|
||||
else if (weap == IID_WP_DEAGLE_M)
|
||||
|
@ -1641,9 +1641,9 @@ void() W_Attack =
|
|||
else if (weap == IID_WP_AK112_M)
|
||||
FireAssaultRifle(16, 10, "weapons/ak112.wav", 4000, 0.095);
|
||||
else if (weap == IID_WP_ACR)
|
||||
FireAssaultRifle(16, 7, "weapons/ak112.wav", 9000, 0.090);
|
||||
FireAssaultRifle(25, 7, "weapons/bozar.wav", 9000, 0.090);
|
||||
else if (weap == IID_WP_AK74)
|
||||
FireAssaultRifle(20, 12, "ogre/ak47.wav", 3500, 0.090);
|
||||
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);
|
||||
else if (weap == IID_WP_MOONLIGHT && self.zoom == 0)
|
||||
|
|
|
@ -227,9 +227,9 @@ void() load_monster =
|
|||
if (world.map_ent2 == 6)
|
||||
monster_ogre();
|
||||
if (world.map_ent2 == 7)
|
||||
monster_wizard();
|
||||
monster_army();
|
||||
if (world.map_ent2 == 8)
|
||||
monster_knight();
|
||||
monster_demon1();
|
||||
if (world.map_ent2 == 9)
|
||||
monster_demon1();
|
||||
if (world.map_ent2 == 10)
|
||||
|
@ -1969,6 +1969,7 @@ void() worldspawn =
|
|||
precache_model ("progs/v_smg.mdl");
|
||||
precache_model ("progs/v_rangem.mdl");
|
||||
precache_model ("progs/v_pipe.mdl");
|
||||
precache_model ("progs/v_bozar.mdl");
|
||||
precache_model ("progs/v_double.mdl");
|
||||
precache_model ("progs/v_combat.mdl");
|
||||
precache_model ("progs/v_mp9.mdl");
|
||||
|
@ -2035,6 +2036,7 @@ void() worldspawn =
|
|||
precache_model ("progs/w_rocket.mdl");
|
||||
precache_model ("progs/w_plasma.mdl");
|
||||
precache_model ("progs/w_chain.mdl");
|
||||
precache_model ("progs/w_bozar.mdl");
|
||||
precache_model ("progs/money.mdl");
|
||||
|
||||
precache_model ("progs/turrgun.mdl");
|
||||
|
@ -2146,6 +2148,7 @@ void() worldspawn =
|
|||
precache_sound ("weapons/moonlight-1.wav");
|
||||
precache_sound ("weapons/moonlight-2.wav");
|
||||
precache_sound ("weapons/needler.wav");
|
||||
precache_sound ("weapons/bozar.wav");
|
||||
precache_sound ("weapons/smg_s.wav");
|
||||
precache_sound ("weapons/shotgun1.wav");
|
||||
precache_sound ("weapons/mp5.wav");
|
||||
|
|
Loading…
Reference in a new issue