r129 - trunk/progsqc
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Oct 20 10:40:51 EDT 2008
Author: vermeulen
Date: 2008-10-20 10:40:51 -0400 (Mon, 20 Oct 2008)
New Revision: 129
Modified:
trunk/progsqc/actor.qc
trunk/progsqc/inventory.qc
trunk/progsqc/player.qc
Log:
Each character has their own iteminfo fields now
and now for the hard part...
Modified: trunk/progsqc/actor.qc
===================================================================
--- trunk/progsqc/actor.qc 2008-09-22 23:44:09 UTC (rev 128)
+++ trunk/progsqc/actor.qc 2008-10-20 14:40:51 UTC (rev 129)
@@ -278,25 +278,25 @@
{
if (time >= self.lowerguntime)
{
- actor_setviewmodeloffset(iteminfo_viewmodeloffset);
+ actor_setviewmodeloffset(self.iteminfo_viewmodeloffset);
self.viewmodelchange_x = 0;
self.viewmodelchange_z = -20;
self.weaponitem = self.switchweaponitem;
Inventory_GetItemInfo(self, self.weaponitem);
- actor_setweaponmodel(iteminfo_model, iteminfo_weapon_viewmodel);
+ actor_setweaponmodel(self.iteminfo_model, self.iteminfo_weapon_viewmodel);
weapon_state(WS_RAISE);
}
}
else if (self.weaponstate == WS_RELOAD)
{
- if (iteminfo_ammotype >= 0)
+ if (self.iteminfo_ammotype >= 0)
{
- f1 = min(iteminfo_ammomax - iteminfo_ammo, iteminfo_ammoinventory);
+ f1 = min(self.iteminfo_ammomax - self.iteminfo_ammo, self.iteminfo_ammoinventory);
if (f1 > 0)
{
Inventory_ModifyItem(self, self.weaponitem, 0, f1);
- Inventory_ModifyItem(self, iteminfo_ammotype, 0 - f1, 0);
+ Inventory_ModifyItem(self, self.iteminfo_ammotype, 0 - f1, 0);
}
}
weapon_state(WS_IDLE);
@@ -315,7 +315,7 @@
}
if (self.weaponstate == WS_IDLE)
{
- if (!iteminfo_weapon_canraise)
+ if (!self.iteminfo_weapon_canraise)
{
f1 = Inventory_GetBestWeapon(self);
if (f1 >= 0)
@@ -328,13 +328,13 @@
//bprint("lowering\n");
weapon_state(WS_LOWER);
}
- else if ((iteminfo_ammo <= iteminfo_ammo1minimumtofire) && (cvar("g_autoreload")) && (iteminfo_ammoinventory >= 1))
+ else if ((self.iteminfo_ammo <= self.iteminfo_ammo1minimumtofire) && (cvar("g_autoreload")) && (self.iteminfo_ammoinventory >= 1))
weapon_state(WS_RELOAD);
- else if (self.button4 && ((iteminfo_ammo < iteminfo_ammomax && iteminfo_ammoinventory >= 1)))
+ else if (self.button4 && ((self.iteminfo_ammo < self.iteminfo_ammomax && self.iteminfo_ammoinventory >= 1)))
weapon_state(WS_RELOAD);
- else if (self.button0 && self.weapon_canfire1 && (!self.weapon_oldbutton0 || !(iteminfo_ammo1fireflags & FIREFLAG_SEMIAUTOMATIC)))
+ else if (self.button0 && self.weapon_canfire1 && (!self.weapon_oldbutton0 || !(self.iteminfo_ammo1fireflags & FIREFLAG_SEMIAUTOMATIC)))
weapon_state(WS_FIRE1);
- else if (self.button3 && self.weapon_canfire2 && (!self.weapon_oldbutton3 || !(iteminfo_ammo2fireflags & FIREFLAG_SEMIAUTOMATIC)))
+ else if (self.button3 && self.weapon_canfire2 && (!self.weapon_oldbutton3 || !(self.iteminfo_ammo2fireflags & FIREFLAG_SEMIAUTOMATIC)))
weapon_state(WS_FIRE2);
}
self.weapon_oldbutton0 = self.button0;
@@ -371,23 +371,23 @@
sound(self, CHAN_WEAPON2, "weapons/minigun_whirlend.wav", 0.5, ATTN_NORM); // templeofnoise
self.weaponsound_cycle = 0; // templeofnoise
}
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_idle, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_idle, ANIMTYPE_IDLE, viewweapon_animframefunc);
//anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_STAND, ANIMTYPE_IDLE, torso_animframefunc);
}
else if (newstate == WS_FIRE1)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_fire1, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_fire1, ANIMTYPE_IDLE, viewweapon_animframefunc);
anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_ATTACK, ANIMTYPE_IDLE, torso_animframefunc);
- self.viewmodelchange = self.viewmodelchange + iteminfo_ammo1viewmodelpush;
+ self.viewmodelchange = self.viewmodelchange + self.iteminfo_ammo1viewmodelpush;
self.viewmodelchange_y = self.viewmodelchange_y + crandom();
- //bprint("weapon_state ");bprint(ftos(newstate));bprint(":");bprint(vtos(iteminfo_weapon_viewmodelanim_fire1));bprint(" ");bprint(ftos(self.actorpart_torso.anim_frametime));bprint("\n");
+ //bprint("weapon_state ");bprint(ftos(newstate));bprint(":");bprint(vtos(self.iteminfo_weapon_viewmodelanim_fire1));bprint(" ");bprint(ftos(self.actorpart_torso.anim_frametime));bprint("\n");
weapon_fire(FALSE);
}
else if (newstate == WS_FIRE2)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_fire2, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_fire2, ANIMTYPE_IDLE, viewweapon_animframefunc);
anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_ATTACK, ANIMTYPE_IDLE, torso_animframefunc);
- self.viewmodelchange = self.viewmodelchange + iteminfo_ammo2viewmodelpush;
+ self.viewmodelchange = self.viewmodelchange + self.iteminfo_ammo2viewmodelpush;
weapon_fire(TRUE);
}
else if (newstate == WS_FIRE3)
@@ -398,27 +398,27 @@
}
else if (newstate == WS_RELOAD)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_reload, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_reload, ANIMTYPE_IDLE, viewweapon_animframefunc);
anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_RELOAD, ANIMTYPE_IDLE, torso_animframefunc);
}
else if (newstate == WS_LOWER)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_lower, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_lower, ANIMTYPE_IDLE, viewweapon_animframefunc);
anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_DROP, ANIMTYPE_IDLE, torso_animframefunc);
}
else if (newstate == WS_RAISE)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_raise, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_raise, ANIMTYPE_IDLE, viewweapon_animframefunc);
anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_RAISE, ANIMTYPE_IDLE, torso_animframefunc);
}
else if (newstate == WS_TURNON)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_turnon, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_turnon, ANIMTYPE_IDLE, viewweapon_animframefunc);
//anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_IDLE, ANIMTYPE_IDLE, torso_animframefunc);
}
else if (newstate == WS_TURNOFF)
{
- anim_start(self.actorpart_viewweapon, iteminfo_weapon_viewmodelanim_turnoff, ANIMTYPE_IDLE, viewweapon_animframefunc);
+ anim_start(self.actorpart_viewweapon, self.iteminfo_weapon_viewmodelanim_turnoff, ANIMTYPE_IDLE, viewweapon_animframefunc);
//anim_start(self.actorpart_torso, self.playerclass.actoranim_TORSO_IDLE, ANIMTYPE_IDLE, torso_animframefunc);
}
};
@@ -460,65 +460,65 @@
if (secondary)
{
shotorg = muzzle2tagorigin; // overridden on hagar
- shotdir = iteminfo_ammo2speeds;
- shotdamage = iteminfo_ammo2damage;
- shotdamagetype = iteminfo_ammo2damagetype;
- shotlifetime = iteminfo_ammo2lifetime;
- shotprojflags = iteminfo_ammo2projflags;
- shotfireflags = iteminfo_ammo2fireflags;
- shotexplflags = iteminfo_ammo2explflags;
- shottrailflags = iteminfo_ammo2trailflags;
- shoteffectflags = iteminfo_ammo2effectflags;
- shotmodel = iteminfo_ammo2model;
- shotfiresound = iteminfo_ammo2firesound;
- shotexplodesound = iteminfo_ammo2explodesound;
- shotbouncesound = iteminfo_ammo2bouncesound;
- numberof = iteminfo_ammo2numberof;
- recoil = iteminfo_ammo2recoil;
- mintofire = iteminfo_ammo2minimumtofire;
- tracer = iteminfo_ammo2tracer;
- tracermodel = iteminfo_ammo2tracermodel;
- modelscale = iteminfo_ammo2modelscale;
- projhealth = iteminfo_ammo2health;
- projmass = iteminfo_ammo2mass;
- projcolormod = iteminfo_ammo2colormod;
+ shotdir = self.iteminfo_ammo2speeds;
+ shotdamage = self.iteminfo_ammo2damage;
+ shotdamagetype = self.iteminfo_ammo2damagetype;
+ shotlifetime = self.iteminfo_ammo2lifetime;
+ shotprojflags = self.iteminfo_ammo2projflags;
+ shotfireflags = self.iteminfo_ammo2fireflags;
+ shotexplflags = self.iteminfo_ammo2explflags;
+ shottrailflags = self.iteminfo_ammo2trailflags;
+ shoteffectflags = self.iteminfo_ammo2effectflags;
+ shotmodel = self.iteminfo_ammo2model;
+ shotfiresound = self.iteminfo_ammo2firesound;
+ shotexplodesound = self.iteminfo_ammo2explodesound;
+ shotbouncesound = self.iteminfo_ammo2bouncesound;
+ numberof = self.iteminfo_ammo2numberof;
+ recoil = self.iteminfo_ammo2recoil;
+ mintofire = self.iteminfo_ammo2minimumtofire;
+ tracer = self.iteminfo_ammo2tracer;
+ tracermodel = self.iteminfo_ammo2tracermodel;
+ modelscale = self.iteminfo_ammo2modelscale;
+ projhealth = self.iteminfo_ammo2health;
+ projmass = self.iteminfo_ammo2mass;
+ projcolormod = self.iteminfo_ammo2colormod;
}
else
{
shotorg = muzzle1tagorigin;
- shotdir = iteminfo_ammo1speeds;
- shotdamage = iteminfo_ammo1damage;
- shotdamagetype = iteminfo_ammo1damagetype;
- shotlifetime = iteminfo_ammo1lifetime;
- shotprojflags = iteminfo_ammo1projflags;
- shotfireflags = iteminfo_ammo1fireflags;
- shotexplflags = iteminfo_ammo1explflags;
- shottrailflags = iteminfo_ammo1trailflags;
- shoteffectflags = iteminfo_ammo1effectflags;
- shotmodel = iteminfo_ammo1model;
- shotfiresound = iteminfo_ammo1firesound;
- shotexplodesound = iteminfo_ammo1explodesound;
- shotbouncesound = iteminfo_ammo1bouncesound;
- numberof = iteminfo_ammo1numberof;
- recoil = iteminfo_ammo1recoil;
- mintofire = iteminfo_ammo1minimumtofire;
- tracer = iteminfo_ammo1tracer;
- tracermodel = iteminfo_ammo1tracermodel;
- modelscale = iteminfo_ammo1modelscale;
- projhealth = iteminfo_ammo1health;
- projmass = iteminfo_ammo1mass;
- projcolormod = iteminfo_ammo1colormod;
+ shotdir = self.iteminfo_ammo1speeds;
+ shotdamage = self.iteminfo_ammo1damage;
+ shotdamagetype = self.iteminfo_ammo1damagetype;
+ shotlifetime = self.iteminfo_ammo1lifetime;
+ shotprojflags = self.iteminfo_ammo1projflags;
+ shotfireflags = self.iteminfo_ammo1fireflags;
+ shotexplflags = self.iteminfo_ammo1explflags;
+ shottrailflags = self.iteminfo_ammo1trailflags;
+ shoteffectflags = self.iteminfo_ammo1effectflags;
+ shotmodel = self.iteminfo_ammo1model;
+ shotfiresound = self.iteminfo_ammo1firesound;
+ shotexplodesound = self.iteminfo_ammo1explodesound;
+ shotbouncesound = self.iteminfo_ammo1bouncesound;
+ numberof = self.iteminfo_ammo1numberof;
+ recoil = self.iteminfo_ammo1recoil;
+ mintofire = self.iteminfo_ammo1minimumtofire;
+ tracer = self.iteminfo_ammo1tracer;
+ tracermodel = self.iteminfo_ammo1tracermodel;
+ modelscale = self.iteminfo_ammo1modelscale;
+ projhealth = self.iteminfo_ammo1health;
+ projmass = self.iteminfo_ammo1mass;
+ projcolormod = self.iteminfo_ammo1colormod;
}
if (self.unlimitedinventory == 0)
- if (iteminfo_ammotype < ITEMTYPE_AMMO1) // then it's an item
+ if (self.iteminfo_ammotype < ITEMTYPE_AMMO1) // then it's an item
{
Inventory_ModifyItem(self, self.itemselected, 0 - mintofire, 0);
}
else
{
Inventory_ModifyItem(self, self.weaponitem, 0, 0 - mintofire);
- if (((self.currentammo + iteminfo_ammoinventory) < mintofire) && (iteminfo_removewhennoammo))
+ if (((self.currentammo + self.iteminfo_ammoinventory) < mintofire) && (self.iteminfo_removewhennoammo))
{
Inventory_ModifyItem(self, self.weaponitem, 0 - 1, 0);
}
@@ -541,10 +541,10 @@
self.weaponitem = weaponitemtype;
self.switchweaponitem = self.weaponitem;
- actor_setweaponmodel(iteminfo_model, iteminfo_weapon_viewmodel);
- actor_setviewmodeloffset(iteminfo_viewmodeloffset);
- self.viewmodelchange = iteminfo_viewmodeloffset;
- //self.actorpart_weapon.scale = iteminfo_modelscale;
+ actor_setweaponmodel(character.iteminfo_model, character.iteminfo_weapon_viewmodel);
+ actor_setviewmodeloffset(character.iteminfo_viewmodeloffset);
+ character.viewmodelchange = character.iteminfo_viewmodeloffset;
+ //self.actorpart_weapon.scale = character.iteminfo_modelscale;
weapon_state(WS_IDLE);
};
Modified: trunk/progsqc/inventory.qc
===================================================================
--- trunk/progsqc/inventory.qc 2008-09-22 23:44:09 UTC (rev 128)
+++ trunk/progsqc/inventory.qc 2008-10-20 14:40:51 UTC (rev 129)
@@ -57,88 +57,88 @@
.float switchweaponitem;
// current item stats
-float iteminfo_quantity;
-float iteminfo_ammo;
-float iteminfo_ammoinventory; // how much ammo is in inventory (can be loaded into the gun)
+.float iteminfo_quantity;
+.float iteminfo_ammo;
+.float iteminfo_ammoinventory; // how much ammo is in inventory (can be loaded into the gun)
// general information about the item
-string iteminfo_model;
-string iteminfo_pickupsound;
-string iteminfo_pickupmodel;
-vector iteminfo_viewmodeloffset;
-string iteminfo_name;
-float iteminfo_removewhennoammo;
-float iteminfo_itemtype;
-float iteminfo_quantitymax;
-float iteminfo_rechargerate;
-float iteminfo_ammomax;
-float iteminfo_ammoinventorymax;
-float iteminfo_ammotype;
-float iteminfo_modelscale;
-vector iteminfo_modelcolormod;
+.string iteminfo_model;
+.string iteminfo_pickupsound;
+.string iteminfo_pickupmodel;
+.vector iteminfo_viewmodeloffset;
+.string iteminfo_name;
+.float iteminfo_removewhennoammo;
+.float iteminfo_itemtype;
+.float iteminfo_quantitymax;
+.float iteminfo_rechargerate;
+.float iteminfo_ammomax;
+.float iteminfo_ammoinventorymax;
+.float iteminfo_ammotype;
+.float iteminfo_modelscale;
+.vector iteminfo_modelcolormod;
-float iteminfo_ammo1minimumtofire;
-float iteminfo_ammo2minimumtofire;
-float iteminfo_ammo1numberof;
-float iteminfo_ammo2numberof;
-float iteminfo_ammo1recoil;
-float iteminfo_ammo2recoil;
-vector iteminfo_ammo1damage;
-vector iteminfo_ammo2damage;
-float iteminfo_ammo1damagetype;
-float iteminfo_ammo2damagetype;
-vector iteminfo_ammo1speeds;
-vector iteminfo_ammo2speeds;
-float iteminfo_ammo1lifetime;
-float iteminfo_ammo2lifetime;
-float iteminfo_ammo1fireflags;
-float iteminfo_ammo2fireflags;
-float iteminfo_ammo1projflags;
-float iteminfo_ammo2projflags;
-float iteminfo_ammo1explflags;
-float iteminfo_ammo2explflags;
-float iteminfo_ammo1trailflags;
-float iteminfo_ammo2trailflags;
-float iteminfo_ammo1effectflags;
-float iteminfo_ammo2effectflags;
-string iteminfo_ammo1model;
-string iteminfo_ammo2model;
-string iteminfo_ammo1explodesound;
-string iteminfo_ammo2explodesound;
-string iteminfo_ammo1bouncesound;
-string iteminfo_ammo2bouncesound;
-string iteminfo_ammo1firesound;
-string iteminfo_ammo2firesound;
-float iteminfo_ammo1tracer;
-float iteminfo_ammo2tracer;
-string iteminfo_ammo1tracermodel;
-string iteminfo_ammo2tracermodel;
-float iteminfo_ammo1modelscale;
-float iteminfo_ammo2modelscale;
-float iteminfo_ammo1health;
-float iteminfo_ammo2health;
-float iteminfo_ammo1mass;
-float iteminfo_ammo2mass;
-vector iteminfo_ammo1colormod;
-vector iteminfo_ammo2colormod;
-vector iteminfo_ammo1viewmodelpush;
-vector iteminfo_ammo2viewmodelpush;
-float iteminfo_ammo1noprojectile;
-float iteminfo_ammo2noprojectile;
+.float iteminfo_ammo1minimumtofire;
+.float iteminfo_ammo2minimumtofire;
+.float iteminfo_ammo1numberof;
+.float iteminfo_ammo2numberof;
+.float iteminfo_ammo1recoil;
+.float iteminfo_ammo2recoil;
+.vector iteminfo_ammo1damage;
+.vector iteminfo_ammo2damage;
+.float iteminfo_ammo1damagetype;
+.float iteminfo_ammo2damagetype;
+.vector iteminfo_ammo1speeds;
+.vector iteminfo_ammo2speeds;
+.float iteminfo_ammo1lifetime;
+.float iteminfo_ammo2lifetime;
+.float iteminfo_ammo1fireflags;
+.float iteminfo_ammo2fireflags;
+.float iteminfo_ammo1projflags;
+.float iteminfo_ammo2projflags;
+.float iteminfo_ammo1explflags;
+.float iteminfo_ammo2explflags;
+.float iteminfo_ammo1trailflags;
+.float iteminfo_ammo2trailflags;
+.float iteminfo_ammo1effectflags;
+.float iteminfo_ammo2effectflags;
+.string iteminfo_ammo1model;
+.string iteminfo_ammo2model;
+.string iteminfo_ammo1explodesound;
+.string iteminfo_ammo2explodesound;
+.string iteminfo_ammo1bouncesound;
+.string iteminfo_ammo2bouncesound;
+.string iteminfo_ammo1firesound;
+.string iteminfo_ammo2firesound;
+.float iteminfo_ammo1tracer;
+.float iteminfo_ammo2tracer;
+.string iteminfo_ammo1tracermodel;
+.string iteminfo_ammo2tracermodel;
+.float iteminfo_ammo1modelscale;
+.float iteminfo_ammo2modelscale;
+.float iteminfo_ammo1health;
+.float iteminfo_ammo2health;
+.float iteminfo_ammo1mass;
+.float iteminfo_ammo2mass;
+.vector iteminfo_ammo1colormod;
+.vector iteminfo_ammo2colormod;
+.vector iteminfo_ammo1viewmodelpush;
+.vector iteminfo_ammo2viewmodelpush;
+.float iteminfo_ammo1noprojectile;
+.float iteminfo_ammo2noprojectile;
// special information specific to weapon items
-string iteminfo_weapon_viewmodel;
-vector iteminfo_weapon_viewmodelanim_idle;
-vector iteminfo_weapon_viewmodelanim_fire1;
-vector iteminfo_weapon_viewmodelanim_fire2;
-vector iteminfo_weapon_viewmodelanim_reload;
-vector iteminfo_weapon_viewmodelanim_lower;
-vector iteminfo_weapon_viewmodelanim_raise;
-vector iteminfo_weapon_viewmodelanim_turnon;
-vector iteminfo_weapon_viewmodelanim_turnoff;
-float iteminfo_weapon_canreload;
-float iteminfo_weapon_canraise;
-float iteminfo_weapon_rank;
+.string iteminfo_weapon_viewmodel;
+.vector iteminfo_weapon_viewmodelanim_idle;
+.vector iteminfo_weapon_viewmodelanim_fire1;
+.vector iteminfo_weapon_viewmodelanim_fire2;
+.vector iteminfo_weapon_viewmodelanim_reload;
+.vector iteminfo_weapon_viewmodelanim_lower;
+.vector iteminfo_weapon_viewmodelanim_raise;
+.vector iteminfo_weapon_viewmodelanim_turnon;
+.vector iteminfo_weapon_viewmodelanim_turnoff;
+.float iteminfo_weapon_canreload;
+.float iteminfo_weapon_canraise;
+.float iteminfo_weapon_rank;
// this array and functions depend on fteqcc arrays, but are easily replaced with a huge chunk of if else stuff if needed
.vector inventory[ITEMTYPE_TOTAL];
@@ -159,92 +159,93 @@
local vector item;
local entity e;
local float d;
+ //bprint(character.iteminfo_name," : ",ftos(itemtype)," : ",character.model,"\n");
if (itemtype < 0)
{
- bprint(iteminfo_name);
+ bprint(character.iteminfo_name);
//error("itemtype = ",ftos(itemtype),"\n");
}
if (itemtype >= ITEMTYPE_TOTAL)
bprint(ftos(itemtype)," ", ftos(ITEMTYPE_TOTAL), " : itemtype >= ITEMTYPE_TOTAL\n");
- iteminfo_itemtype = itemtype;
+ character.iteminfo_itemtype = itemtype;
item = Inventory_GetItem(character, itemtype);
- iteminfo_quantity = item_x;
- iteminfo_ammo = item_y;
- iteminfo_ammoinventory = 0;
+ character.iteminfo_quantity = item_x;
+ character.iteminfo_ammo = item_y;
+ character.iteminfo_ammoinventory = 0;
- iteminfo_model = "";
- iteminfo_modelcolormod = '1 1 1';
- iteminfo_pickupmodel = "";
- iteminfo_viewmodeloffset = '0 0 0';
- iteminfo_name = "unknown";
- iteminfo_pickupsound = "";
- iteminfo_removewhennoammo = 0;
- iteminfo_quantitymax = 0;
- iteminfo_rechargerate = 0;
- iteminfo_ammomax = 0;
- iteminfo_ammoinventorymax = 0;
- iteminfo_ammotype = ITEMTYPE_NONE;
+ character.iteminfo_model = "";
+ character.iteminfo_modelcolormod = '1 1 1';
+ character.iteminfo_pickupmodel = "";
+ character.iteminfo_viewmodeloffset = '0 0 0';
+ character.iteminfo_name = "unknown";
+ character.iteminfo_pickupsound = "";
+ character.iteminfo_removewhennoammo = 0;
+ character.iteminfo_quantitymax = 0;
+ character.iteminfo_rechargerate = 0;
+ character.iteminfo_ammomax = 0;
+ character.iteminfo_ammoinventorymax = 0;
+ character.iteminfo_ammotype = ITEMTYPE_NONE;
- iteminfo_ammo1minimumtofire = 0;
- iteminfo_ammo1damagetype = DAMAGETYPE_UNKNOWN;
- iteminfo_ammo1damage = '0 0 0';
- iteminfo_ammo1speeds = '0 0 0';
- iteminfo_ammo1lifetime = 10;
- iteminfo_ammo1projflags = PROJFLAG_ANYIMPACT;
- iteminfo_ammo1explflags = 0;
- iteminfo_ammo1trailflags = 0;
- iteminfo_ammo1effectflags = 0;
- iteminfo_ammo1fireflags = 0;
- iteminfo_ammo1model = "";
- iteminfo_ammo1firesound = "";
- iteminfo_ammo1explodesound = "";
- iteminfo_ammo1bouncesound = "";
- iteminfo_ammo1numberof = 1;
- iteminfo_ammo1recoil = 0;
- iteminfo_ammo1tracer = 0;
- iteminfo_ammo1tracermodel = "";
- iteminfo_ammo1modelscale = 1;
- iteminfo_ammo1health = 0;
- iteminfo_ammo1mass = 0;
- iteminfo_ammo1colormod = '0 0 0';
- iteminfo_ammo1viewmodelpush = '0 0 0';
- iteminfo_ammo1noprojectile = 0;
- iteminfo_ammo2minimumtofire = 0;
- iteminfo_ammo2damagetype = DAMAGETYPE_UNKNOWN;
- iteminfo_ammo2damage = '0 0 0';
- iteminfo_ammo2speeds = '0 0 0';
- iteminfo_ammo2lifetime = 10;
- iteminfo_ammo2projflags = PROJFLAG_ANYIMPACT;
- iteminfo_ammo2explflags = 0;
- iteminfo_ammo2trailflags = 0;
- iteminfo_ammo2effectflags = 0;
- iteminfo_ammo2fireflags = 0;
- iteminfo_ammo2model = "";
- iteminfo_ammo2firesound = "";
- iteminfo_ammo2explodesound = "";
- iteminfo_ammo2bouncesound = "";
- iteminfo_ammo2numberof = 1;
- iteminfo_ammo2recoil = 0;
- iteminfo_ammo2tracer = 0;
- iteminfo_ammo2tracermodel = "";
- iteminfo_ammo2modelscale = 1;
- iteminfo_ammo2health = 0;
- iteminfo_ammo2mass = 0;
- iteminfo_ammo2colormod = '0 0 0';
- iteminfo_ammo2viewmodelpush = '0 0 0';
- iteminfo_ammo2noprojectile = 0;
- iteminfo_weapon_viewmodel = "";
- iteminfo_weapon_viewmodelanim_idle = '0 0 1';
- iteminfo_weapon_viewmodelanim_fire1 = '0 0 2';
- iteminfo_weapon_viewmodelanim_fire2 = '0 0 2';
- iteminfo_weapon_viewmodelanim_reload = '0 0 0';
- iteminfo_weapon_viewmodelanim_lower = '0 0 2';
- iteminfo_weapon_viewmodelanim_raise = '0 0 2';
- iteminfo_weapon_viewmodelanim_turnon = '0 0 2';
- iteminfo_weapon_viewmodelanim_turnoff = '0 0 2';
- iteminfo_weapon_canreload = FALSE;
- iteminfo_weapon_canraise = FALSE;
- iteminfo_weapon_rank = 0;
+ character.iteminfo_ammo1minimumtofire = 0;
+ character.iteminfo_ammo1damagetype = DAMAGETYPE_UNKNOWN;
+ character.iteminfo_ammo1damage = '0 0 0';
+ character.iteminfo_ammo1speeds = '0 0 0';
+ character.iteminfo_ammo1lifetime = 10;
+ character.iteminfo_ammo1projflags = PROJFLAG_ANYIMPACT;
+ character.iteminfo_ammo1explflags = 0;
+ character.iteminfo_ammo1trailflags = 0;
+ character.iteminfo_ammo1effectflags = 0;
+ character.iteminfo_ammo1fireflags = 0;
+ character.iteminfo_ammo1model = "";
+ character.iteminfo_ammo1firesound = "";
+ character.iteminfo_ammo1explodesound = "";
+ character.iteminfo_ammo1bouncesound = "";
+ character.iteminfo_ammo1numberof = 1;
+ character.iteminfo_ammo1recoil = 0;
+ character.iteminfo_ammo1tracer = 0;
+ character.iteminfo_ammo1tracermodel = "";
+ character.iteminfo_ammo1modelscale = 1;
+ character.iteminfo_ammo1health = 0;
+ character.iteminfo_ammo1mass = 0;
+ character.iteminfo_ammo1colormod = '0 0 0';
+ character.iteminfo_ammo1viewmodelpush = '0 0 0';
+ character.iteminfo_ammo1noprojectile = 0;
+ character.iteminfo_ammo2minimumtofire = 0;
+ character.iteminfo_ammo2damagetype = DAMAGETYPE_UNKNOWN;
+ character.iteminfo_ammo2damage = '0 0 0';
+ character.iteminfo_ammo2speeds = '0 0 0';
+ character.iteminfo_ammo2lifetime = 10;
+ character.iteminfo_ammo2projflags = PROJFLAG_ANYIMPACT;
+ character.iteminfo_ammo2explflags = 0;
+ character.iteminfo_ammo2trailflags = 0;
+ character.iteminfo_ammo2effectflags = 0;
+ character.iteminfo_ammo2fireflags = 0;
+ character.iteminfo_ammo2model = "";
+ character.iteminfo_ammo2firesound = "";
+ character.iteminfo_ammo2explodesound = "";
+ character.iteminfo_ammo2bouncesound = "";
+ character.iteminfo_ammo2numberof = 1;
+ character.iteminfo_ammo2recoil = 0;
+ character.iteminfo_ammo2tracer = 0;
+ character.iteminfo_ammo2tracermodel = "";
+ character.iteminfo_ammo2modelscale = 1;
+ character.iteminfo_ammo2health = 0;
+ character.iteminfo_ammo2mass = 0;
+ character.iteminfo_ammo2colormod = '0 0 0';
+ character.iteminfo_ammo2viewmodelpush = '0 0 0';
+ character.iteminfo_ammo2noprojectile = 0;
+ character.iteminfo_weapon_viewmodel = "";
+ character.iteminfo_weapon_viewmodelanim_idle = '0 0 1';
+ character.iteminfo_weapon_viewmodelanim_fire1 = '0 0 2';
+ character.iteminfo_weapon_viewmodelanim_fire2 = '0 0 2';
+ character.iteminfo_weapon_viewmodelanim_reload = '0 0 0';
+ character.iteminfo_weapon_viewmodelanim_lower = '0 0 2';
+ character.iteminfo_weapon_viewmodelanim_raise = '0 0 2';
+ character.iteminfo_weapon_viewmodelanim_turnon = '0 0 2';
+ character.iteminfo_weapon_viewmodelanim_turnoff = '0 0 2';
+ character.iteminfo_weapon_canreload = FALSE;
+ character.iteminfo_weapon_canraise = FALSE;
+ character.iteminfo_weapon_rank = 0;
character.weapon_canfire1 = FALSE;
character.weapon_canfire2 = FALSE;
@@ -252,155 +253,155 @@
if (itemtype < ITEMTYPE_AMMO1)
{
// set the settings for all weapons
- iteminfo_quantitymax = 1;
- iteminfo_pickupsound = "items/pickupweapon.wav";
- iteminfo_weapon_viewmodelanim_idle = '0 0 30';
- iteminfo_weapon_viewmodelanim_lower = '0 0 0';
- iteminfo_weapon_viewmodelanim_raise = '0 0 0';
+ character.iteminfo_quantitymax = 1;
+ character.iteminfo_pickupsound = "items/pickupweapon.wav";
+ character.iteminfo_weapon_viewmodelanim_idle = '0 0 30';
+ character.iteminfo_weapon_viewmodelanim_lower = '0 0 0';
+ character.iteminfo_weapon_viewmodelanim_raise = '0 0 0';
string wname;
if (itemtype < ITEMTYPE_AI_WEAP1)
{
wname = strcat("g_weap",ftos(itemtype + 1));
- iteminfo_ammotype = cvar(wname,"_ammotype") + ITEMTYPE_AMMO1 - 1;
+ character.iteminfo_ammotype = cvar(wname,"_ammotype") + ITEMTYPE_AMMO1 - 1;
}
else if (itemtype < ITEMTYPE_ITEM1)
{
wname = strcat("g_ai_weap",ftos(itemtype - ITEMTYPE_AI_WEAP1 + 1));
- iteminfo_ammotype = cvar(wname,"_ammotype") + ITEMTYPE_AMMO1 - 1;
+ character.iteminfo_ammotype = cvar(wname,"_ammotype") + ITEMTYPE_AMMO1 - 1;
}
else
{
wname = strcat("g_item",ftos(itemtype - ITEMTYPE_ITEM1 + 1));
- iteminfo_quantitymax = cvar(wname,"_quantitymax");
- iteminfo_ammotype = itemtype; // so the firing code knows it's a item
+ character.iteminfo_quantitymax = cvar(wname,"_quantitymax");
+ character.iteminfo_ammotype = itemtype; // so the firing code knows it's a item
}
- iteminfo_ammo1damagetype = DAMAGETYPE_WEAP1 + itemtype;
- iteminfo_ammo2damagetype = DAMAGETYPE_WEAP1 + itemtype;
+ character.iteminfo_ammo1damagetype = DAMAGETYPE_WEAP1 + itemtype;
+ character.iteminfo_ammo2damagetype = DAMAGETYPE_WEAP1 + itemtype;
- iteminfo_name = cvar_string(wname);
- iteminfo_model = cvar_string(wname,"_model");
- iteminfo_weapon_viewmodel = cvar_string(wname,"_viewmodel");
- iteminfo_pickupmodel = cvar_string(wname,"_pickupmodel");
- iteminfo_viewmodeloffset = stov(cvar_string(wname,"_viewmodeloffset"));
- iteminfo_modelcolormod = stov(cvar_string(wname,"_modelcolormod"));
+ character.iteminfo_name = cvar_string(wname);
+ character.iteminfo_model = cvar_string(wname,"_model");
+ character.iteminfo_weapon_viewmodel = cvar_string(wname,"_viewmodel");
+ character.iteminfo_pickupmodel = cvar_string(wname,"_pickupmodel");
+ character.iteminfo_viewmodeloffset = stov(cvar_string(wname,"_viewmodeloffset"));
+ character.iteminfo_modelcolormod = stov(cvar_string(wname,"_modelcolormod"));
- iteminfo_removewhennoammo = cvar(wname,"_removewhennoammo");
+ character.iteminfo_removewhennoammo = cvar(wname,"_removewhennoammo");
- iteminfo_rechargerate = cvar(wname,"_rechargerate");
+ character.iteminfo_rechargerate = cvar(wname,"_rechargerate");
- iteminfo_modelscale = cvar(wname,"_modelscale");
+ character.iteminfo_modelscale = cvar(wname,"_modelscale");
- iteminfo_ammomax = cvar(wname,"_ammomax");
- iteminfo_ammoinventorymax = cvar(wname,"_ammoinventorymax");
+ character.iteminfo_ammomax = cvar(wname,"_ammomax");
+ character.iteminfo_ammoinventorymax = cvar(wname,"_ammoinventorymax");
- iteminfo_ammo1damage = stov(cvar_string(wname,"_ammo1damage"));
- iteminfo_ammo1speeds = stov(cvar_string(wname,"_ammo1speeds"));
- iteminfo_ammo1model = cvar_string(wname,"_ammo1model");
- iteminfo_ammo1firesound = cvar_string(wname,"_ammo1firesound");
- //iteminfo_ammo1explodesound = strzone(cvar_string(wname,"_ammo1explodesound"));
+ character.iteminfo_ammo1damage = stov(cvar_string(wname,"_ammo1damage"));
+ character.iteminfo_ammo1speeds = stov(cvar_string(wname,"_ammo1speeds"));
+ character.iteminfo_ammo1model = cvar_string(wname,"_ammo1model");
+ character.iteminfo_ammo1firesound = cvar_string(wname,"_ammo1firesound");
+ //character.iteminfo_ammo1explodesound = strzone(cvar_string(wname,"_ammo1explodesound"));
- iteminfo_ammo1projflags = cvar(wname,"_ammo1projflags");
- iteminfo_ammo1explflags = cvar(wname,"_ammo1explflags");
- iteminfo_ammo1fireflags = cvar(wname,"_ammo1fireflags");
- iteminfo_ammo1trailflags = cvar(wname,"_ammo1trailflags");
- iteminfo_ammo1effectflags = cvar(wname,"_ammo1effectflags");
+ character.iteminfo_ammo1projflags = cvar(wname,"_ammo1projflags");
+ character.iteminfo_ammo1explflags = cvar(wname,"_ammo1explflags");
+ character.iteminfo_ammo1fireflags = cvar(wname,"_ammo1fireflags");
+ character.iteminfo_ammo1trailflags = cvar(wname,"_ammo1trailflags");
+ character.iteminfo_ammo1effectflags = cvar(wname,"_ammo1effectflags");
- iteminfo_ammo1noprojectile = cvar(wname,"_ammo1noprojectile");
+ character.iteminfo_ammo1noprojectile = cvar(wname,"_ammo1noprojectile");
- iteminfo_ammo1numberof = cvar(wname,"_ammo1numberof");
- iteminfo_ammo1recoil = cvar(wname,"_ammo1recoil");
- iteminfo_ammo1minimumtofire = cvar(wname,"_ammo1mintofire");
- iteminfo_ammo1lifetime = cvar(wname,"_ammo1lifetime");
- iteminfo_ammo1tracer = cvar(wname,"_ammo1tracer");
- iteminfo_ammo1tracermodel = cvar_string(wname,"_ammo1tracermodel");
- iteminfo_ammo1modelscale = cvar(wname,"_ammo1modelscale");
- iteminfo_ammo1health = cvar(wname,"_ammo1health");
- iteminfo_ammo1mass = cvar(wname,"_ammo1mass");
- iteminfo_ammo1colormod = stov(cvar_string(wname,"_ammo1colormod"));
- iteminfo_ammo1viewmodelpush = stov(cvar_string(wname,"_ammo1viewmodelpush"));
- iteminfo_weapon_viewmodelanim_fire1 = stov(cvar_string(wname,"_fire1"));
+ character.iteminfo_ammo1numberof = cvar(wname,"_ammo1numberof");
+ character.iteminfo_ammo1recoil = cvar(wname,"_ammo1recoil");
+ character.iteminfo_ammo1minimumtofire = cvar(wname,"_ammo1mintofire");
+ character.iteminfo_ammo1lifetime = cvar(wname,"_ammo1lifetime");
+ character.iteminfo_ammo1tracer = cvar(wname,"_ammo1tracer");
+ character.iteminfo_ammo1tracermodel = cvar_string(wname,"_ammo1tracermodel");
+ character.iteminfo_ammo1modelscale = cvar(wname,"_ammo1modelscale");
+ character.iteminfo_ammo1health = cvar(wname,"_ammo1health");
+ character.iteminfo_ammo1mass = cvar(wname,"_ammo1mass");
+ character.iteminfo_ammo1colormod = stov(cvar_string(wname,"_ammo1colormod"));
+ character.iteminfo_ammo1viewmodelpush = stov(cvar_string(wname,"_ammo1viewmodelpush"));
+ character.iteminfo_weapon_viewmodelanim_fire1 = stov(cvar_string(wname,"_fire1"));
- iteminfo_ammo2damage = stov(cvar_string(wname,"_ammo2damage"));
- iteminfo_ammo2speeds = stov(cvar_string(wname,"_ammo2speeds"));
- iteminfo_ammo2model = cvar_string(wname,"_ammo2model");
- iteminfo_ammo2firesound = cvar_string(wname,"_ammo2firesound");
- //iteminfo_ammo2explodesound = strzone(cvar_string(wname,"_ammo2explodesound"));
+ character.iteminfo_ammo2damage = stov(cvar_string(wname,"_ammo2damage"));
+ character.iteminfo_ammo2speeds = stov(cvar_string(wname,"_ammo2speeds"));
+ character.iteminfo_ammo2model = cvar_string(wname,"_ammo2model");
+ character.iteminfo_ammo2firesound = cvar_string(wname,"_ammo2firesound");
+ //character.iteminfo_ammo2explodesound = strzone(cvar_string(wname,"_ammo2explodesound"));
- iteminfo_ammo2projflags = cvar(wname,"_ammo2projflags");
- iteminfo_ammo2explflags = cvar(wname,"_ammo2explflags");
- iteminfo_ammo2fireflags = cvar(wname,"_ammo2fireflags");
- iteminfo_ammo2trailflags = cvar(wname,"_ammo2trailflags");
- iteminfo_ammo2effectflags = cvar(wname,"_ammo2effectflags");
+ character.iteminfo_ammo2projflags = cvar(wname,"_ammo2projflags");
+ character.iteminfo_ammo2explflags = cvar(wname,"_ammo2explflags");
+ character.iteminfo_ammo2fireflags = cvar(wname,"_ammo2fireflags");
+ character.iteminfo_ammo2trailflags = cvar(wname,"_ammo2trailflags");
+ character.iteminfo_ammo2effectflags = cvar(wname,"_ammo2effectflags");
- iteminfo_ammo2noprojectile = cvar(wname,"_ammo2noprojectile");
+ character.iteminfo_ammo2noprojectile = cvar(wname,"_ammo2noprojectile");
- iteminfo_ammo2numberof = cvar(wname,"_ammo2numberof");
- iteminfo_ammo2recoil = cvar(wname,"_ammo2recoil");
- iteminfo_ammo2minimumtofire = cvar(wname,"_ammo2mintofire");
- iteminfo_ammo2lifetime = cvar(wname,"_ammo2lifetime");
- iteminfo_ammo2tracer = cvar(wname,"_ammo2tracer");
- iteminfo_ammo2tracermodel = cvar_string(wname,"_ammo2tracermodel");
- iteminfo_ammo2modelscale = cvar(wname,"_ammo2modelscale");
- iteminfo_ammo2health = cvar(wname,"_ammo2health");
- iteminfo_ammo2mass = cvar(wname,"_ammo2mass");
- iteminfo_ammo2colormod = stov(cvar_string(wname,"_ammo2colormod"));
- iteminfo_ammo2viewmodelpush = stov(cvar_string(wname,"_ammo2viewmodelpush"));
- iteminfo_weapon_viewmodelanim_fire2 = stov(cvar_string(wname,"_fire2"));
+ character.iteminfo_ammo2numberof = cvar(wname,"_ammo2numberof");
+ character.iteminfo_ammo2recoil = cvar(wname,"_ammo2recoil");
+ character.iteminfo_ammo2minimumtofire = cvar(wname,"_ammo2mintofire");
+ character.iteminfo_ammo2lifetime = cvar(wname,"_ammo2lifetime");
+ character.iteminfo_ammo2tracer = cvar(wname,"_ammo2tracer");
+ character.iteminfo_ammo2tracermodel = cvar_string(wname,"_ammo2tracermodel");
+ character.iteminfo_ammo2modelscale = cvar(wname,"_ammo2modelscale");
+ character.iteminfo_ammo2health = cvar(wname,"_ammo2health");
+ character.iteminfo_ammo2mass = cvar(wname,"_ammo2mass");
+ character.iteminfo_ammo2colormod = stov(cvar_string(wname,"_ammo2colormod"));
+ character.iteminfo_ammo2viewmodelpush = stov(cvar_string(wname,"_ammo2viewmodelpush"));
+ character.iteminfo_weapon_viewmodelanim_fire2 = stov(cvar_string(wname,"_fire2"));
}
else if (itemtype < ITEMTYPE_TOTAL)
{
wname = strcat("g_ammo",ftos(itemtype - ITEMTYPE_AMMO1 + 1));
- iteminfo_name = cvar_string(wname,"_name");
- iteminfo_pickupsound = cvar_string(wname,"_pickupsound");
- iteminfo_pickupmodel = cvar_string(wname,"_pickupmodel");
- iteminfo_quantitymax = cvar(wname,"_quantitymax");
- iteminfo_modelcolormod = stov(cvar_string(wname,"_modelcolormod"));
+ character.iteminfo_name = cvar_string(wname,"_name");
+ character.iteminfo_pickupsound = cvar_string(wname,"_pickupsound");
+ character.iteminfo_pickupmodel = cvar_string(wname,"_pickupmodel");
+ character.iteminfo_quantitymax = cvar(wname,"_quantitymax");
+ character.iteminfo_modelcolormod = stov(cvar_string(wname,"_modelcolormod"));
}
else
bprint(ftos(itemtype)," Inventory_GetItemInfo: unknown itemtype\n");
- if (iteminfo_quantity >= 1)
+ if (character.iteminfo_quantity >= 1)
{
- if (iteminfo_ammotype == itemtype)
+ if (character.iteminfo_ammotype == itemtype)
{
// usable items such as flares
- iteminfo_ammo1minimumtofire = 1;
- iteminfo_ammomax = iteminfo_ammo1minimumtofire;
- if (iteminfo_quantity >= iteminfo_ammo1minimumtofire)
+ character.iteminfo_ammo1minimumtofire = 1;
+ character.iteminfo_ammomax = character.iteminfo_ammo1minimumtofire;
+ if (character.iteminfo_quantity >= character.iteminfo_ammo1minimumtofire)
{
- iteminfo_ammo = iteminfo_ammo1minimumtofire;
- iteminfo_ammoinventory = iteminfo_quantity - iteminfo_ammo1minimumtofire;
+ character.iteminfo_ammo = character.iteminfo_ammo1minimumtofire;
+ character.iteminfo_ammoinventory = character.iteminfo_quantity - character.iteminfo_ammo1minimumtofire;
character.weapon_canfire1 = TRUE;
character.weapon_canfire2 = TRUE;
- iteminfo_weapon_canraise = character.weapon_canfire1 || character.weapon_canfire2;
- iteminfo_weapon_rank = iteminfo_quantity * iteminfo_ammo1damage_x;
+ character.iteminfo_weapon_canraise = character.weapon_canfire1 || character.weapon_canfire2;
+ character.iteminfo_weapon_rank = character.iteminfo_quantity * character.iteminfo_ammo1damage_x;
}
}
- else if (iteminfo_ammo1minimumtofire >= 0)
+ else if (character.iteminfo_ammo1minimumtofire >= 0)
{
// weapons
- if (iteminfo_ammotype >= 0)
+ if (character.iteminfo_ammotype >= 0)
{
- item = Inventory_GetItem(character, iteminfo_ammotype);
- iteminfo_ammoinventory = item_x;
+ item = Inventory_GetItem(character, character.iteminfo_ammotype);
+ character.iteminfo_ammoinventory = item_x;
}
- iteminfo_weapon_canreload = (iteminfo_ammo < iteminfo_ammomax && iteminfo_ammoinventory >= 1);
- character.weapon_canfire1 = iteminfo_ammo >= iteminfo_ammo1minimumtofire;
- character.weapon_canfire2 = iteminfo_ammo >= iteminfo_ammo2minimumtofire;
+ character.iteminfo_weapon_canreload = (character.iteminfo_ammo < character.iteminfo_ammomax && character.iteminfo_ammoinventory >= 1);
+ character.weapon_canfire1 = character.iteminfo_ammo >= character.iteminfo_ammo1minimumtofire;
+ character.weapon_canfire2 = character.iteminfo_ammo >= character.iteminfo_ammo2minimumtofire;
// fteqcc bug:
// these work
- iteminfo_weapon_canraise = character.weapon_canfire1 + character.weapon_canfire2 + iteminfo_weapon_canreload;
- //if (iteminfo_weapon_canfire1 || iteminfo_weapon_canfire2 || iteminfo_weapon_canreload)
- // iteminfo_weapon_canraise = TRUE;
+ character.iteminfo_weapon_canraise = character.weapon_canfire1 + character.weapon_canfire2 + character.iteminfo_weapon_canreload;
+ //if (character.iteminfo_weapon_canfire1 || character.iteminfo_weapon_canfire2 || character.iteminfo_weapon_canreload)
+ // character.iteminfo_weapon_canraise = TRUE;
// these don't work
- //iteminfo_weapon_canraise = iteminfo_weapon_canfire1 || (iteminfo_weapon_canfire2 || iteminfo_weapon_canreload);
- //iteminfo_weapon_canraise = (iteminfo_weapon_canfire1 || iteminfo_weapon_canfire2) || iteminfo_weapon_canreload;
- //iteminfo_weapon_canraise = iteminfo_weapon_canfire1 || iteminfo_weapon_canfire2 || iteminfo_weapon_canreload;
- if (iteminfo_weapon_canraise)
- iteminfo_weapon_rank = (iteminfo_ammo + iteminfo_ammoinventory) * iteminfo_ammo1damage_x + (iteminfo_ammo + iteminfo_ammoinventory) * iteminfo_ammo2damage_x;
+ //character.iteminfo_weapon_canraise = character.iteminfo_weapon_canfire1 || (character.iteminfo_weapon_canfire2 || character.iteminfo_weapon_canreload);
+ //character.iteminfo_weapon_canraise = (character.iteminfo_weapon_canfire1 || character.iteminfo_weapon_canfire2) || character.iteminfo_weapon_canreload;
+ //character.iteminfo_weapon_canraise = character.iteminfo_weapon_canfire1 || character.iteminfo_weapon_canfire2 || character.iteminfo_weapon_canreload;
+ if (character.iteminfo_weapon_canraise)
+ character.iteminfo_weapon_rank = (character.iteminfo_ammo + character.iteminfo_ammoinventory) * character.iteminfo_ammo1damage_x + (character.iteminfo_ammo + character.iteminfo_ammoinventory) * character.iteminfo_ammo2damage_x;
}
else
{
@@ -414,22 +415,22 @@
//character.ammo_nails = 0;
//character.ammo_rockets = 0;
character.ammo_cells = character.itemselected - ITEMTYPE_ITEM1 + 1;
- if (!(iteminfo_ammotype == ITEMTYPE_AMMO1)) // infinite ammo
- if (iteminfo_ammomax + iteminfo_ammoinventorymax)
+ if (!(character.iteminfo_ammotype == ITEMTYPE_AMMO1)) // infinite ammo
+ if (character.iteminfo_ammomax + character.iteminfo_ammoinventorymax)
{
- character.currentammo = iteminfo_ammo * 200 / (iteminfo_ammomax + iteminfo_ammoinventorymax);
- character.ammo_shells = iteminfo_ammoinventory * 200 / (iteminfo_ammomax + iteminfo_ammoinventorymax);
+ character.currentammo = character.iteminfo_ammo * 200 / (character.iteminfo_ammomax + character.iteminfo_ammoinventorymax);
+ character.ammo_shells = character.iteminfo_ammoinventory * 200 / (character.iteminfo_ammomax + character.iteminfo_ammoinventorymax);
}
// character.ammo_nails is now set above as the item quantity when using items
- //if (iteminfo_ammo2max + iteminfo_ammo2inventorymax)
+ //if (character.iteminfo_ammo2max + character.iteminfo_ammo2inventorymax)
//{
- // character.ammo_nails = character.jetpack_fuel; // iteminfo_ammo2 * 200 / (iteminfo_ammo2max + iteminfo_ammo2inventorymax);
- // character.ammo_rockets = 0; //iteminfo_ammo2inventory * 200 / (iteminfo_ammo2max + iteminfo_ammo2inventorymax);
+ // character.ammo_nails = character.jetpack_fuel; // character.iteminfo_ammo2 * 200 / (character.iteminfo_ammo2max + character.iteminfo_ammo2inventorymax);
+ // character.ammo_rockets = 0; //character.iteminfo_ammo2inventory * 200 / (character.iteminfo_ammo2max + character.iteminfo_ammo2inventorymax);
//}
}
else if (itemtype == character.itemselected)
{
- character.ammo_nails = iteminfo_quantity * 200 / (iteminfo_quantitymax);
+ character.ammo_nails = character.iteminfo_quantity * 200 / (character.iteminfo_quantitymax);
}
};
@@ -440,19 +441,19 @@
while (c < ITEMTYPE_TOTAL)
{
Inventory_GetItemInfo(world, c);
- if (iteminfo_model != "") precache_model(iteminfo_model);
- if (iteminfo_ammo1model != "") precache_model(iteminfo_ammo1model);
- if (iteminfo_ammo2model != "") precache_model(iteminfo_ammo2model);
- if (iteminfo_ammo1tracermodel != "") precache_model(iteminfo_ammo1tracermodel);
- if (iteminfo_ammo2tracermodel != "") precache_model(iteminfo_ammo2tracermodel);
- if (iteminfo_pickupsound != "") precache_sound(iteminfo_pickupsound);
- if (iteminfo_ammo1firesound != "") precache_sound(iteminfo_ammo1firesound);
- if (iteminfo_ammo1explodesound != "") precache_sound(iteminfo_ammo1explodesound);
- if (iteminfo_ammo1bouncesound != "") precache_sound(iteminfo_ammo1bouncesound);
- if (iteminfo_ammo2firesound != "") precache_sound(iteminfo_ammo2firesound);
- if (iteminfo_ammo2explodesound != "") precache_sound(iteminfo_ammo2explodesound);
- if (iteminfo_ammo2bouncesound != "") precache_sound(iteminfo_ammo2bouncesound);
- if (iteminfo_weapon_viewmodel != "") precache_model(iteminfo_weapon_viewmodel);
+ if (self.iteminfo_model != "") precache_model(self.iteminfo_model);
+ if (self.iteminfo_ammo1model != "") precache_model(self.iteminfo_ammo1model);
+ if (self.iteminfo_ammo2model != "") precache_model(self.iteminfo_ammo2model);
+ if (self.iteminfo_ammo1tracermodel != "") precache_model(self.iteminfo_ammo1tracermodel);
+ if (self.iteminfo_ammo2tracermodel != "") precache_model(self.iteminfo_ammo2tracermodel);
+ if (self.iteminfo_pickupsound != "") precache_sound(self.iteminfo_pickupsound);
+ if (self.iteminfo_ammo1firesound != "") precache_sound(self.iteminfo_ammo1firesound);
+ if (self.iteminfo_ammo1explodesound != "") precache_sound(self.iteminfo_ammo1explodesound);
+ if (self.iteminfo_ammo1bouncesound != "") precache_sound(self.iteminfo_ammo1bouncesound);
+ if (self.iteminfo_ammo2firesound != "") precache_sound(self.iteminfo_ammo2firesound);
+ if (self.iteminfo_ammo2explodesound != "") precache_sound(self.iteminfo_ammo2explodesound);
+ if (self.iteminfo_ammo2bouncesound != "") precache_sound(self.iteminfo_ammo2bouncesound);
+ if (self.iteminfo_weapon_viewmodel != "") precache_model(self.iteminfo_weapon_viewmodel);
c = c + 1;
}
@@ -520,6 +521,10 @@
precache_model("models/gibs/m_gib5.md3");
precache_model("models/gibs/m_gib6.md3");
precache_model("models/gibs/chunk.mdl");
+
+ precache_model("models/structures/spawner/spawner.md3");
+ precache_model("models/structures/reactor/reactor.md3");
+ precache_model("models/structures/barrels/barrel.md2");
};
float(entity character) Inventory_GetBestWeapon =
@@ -533,10 +538,10 @@
while (c < ITEMTYPE_TOTAL)
{
Inventory_GetItemInfo(character, c);
- if (iteminfo_weapon_canraise)
- if (rank < iteminfo_weapon_rank)
+ if (character.iteminfo_weapon_canraise)
+ if (rank < character.iteminfo_weapon_rank)
{
- rank = iteminfo_weapon_rank;
+ rank = character.iteminfo_weapon_rank;
best = c;
}
c = c + 1;
@@ -555,7 +560,7 @@
while (c < ITEMTYPE_AMMO1)
{
Inventory_GetItemInfo(character, c);
- if (iteminfo_weapon_canraise)
+ if (character.iteminfo_weapon_canraise)
best = c;
c = c + 1;
}
@@ -572,13 +577,13 @@
if (adjustquantity == 0)
if (adjustammo == 0)
return '0 0 0';
- olditemtype = iteminfo_itemtype;
+ olditemtype = character.iteminfo_itemtype;
Inventory_GetItemInfo(character, itemtype);
item = Inventory_GetItem(character, itemtype);
olditem = item;
- item_x = bound(0, item_x + adjustquantity, iteminfo_quantitymax);
- item_y = bound(0, item_y + adjustammo, iteminfo_ammomax);
- //item_z = bound(0, item_z + adjustammo2, iteminfo_ammo2max);
+ item_x = bound(0, item_x + adjustquantity, character.iteminfo_quantitymax);
+ item_y = bound(0, item_y + adjustammo, character.iteminfo_ammomax);
+ //item_z = bound(0, item_z + adjustammo2, character.iteminfo_ammo2max);
Inventory_SetItem(character, itemtype, item);
// update iteminfo for olditemtype
// (if olditemtype == itemtype then we want to update it because the item
@@ -729,7 +734,7 @@
newmis.owner = own;
newmis.respawntime = respawntim;
newmis.classname = "item";
- newmis.netname = strzone(iteminfo_name);
+ newmis.netname = strzone(world.iteminfo_name);
newmis.itemitemtype = itemtype;
newmis.ispointable = TRUE;
newmis.solid = SOLID_TRIGGER;
@@ -746,12 +751,12 @@
if (cvar("g_itemtouchpickup"))
newmis.touch = Item_Pickup;
- //newmis.noise = strzone(iteminfo_pickupsound);
+ //newmis.noise = strzone(character.iteminfo_pickupsound);
setorigin(newmis, org);
- setmodel(newmis, iteminfo_pickupmodel);
+ setmodel(newmis, world.iteminfo_pickupmodel);
setsize(newmis, '-25 -25 -25', '8 8 8');
Inventory_ModifyItem(newmis, itemtype, quantity, ammo1);
- newmis.colormod = iteminfo_modelcolormod;
+ newmis.colormod = world.iteminfo_modelcolormod;
//newmis.effects = newmis.effects | EF_FULLBRIGHT;
newmis.scale = modelscale;
Modified: trunk/progsqc/player.qc
===================================================================
--- trunk/progsqc/player.qc 2008-09-22 23:44:09 UTC (rev 128)
+++ trunk/progsqc/player.qc 2008-10-20 14:40:51 UTC (rev 129)
@@ -181,7 +181,7 @@
{
newweapon = cvar(cname,"_weapon",ftos(i)) - 1;
Inventory_GetItemInfo(pc, newweapon);
- Inventory_ModifyItem(pc, newweapon, 1, iteminfo_ammomax);
+ Inventory_ModifyItem(pc, newweapon, 1, pc.iteminfo_ammomax);
}
}
@@ -191,7 +191,7 @@
{
newweapon = cvar(cname,"_item",ftos(i)) - 1;
Inventory_GetItemInfo(pc, newweapon + ITEMTYPE_ITEM1);
- Inventory_ModifyItem(pc, newweapon + ITEMTYPE_ITEM1, iteminfo_quantitymax, 0);
+ Inventory_ModifyItem(pc, newweapon + ITEMTYPE_ITEM1, pc.iteminfo_quantitymax, 0);
}
}
@@ -201,7 +201,7 @@
{
newweapon = cvar(cname,"_aiweapon",ftos(i)) - 1 + ITEMTYPE_AI_WEAP1;
Inventory_GetItemInfo(pc, newweapon);
- Inventory_ModifyItem(pc, newweapon, 1, iteminfo_ammomax);
+ Inventory_ModifyItem(pc, newweapon, 1, pc.iteminfo_ammomax);
}
}
}
@@ -522,7 +522,7 @@
self.viewmodelchange_z = self.viewmodelchange_z - (self.velocity_z / 2000);
Inventory_GetItemInfo(self, self.weaponitem);
- self.viewmodeldiff = iteminfo_viewmodeloffset - self.viewmodelchange;
+ self.viewmodeldiff = self.iteminfo_viewmodeloffset - self.viewmodelchange;
self.viewmodelchange = self.viewmodelchange + self.viewmodeldiff * 0.1;
actor_setviewmodeloffset(self.viewmodelchange);
}
@@ -530,36 +530,36 @@
if (self.flags & FL_CLIENT)
{
Inventory_GetItemInfo(self, self.itemselected);
- Inventory_ModifyItem(self, self.itemselected, 0 + iteminfo_rechargerate, 0);
+ Inventory_ModifyItem(self, self.itemselected, 0 + self.iteminfo_rechargerate, 0);
Inventory_GetItemInfo(self, self.weaponitem);
- Inventory_ModifyItem(self, self.weaponitem, 0, 0 + iteminfo_rechargerate);
+ Inventory_ModifyItem(self, self.weaponitem, 0, 0 + self.iteminfo_rechargerate);
}
if (self.button7)
{
Inventory_GetItemInfo(self, self.itemselected);
- if ((!iteminfo_ammo1noprojectile) && self.weapon_canfire1 && self.weapon_canfire2 && (!self.weapon_oldbutton7 || !(iteminfo_ammo1fireflags & FIREFLAG_SEMIAUTOMATIC)))
+ if ((!self.iteminfo_ammo1noprojectile) && self.weapon_canfire1 && self.weapon_canfire2 && (!self.weapon_oldbutton7 || !(self.iteminfo_ammo1fireflags & FIREFLAG_SEMIAUTOMATIC)))
{
weapon_state(WS_FIRE3);
}
- else if (iteminfo_ammo1fireflags & FIREFLAG_JETPACK)
+ else if (self.iteminfo_ammo1fireflags & FIREFLAG_JETPACK)
{
- Inventory_ModifyItem(self, self.itemselected, 0 - iteminfo_ammo1minimumtofire, 0);
- self.jetpack_fuel = iteminfo_quantity;
+ Inventory_ModifyItem(self, self.itemselected, 0 - self.iteminfo_ammo1minimumtofire, 0);
+ self.jetpack_fuel = self.iteminfo_quantity;
if (!self.jetpackactive && self.jetpack_fuel > 10)
{
sound(self, CHAN_BODY, "jetpack/low.wav", 0.2, ATTN_NORM);
self.jetpackactive = TRUE;
}
}
- else if (iteminfo_ammo1fireflags & FIREFLAG_SHIELD)
+ else if (self.iteminfo_ammo1fireflags & FIREFLAG_SHIELD)
{
- Inventory_ModifyItem(self, self.itemselected, 0 - iteminfo_ammo1minimumtofire, 0);
+ Inventory_ModifyItem(self, self.itemselected, 0 - self.iteminfo_ammo1minimumtofire, 0);
self.shieldactive = TRUE;
}
- else if (iteminfo_ammo1fireflags & FIREFLAG_INVIS)
+ else if (self.iteminfo_ammo1fireflags & FIREFLAG_INVIS)
{
- Inventory_ModifyItem(self, self.itemselected, 0 - iteminfo_ammo1minimumtofire, 0);
+ Inventory_ModifyItem(self, self.itemselected, 0 - self.iteminfo_ammo1minimumtofire, 0);
self.invisactive = TRUE;
}
}
@@ -611,7 +611,7 @@
if (self.button4)
{
Inventory_GetItemInfo(self, self.weaponitem);
- if (iteminfo_ammo1fireflags & FIREFLAG_ZOOM)
+ if (self.iteminfo_ammo1fireflags & FIREFLAG_ZOOM)
self.viewzoom = 0.2;
}
else
@@ -1325,8 +1325,8 @@
Inventory_GetItemInfo(self, c);
item = Inventory_GetItem(self, c);
- bprint(ftos(c),". AT:", ftos(iteminfo_ammotype)," Q:",ftos(item_x)," A:",ftos(item_y));
- bprint(" ", iteminfo_name,"\n");
+ bprint(ftos(c),". AT:", ftos(self.iteminfo_ammotype)," Q:",ftos(item_x)," A:",ftos(item_y));
+ bprint(" ", self.iteminfo_name,"\n");
c = c + 1;
}
}
@@ -1336,7 +1336,7 @@
while (c < ITEMTYPE_AI_WEAP1)
{
Inventory_GetItemInfo(self, c);
- Inventory_ModifyItem(self, c, iteminfo_quantitymax, iteminfo_ammomax);
+ Inventory_ModifyItem(self, c, self.iteminfo_quantitymax, self.iteminfo_ammomax);
c = c + 1;
}
self.switchweaponitem = Inventory_GetBestWeapon(self);
@@ -1351,14 +1351,14 @@
if (w >= ITEMTYPE_AI_WEAP1)
break;
Inventory_GetItemInfo(self, w);
- if (iteminfo_weapon_canraise)
+ if (self.iteminfo_weapon_canraise)
{
select = select - 1;
if (select == 0)
{
self.switchweaponitem = w;
sound(self, CHAN_BODY, "misc/weapon_switch.ogg", 1, ATTN_NORM);
- //bprint(iteminfo_name,"\n");
+ //bprint(character.iteminfo_name,"\n");
break;
}
}
@@ -1376,11 +1376,11 @@
if (w == self.switchweaponitem)
break;
Inventory_GetItemInfo(self, w);
- if (iteminfo_weapon_canraise)
+ if (self.iteminfo_weapon_canraise)
{
self.switchweaponitem = w;
sound(self, CHAN_BODY, "misc/weapon_switch.ogg", 1, ATTN_NORM);
- //bprint(iteminfo_name,"\n");
+ //bprint(character.iteminfo_name,"\n");
break;
}
}
@@ -1396,11 +1396,11 @@
if (w == self.switchweaponitem)
break;
Inventory_GetItemInfo(self, w);
- if (iteminfo_weapon_canraise)
+ if (self.iteminfo_weapon_canraise)
{
self.switchweaponitem = w;
sound(self, CHAN_BODY, "misc/weapon_switch.ogg", 1, ATTN_NORM);
- //bprint(iteminfo_name,"\n");
+ //bprint(character.iteminfo_name,"\n");
break;
}
}
@@ -1416,9 +1416,9 @@
if (w == self.itemselected)
break;
Inventory_GetItemInfo(self, w);
- if (iteminfo_weapon_canraise)
+ if (self.iteminfo_weapon_canraise)
{
- //bprint(iteminfo_name,"\n");
+ //bprint(character.iteminfo_name,"\n");
self.itemselected = w;
break;
}
More information about the zymotic-commits
mailing list