mirror of
https://github.com/nzp-team/fteqw.git
synced 2025-01-19 06:51:11 +00:00
These are my two additional files required for the inventory system. they are not complete.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1755 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
d773113378
commit
c7cdbaa17e
2 changed files with 883 additions and 0 deletions
194
quakec/fallout2/cmds.qc
Normal file
194
quakec/fallout2/cmds.qc
Normal file
|
@ -0,0 +1,194 @@
|
|||
void(entity e, string s) clientcommand = #440
|
||||
float(string s) tokenize = #441;
|
||||
string(float n) argv = #442;
|
||||
|
||||
float(string desc) itemtoslot =
|
||||
{
|
||||
local float slot;
|
||||
local float iid;
|
||||
slot = stof(desc);
|
||||
if (slot >= 1 && slot <= MAXSLOTS)
|
||||
return slot;
|
||||
|
||||
sprint(self, PRINT_HIGH, "Not an item\n");
|
||||
return 0;
|
||||
};
|
||||
|
||||
float(float slotno) DecreaseDestroySlot =
|
||||
{
|
||||
float it;
|
||||
it = ItemInSlot(self, slotno);
|
||||
if (ToStatus(it) <= 1)
|
||||
{
|
||||
SetItemSlot(self, slotno, 0);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetItemSlot(self, slotno, SlotVal(ToIID(it), ToStatus(it)-1));
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
void(string arg1) Cmd_InvUse =
|
||||
{
|
||||
local float it, iid;
|
||||
local float slotno;
|
||||
slotno = itemtoslot(arg1);
|
||||
if (!slotno)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
it = ItemInSlot(self, slotno);
|
||||
iid = ToIID(it);
|
||||
|
||||
if (iid == 0)
|
||||
return;
|
||||
|
||||
if (WeaponAmmoType(iid))
|
||||
{
|
||||
//weapons are reloaded
|
||||
ReloadWeapon(slotno);
|
||||
return;
|
||||
}
|
||||
|
||||
if (iid == IID_CHEM_STIMPACK ||
|
||||
iid == IID_CHEM_MEDICALBAG ||
|
||||
iid == IID_CHEM_SUPERSTIM)
|
||||
{
|
||||
if (UseHealingChem(iid))
|
||||
DecreaseDestroySlot(slotno);
|
||||
return;
|
||||
}
|
||||
|
||||
if (iid == IID_CHEM_ADRENALINE ||
|
||||
iid == IID_CHEM_PSYCHO ||
|
||||
iid == IID_CHEM_BESERK)
|
||||
{
|
||||
if (UseBoostingChem(iid))
|
||||
DecreaseDestroySlot(slotno);
|
||||
return;
|
||||
}
|
||||
|
||||
if (iid == IID_CHEM_ADRENALINE ||
|
||||
iid == IID_CHEM_PSYCHO ||
|
||||
iid == IID_CHEM_BESERK)
|
||||
{
|
||||
if (UseBoostingChem(iid))
|
||||
DecreaseDestroySlot(slotno);
|
||||
return;
|
||||
}
|
||||
|
||||
if (iid == IID_BUILD_MRAMMO ||
|
||||
iid == IID_BUILD_SHIELDGEN ||
|
||||
iid == IID_BUILD_AUTODOC ||
|
||||
iid == IID_BUILD_ROBOFANG)
|
||||
{
|
||||
if (spawn_station(iid))
|
||||
DecreaseDestroySlot(slotno);
|
||||
return;
|
||||
}
|
||||
|
||||
sprint(self, PRINT_HIGH, "Don't know how to 'use' item\n");
|
||||
};
|
||||
|
||||
void(string arg1) Cmd_InvDrop =
|
||||
{
|
||||
local float it, iid;
|
||||
local float slotno;
|
||||
slotno = itemtoslot(arg1);
|
||||
if (!slotno)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
it = ItemInSlot(self, slotno);
|
||||
iid = ToIID(it);
|
||||
|
||||
if (iid == 0)
|
||||
return;
|
||||
|
||||
DropFromSlot(slotno, true, false);
|
||||
};
|
||||
|
||||
void(string arg1, string arg2) Cmd_InvSwap =
|
||||
{
|
||||
local float old1, old2;
|
||||
local float slotno1;
|
||||
local float slotno2;
|
||||
slotno1 = itemtoslot(arg1);
|
||||
if (!slotno1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
slotno2 = itemtoslot(arg2);
|
||||
if (!slotno2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
old1 = ItemInSlot(self, slotno1);
|
||||
old2 = ItemInSlot(self, slotno2);
|
||||
if (!FitsInSlot(slotno1, old2))
|
||||
{
|
||||
sprint(self, PRINT_HIGH, "Not allowed to exchange items\n");
|
||||
return;
|
||||
}
|
||||
if (!FitsInSlot(slotno2, old1))
|
||||
{
|
||||
sprint(self, PRINT_HIGH, "Not allowed to exchange items\n");
|
||||
return;
|
||||
}
|
||||
SetItemSlot(self, slotno1, old2);
|
||||
SetItemSlot(self, slotno2, old1);
|
||||
|
||||
if (slotno1 == self.current_slot || slotno2 == self.current_slot)
|
||||
W_SetCurrentAmmo();
|
||||
};
|
||||
|
||||
void(string arg1, float iid, float num) Cmd_InvGive =
|
||||
{
|
||||
local float slotno;
|
||||
slotno = itemtoslot(arg1);
|
||||
if (!slotno)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (num <= 0)
|
||||
num = 1;
|
||||
SetItemSlot(self, slotno, SlotVal(iid, num));
|
||||
};
|
||||
|
||||
void(string line) SV_ParseClientCommand =
|
||||
{
|
||||
local string cmd;
|
||||
tokenize(line);
|
||||
|
||||
cmd = argv(0);
|
||||
if (cmd == "invuse")
|
||||
{
|
||||
Cmd_InvUse(argv(1));
|
||||
}
|
||||
else if (cmd == "invdrop")
|
||||
{
|
||||
Cmd_InvDrop(argv(1));
|
||||
}
|
||||
else if (cmd == "invswap")
|
||||
{
|
||||
Cmd_InvSwap(argv(1), argv(2));
|
||||
}
|
||||
else if (cmd == "invgive")
|
||||
{
|
||||
Cmd_InvGive(argv(1), stof(argv(2)), stof(argv(3)));
|
||||
}
|
||||
else if (cmd == "god")
|
||||
{
|
||||
sprint(self, PRINT_HIGH, "sorry, but I'm an athiest\n");
|
||||
}
|
||||
else
|
||||
clientcommand(self, line);
|
||||
};
|
689
quakec/fallout2/inventory.qc
Normal file
689
quakec/fallout2/inventory.qc
Normal file
|
@ -0,0 +1,689 @@
|
|||
float IID_NONE = 0;
|
||||
|
||||
#define IsMelee(iid) (iid == IID_NONE || (iid >= IID_WP_TOOLKIT && iid <= IID_WP_POWERAXE))
|
||||
#define IsGrenade(iid) (iid >= IID_GREN_FRAG && iid <= IID_GREN_FLASH)
|
||||
#define IsRanged(iid) (iid >= IID_WP_USP && iid <= IID_WP_PULSERIFLE)
|
||||
|
||||
//weapons with ammo, things with a toggle state
|
||||
#define NotStackable(iid) (IsRanged(iid))
|
||||
|
||||
//the ammoless weapons
|
||||
float IID_WP_TOOLKIT = 400;
|
||||
float IID_WP_KNIFE = 401;
|
||||
float IID_WP_AXE = 402;
|
||||
float IID_WP_VIBROBLADE = 403;
|
||||
float IID_WP_POWERAXE = 404;
|
||||
|
||||
//the ammoed weapons
|
||||
float IID_WP_USP = 405;
|
||||
float IID_WP_DEAGLE = 406;
|
||||
float IID_WP_NEEDLER = 407;
|
||||
float IID_WP_ALIENBLASTER = 408;
|
||||
float IID_WP_PIPERIFLE = 409;
|
||||
float IID_WP_WINCHESTER = 410;
|
||||
float IID_WP_MOSSBERG = 411;
|
||||
float IID_WP_JACKHAMMER = 412;
|
||||
float IID_WP_MP9 = 413;
|
||||
float IID_WP_MP7 = 414;
|
||||
float IID_WP_RANGERMASTER = 415;
|
||||
float IID_WP_AK112 = 416;
|
||||
float IID_WP_AK74 = 417;
|
||||
float IID_WP_DKS1 = 418;
|
||||
float IID_WP_MOONLIGHT = 419;
|
||||
float IID_WP_SA80 = 420;
|
||||
float IID_WP_GAUSERIFLE = 421;
|
||||
float IID_WP_PULSERIFLE = 422;
|
||||
|
||||
//and ammo for those guns
|
||||
float IID_AM_USP = 505;
|
||||
float IID_AM_DEAGLE = 506;
|
||||
float IID_AM_NEEDLER = 507;
|
||||
float IID_AM_ALIENBLASTER = 508;
|
||||
float IID_AM_PIPERIFLE = 509;
|
||||
float IID_AM_WINCHESTER = 510;
|
||||
float IID_AM_MOSSBERG = 511;
|
||||
float IID_AM_JACKHAMMER = 512;
|
||||
float IID_AM_MP9 = 513;
|
||||
float IID_AM_MP7 = 514;
|
||||
float IID_AM_RANGERMASTER = 515;
|
||||
float IID_AM_AK112 = 516;
|
||||
float IID_AM_AK74 = 517;
|
||||
float IID_AM_DKS1 = 518;
|
||||
float IID_AM_MOONLIGHT = 519;
|
||||
float IID_AM_SA80 = 520;
|
||||
float IID_AM_GAUSERIFLE = 521;
|
||||
float IID_AM_PULSERIFLE = 522;
|
||||
|
||||
//grenade items
|
||||
float IID_GREN_FRAG = 101;
|
||||
float IID_GREN_EMP = 102;
|
||||
float IID_GREN_SMOKE = 103;
|
||||
float IID_GREN_FLASH = 104;
|
||||
|
||||
//armour
|
||||
#define IsArmor(iid) (iid >= IID_ARM_SHIRT && iid <= IID_ARM_LPOWER)
|
||||
float IID_ARM_SHIRT = 201;
|
||||
float IID_ARM_LEATHER = 202;
|
||||
float IID_ARM_KEVLAR = 203;
|
||||
float IID_ARM_METAL = 204;
|
||||
float IID_ARM_COMBAT = 205;
|
||||
float IID_ARM_BROTHERHOOD = 206;
|
||||
float IID_ARM_FORCE = 207;
|
||||
float IID_ARM_LPOWER = 208;
|
||||
|
||||
//stims
|
||||
float IID_CHEM_STIMPACK = 301;
|
||||
float IID_CHEM_MEDICALBAG = 302;
|
||||
float IID_CHEM_SUPERSTIM = 303;
|
||||
float IID_CHEM_ADRENALINE = 304;
|
||||
float IID_CHEM_PSYCHO = 305;
|
||||
float IID_CHEM_BESERK = 306;
|
||||
|
||||
float IID_BUILD_MRAMMO = 350;
|
||||
float IID_BUILD_SHIELDGEN = 351;
|
||||
float IID_BUILD_AUTODOC = 352;
|
||||
float IID_BUILD_ROBOFANG = 353;
|
||||
|
||||
#define IsShootable(iid) (IsMelee(iid) || IsRanged(iid) || IsGrenade(iid))
|
||||
|
||||
|
||||
|
||||
//slot1 and slot2 are the two hand slots
|
||||
//slot3 is the armour slot.
|
||||
//the other slots are for misilaneous things.
|
||||
|
||||
.float islot1;
|
||||
.float islot2;
|
||||
.float islot3;
|
||||
.float islot4;
|
||||
.float islot5;
|
||||
.float islot6;
|
||||
.float islot7;
|
||||
.float islot8;
|
||||
.float islot9;
|
||||
.float islot10;
|
||||
.float islot11;
|
||||
.float islot12;
|
||||
.float islot13;
|
||||
.float islot14;
|
||||
.float islot15;
|
||||
.float islot16;
|
||||
#define MAXSLOTS 16
|
||||
|
||||
void(float sttype, float stnum, string fieldname) clientstat = #232;
|
||||
void() SetupStats =
|
||||
{
|
||||
//2 is ev_float
|
||||
//32 is the first stat we are allowed to use
|
||||
clientstat(2, 32, "islot1");
|
||||
clientstat(2, 33, "islot2");
|
||||
clientstat(2, 34, "islot3");
|
||||
clientstat(2, 35, "islot4");
|
||||
clientstat(2, 36, "islot5");
|
||||
clientstat(2, 37, "islot6");
|
||||
clientstat(2, 38, "islot7");
|
||||
clientstat(2, 39, "islot8");
|
||||
clientstat(2, 40, "islot9");
|
||||
clientstat(2, 41, "islot10");
|
||||
clientstat(2, 42, "islot11");
|
||||
clientstat(2, 43, "islot12");
|
||||
clientstat(2, 44, "islot13");
|
||||
clientstat(2, 45, "islot14");
|
||||
clientstat(2, 46, "islot15");
|
||||
clientstat(2, 47, "islot16");
|
||||
};
|
||||
|
||||
|
||||
#define ToIID(it) floor(it/512)
|
||||
#define ToStatus(it) (it&511)
|
||||
#define SlotVal(iid,st) ((iid*512) | (st&511))
|
||||
|
||||
|
||||
float(entity e, float slotno) ItemInSlot =
|
||||
{
|
||||
if (slotno == 1)
|
||||
return e.islot1;
|
||||
if (slotno == 2)
|
||||
return e.islot2;
|
||||
if (slotno == 3)
|
||||
return e.islot3;
|
||||
if (slotno == 4)
|
||||
return e.islot4;
|
||||
if (slotno == 5)
|
||||
return e.islot5;
|
||||
if (slotno == 6)
|
||||
return e.islot6;
|
||||
if (slotno == 7)
|
||||
return e.islot7;
|
||||
if (slotno == 8)
|
||||
return e.islot8;
|
||||
if (slotno == 9)
|
||||
return e.islot9;
|
||||
if (slotno == 10)
|
||||
return e.islot10;
|
||||
if (slotno == 11)
|
||||
return e.islot11;
|
||||
if (slotno == 12)
|
||||
return e.islot12;
|
||||
if (slotno == 13)
|
||||
return e.islot13;
|
||||
if (slotno == 14)
|
||||
return e.islot14;
|
||||
if (slotno == 15)
|
||||
return e.islot15;
|
||||
if (slotno == 16)
|
||||
return e.islot16;
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
void(entity e, float slotno, float item) SetItemSlot =
|
||||
{
|
||||
if (slotno == 1)
|
||||
e.islot1 = item;
|
||||
else if (slotno == 2)
|
||||
e.islot2 = item;
|
||||
else if (slotno == 3)
|
||||
e.islot3 = item;
|
||||
else if (slotno == 4)
|
||||
e.islot4 = item;
|
||||
else if (slotno == 5)
|
||||
e.islot5 = item;
|
||||
else if (slotno == 6)
|
||||
e.islot6 = item;
|
||||
else if (slotno == 7)
|
||||
e.islot7 = item;
|
||||
else if (slotno == 8)
|
||||
e.islot8 = item;
|
||||
else if (slotno == 9)
|
||||
e.islot9 = item;
|
||||
else if (slotno == 10)
|
||||
e.islot10 = item;
|
||||
else if (slotno == 11)
|
||||
e.islot11 = item;
|
||||
else if (slotno == 12)
|
||||
e.islot12 = item;
|
||||
else if (slotno == 13)
|
||||
e.islot13 = item;
|
||||
else if (slotno == 14)
|
||||
e.islot14 = item;
|
||||
else if (slotno == 15)
|
||||
e.islot15 = item;
|
||||
else if (slotno == 16)
|
||||
e.islot16 = item;
|
||||
};
|
||||
|
||||
float(entity e, float iid) SlotOfItem =
|
||||
{
|
||||
if (ToIID(e.islot1) == iid)
|
||||
return 1;
|
||||
if (ToIID(e.islot2) == iid)
|
||||
return 2;
|
||||
if (ToIID(e.islot3) == iid)
|
||||
return 3;
|
||||
if (ToIID(e.islot4) == iid)
|
||||
return 4;
|
||||
if (ToIID(e.islot5) == iid)
|
||||
return 5;
|
||||
if (ToIID(e.islot6) == iid)
|
||||
return 6;
|
||||
if (ToIID(e.islot7) == iid)
|
||||
return 7;
|
||||
if (ToIID(e.islot8) == iid)
|
||||
return 8;
|
||||
if (ToIID(e.islot9) == iid)
|
||||
return 9;
|
||||
if (ToIID(e.islot10) == iid)
|
||||
return 10;
|
||||
if (ToIID(e.islot11) == iid)
|
||||
return 11;
|
||||
if (ToIID(e.islot12) == iid)
|
||||
return 12;
|
||||
if (ToIID(e.islot13) == iid)
|
||||
return 13;
|
||||
if (ToIID(e.islot14) == iid)
|
||||
return 14;
|
||||
if (ToIID(e.islot15) == iid)
|
||||
return 15;
|
||||
if (ToIID(e.islot16) == iid)
|
||||
return 16;
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
typedef .float slot_t;
|
||||
slot_t(float slot) SlotField =
|
||||
{
|
||||
if (slot == 1)
|
||||
return islot1;
|
||||
if (slot == 2)
|
||||
return islot2;
|
||||
if (slot == 3)
|
||||
return islot3;
|
||||
if (slot == 4)
|
||||
return islot4;
|
||||
if (slot == 5)
|
||||
return islot5;
|
||||
if (slot == 6)
|
||||
return islot6;
|
||||
if (slot == 7)
|
||||
return islot7;
|
||||
if (slot == 8)
|
||||
return islot8;
|
||||
if (slot == 9)
|
||||
return islot9;
|
||||
if (slot == 10)
|
||||
return islot10;
|
||||
if (slot == 11)
|
||||
return islot11;
|
||||
if (slot == 12)
|
||||
return islot12;
|
||||
if (slot == 13)
|
||||
return islot13;
|
||||
if (slot == 14)
|
||||
return islot14;
|
||||
if (slot == 15)
|
||||
return islot15;
|
||||
if (slot == 16)
|
||||
return islot16;
|
||||
|
||||
|
||||
bprint(PRINT_MEDIUM, "ERROR: Invalid slot number (", ftos(slot), ")\n");
|
||||
return islot1;
|
||||
};
|
||||
|
||||
|
||||
string(float iid) GetItemVModel =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return "progs/v_fist.mdl";
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return "progs/v_knife.mdl";
|
||||
if (iid == IID_WP_AXE)
|
||||
return "progs/v_axe.mdl";
|
||||
if (iid == IID_WP_VIBROBLADE)
|
||||
return "progs/v_knife.mdl";
|
||||
if (iid == IID_WP_POWERAXE)
|
||||
return "progs/v_axe.mdl";
|
||||
if (iid == IID_WP_USP)
|
||||
return "progs/v_1911.mdl";
|
||||
/*
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return "";
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return "";
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return "";
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return "";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return "";
|
||||
*/
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "progs/v_jackhammer.mdl";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "progs/v_mp9.mdl";
|
||||
if (iid == IID_WP_MP7)
|
||||
return "progs/v_mp7.mdl";
|
||||
/*
|
||||
if (iid == IID_WP_RANGERMASTER)
|
||||
return "";
|
||||
if (iid == IID_WP_AK112)
|
||||
return "";
|
||||
*/
|
||||
if (iid == IID_WP_AK74)
|
||||
return "progs/v_ak47.mdl";
|
||||
/*
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "";
|
||||
*/
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "progs/v_night.mdl";
|
||||
|
||||
if (iid == IID_GREN_FRAG)
|
||||
return "progs/v_handgren.mdl";
|
||||
if (iid == IID_GREN_EMP)
|
||||
return "progs/v_handgren.mdl";
|
||||
if (iid == IID_GREN_SMOKE)
|
||||
return "progs/v_handgren.mdl";
|
||||
if (iid == IID_GREN_FLASH)
|
||||
return "progs/v_handgren.mdl";
|
||||
|
||||
bprint(PRINT_MEDIUM, ftos(iid), " without a vmodel!\n");
|
||||
return "";
|
||||
};
|
||||
|
||||
float(float iid) WeaponAmmoType =
|
||||
{
|
||||
if (iid == IID_WP_USP)
|
||||
return IID_AM_USP;
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return IID_AM_DEAGLE;
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return IID_AM_NEEDLER;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return IID_AM_ALIENBLASTER;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return IID_AM_PIPERIFLE;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return IID_AM_WINCHESTER;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return IID_AM_MOSSBERG;
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return IID_AM_JACKHAMMER;
|
||||
if (iid == IID_WP_MP9)
|
||||
return IID_AM_MP9;
|
||||
if (iid == IID_WP_MP7)
|
||||
return IID_AM_MP7;
|
||||
if (iid == IID_WP_RANGERMASTER)
|
||||
return IID_AM_RANGERMASTER;
|
||||
if (iid == IID_WP_AK112)
|
||||
return IID_AM_AK112;
|
||||
if (iid == IID_WP_AK74)
|
||||
return IID_AM_AK74;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return IID_AM_DKS1;
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return IID_AM_MOONLIGHT;
|
||||
if (iid == IID_WP_SA80)
|
||||
return IID_AM_SA80;
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return IID_AM_GAUSERIFLE;
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return IID_AM_PULSERIFLE;
|
||||
|
||||
return IID_NONE;
|
||||
};
|
||||
|
||||
float(float iid) WeaponMagQuant =
|
||||
{
|
||||
if (iid == IID_WP_USP)
|
||||
return 12;
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return 7;
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return 15;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return 6;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 1;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return 2;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return 6;
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 10;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 30;
|
||||
if (iid == IID_WP_MP7)
|
||||
return 30;
|
||||
if (iid == IID_WP_RANGERMASTER)
|
||||
return 10;
|
||||
if (iid == IID_WP_AK112)
|
||||
return 24;
|
||||
if (iid == IID_WP_AK74)
|
||||
return 30;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 8;
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return 30;
|
||||
if (iid == IID_WP_SA80)
|
||||
return 30;
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return 10;
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return 40;
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
float(float iid) GetItemWeight =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return 0;
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return 1;
|
||||
if (iid == IID_WP_AXE)
|
||||
return 2;
|
||||
if (iid == IID_WP_VIBROBLADE)
|
||||
return 8;
|
||||
if (iid == IID_WP_POWERAXE)
|
||||
return 6;
|
||||
if (iid == IID_WP_USP)
|
||||
return 1;
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return 2;
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return 2;
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return 2;
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return 3;
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return 4;
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return 5;
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return 6;
|
||||
if (iid == IID_WP_MP9)
|
||||
return 3;
|
||||
if (iid == IID_WP_MP7)
|
||||
return 3;
|
||||
if (iid == IID_WP_RANGERMASTER)
|
||||
return 5;
|
||||
if (iid == IID_WP_AK112)
|
||||
return 5;
|
||||
if (iid == IID_WP_AK74)
|
||||
return 5;
|
||||
if (iid == IID_WP_DKS1)
|
||||
return 7;
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return 5;
|
||||
if (iid == IID_WP_SA80)
|
||||
return 5;
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return 9;
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return 10;
|
||||
|
||||
|
||||
if (iid == IID_ARM_SHIRT)
|
||||
return 3;
|
||||
if (iid == IID_ARM_LEATHER)
|
||||
return 5;
|
||||
if (iid == IID_ARM_KEVLAR)
|
||||
return 9;
|
||||
if (iid == IID_ARM_METAL)
|
||||
return 15;
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return 12;
|
||||
if (iid == IID_ARM_BROTHERHOOD)
|
||||
return 17;
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return 6;
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return 20;
|
||||
|
||||
if (iid == IID_BUILD_MRAMMO)
|
||||
return 2;
|
||||
if (iid == IID_BUILD_SHIELDGEN)
|
||||
return 4;
|
||||
if (iid == IID_BUILD_AUTODOC)
|
||||
return 3;
|
||||
if (iid == IID_BUILD_ROBOFANG)
|
||||
return 2;
|
||||
|
||||
|
||||
// bprint(PRINT_MEDIUM, ftos(iid), " without a weight!\n");
|
||||
return 0;
|
||||
};
|
||||
|
||||
float(float item) GetItemsWeight =
|
||||
{
|
||||
local float iid;
|
||||
iid = ToIID(item);
|
||||
if (NotStackable(iid))
|
||||
return GetItemWeight(iid);
|
||||
else
|
||||
return GetItemWeight(iid) * ToStatus(item);
|
||||
};
|
||||
|
||||
|
||||
string(float iid) GetItemName =
|
||||
{
|
||||
if (iid == IID_NONE)
|
||||
return "nothing";
|
||||
|
||||
|
||||
if (iid == IID_WP_TOOLKIT)
|
||||
return "toolkit";
|
||||
if (iid == IID_WP_KNIFE)
|
||||
return "knife";
|
||||
if (iid == IID_WP_AXE)
|
||||
return "axe";
|
||||
if (iid == IID_WP_VIBROBLADE)
|
||||
return "ripper";
|
||||
if (iid == IID_WP_POWERAXE)
|
||||
return "poweraxe";
|
||||
if (iid == IID_WP_USP)
|
||||
return "1911";
|
||||
if (iid == IID_WP_DEAGLE)
|
||||
return "desert eagle";
|
||||
if (iid == IID_WP_NEEDLER)
|
||||
return "needler";
|
||||
if (iid == IID_WP_ALIENBLASTER)
|
||||
return "alien blaster";
|
||||
if (iid == IID_WP_PIPERIFLE)
|
||||
return "pipe rifle";
|
||||
if (iid == IID_WP_WINCHESTER)
|
||||
return "winchester";
|
||||
if (iid == IID_WP_MOSSBERG)
|
||||
return "mossberg";
|
||||
if (iid == IID_WP_JACKHAMMER)
|
||||
return "jackhammer";
|
||||
if (iid == IID_WP_MP9)
|
||||
return "mp9";
|
||||
if (iid == IID_WP_MP7)
|
||||
return "grease gun";
|
||||
if (iid == IID_WP_RANGERMASTER)
|
||||
return "rangemaster";
|
||||
if (iid == IID_WP_AK112)
|
||||
return "ak-112";
|
||||
if (iid == IID_WP_AK74)
|
||||
return "ak-74";
|
||||
if (iid == IID_WP_DKS1)
|
||||
return "dks-1";
|
||||
if (iid == IID_WP_MOONLIGHT)
|
||||
return "moonlight";
|
||||
if (iid == IID_WP_SA80)
|
||||
return "sa-80";
|
||||
if (iid == IID_WP_GAUSERIFLE)
|
||||
return "gauss rifle";
|
||||
if (iid == IID_WP_PULSERIFLE)
|
||||
return "laser carbine";
|
||||
|
||||
|
||||
if (iid == IID_AM_USP)
|
||||
return "ammo for 1911";
|
||||
if (iid == IID_AM_DEAGLE)
|
||||
return "ammo for desert eagle";
|
||||
if (iid == IID_AM_NEEDLER)
|
||||
return "ammo for needler";
|
||||
if (iid == IID_AM_ALIENBLASTER)
|
||||
return "ammo for alien blaster";
|
||||
if (iid == IID_AM_PIPERIFLE)
|
||||
return "ammo for pipe rifle";
|
||||
if (iid == IID_AM_WINCHESTER)
|
||||
return "ammo for winchester";
|
||||
if (iid == IID_AM_MOSSBERG)
|
||||
return "ammo for mossberg";
|
||||
if (iid == IID_AM_JACKHAMMER)
|
||||
return "ammo for jackhammer";
|
||||
if (iid == IID_AM_MP9)
|
||||
return "ammo for mp9";
|
||||
if (iid == IID_AM_MP7)
|
||||
return "ammo for grease gun";
|
||||
if (iid == IID_AM_RANGERMASTER)
|
||||
return "ammo for rangemaster";
|
||||
if (iid == IID_AM_AK112)
|
||||
return "ammo for ak-112";
|
||||
if (iid == IID_AM_AK74)
|
||||
return "ammo for ak-74";
|
||||
if (iid == IID_AM_DKS1)
|
||||
return "ammo for dks-1";
|
||||
if (iid == IID_AM_MOONLIGHT)
|
||||
return "ammo for moonlight";
|
||||
if (iid == IID_AM_SA80)
|
||||
return "ammo for sa-80";
|
||||
if (iid == IID_AM_GAUSERIFLE)
|
||||
return "ammo for gauss rifle";
|
||||
if (iid == IID_AM_PULSERIFLE)
|
||||
return "ammo for laser carbine";
|
||||
|
||||
|
||||
if (iid == IID_GREN_FRAG)
|
||||
return "frag grenade";
|
||||
if (iid == IID_GREN_EMP)
|
||||
return "emp grenade";
|
||||
if (iid == IID_GREN_SMOKE)
|
||||
return "smoke grenade";
|
||||
if (iid == IID_GREN_FLASH)
|
||||
return "flashbang";
|
||||
|
||||
|
||||
if (iid == IID_ARM_SHIRT)
|
||||
return "bulletproof shirt";
|
||||
if (iid == IID_ARM_LEATHER)
|
||||
return "leather armor";
|
||||
if (iid == IID_ARM_KEVLAR)
|
||||
return "kevlar armor";
|
||||
if (iid == IID_ARM_METAL)
|
||||
return "metal armor";
|
||||
if (iid == IID_ARM_COMBAT)
|
||||
return "combat armor";
|
||||
if (iid == IID_ARM_BROTHERHOOD)
|
||||
return "brotherhood armor";
|
||||
if (iid == IID_ARM_FORCE)
|
||||
return "force armor";
|
||||
if (iid == IID_ARM_LPOWER)
|
||||
return "light power armor";
|
||||
|
||||
|
||||
if (iid == IID_CHEM_STIMPACK)
|
||||
return "stimpack";
|
||||
if (iid == IID_CHEM_MEDICALBAG)
|
||||
return "medical bag";
|
||||
if (iid == IID_CHEM_SUPERSTIM)
|
||||
return "superstim";
|
||||
if (iid == IID_CHEM_ADRENALINE)
|
||||
return "adrenaline";
|
||||
if (iid == IID_CHEM_PSYCHO)
|
||||
return "psycho";
|
||||
if (iid == IID_CHEM_BESERK)
|
||||
return "beserk";
|
||||
|
||||
if (iid == IID_BUILD_MRAMMO)
|
||||
return "mr. ammo";
|
||||
if (iid == IID_BUILD_SHIELDGEN)
|
||||
return "shield-gen";
|
||||
if (iid == IID_BUILD_AUTODOC)
|
||||
return "auto-doc";
|
||||
if (iid == IID_BUILD_ROBOFANG)
|
||||
return "robofang";
|
||||
|
||||
bprint(PRINT_MEDIUM, ftos(iid), " without a name!\n");
|
||||
return "unknown";
|
||||
};
|
||||
|
||||
|
||||
|
||||
float(float slotno, float iid) FitsInSlot =
|
||||
{
|
||||
if (slotno == 1 || slotno == 2)
|
||||
return IsShootable(iid);
|
||||
if (slotno == 3)
|
||||
return IsArmor(iid);
|
||||
return true;
|
||||
};
|
Loading…
Reference in a new issue