]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/t_items.qc
Merge branch 'master' into TimePath/global_self
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / t_items.qc
index 5d392fd84a24c8fc64a025fc4d2f1ae0aa2c2f4e..671f1d0eda5cc63d49f9e380ddab6cd56ddf3310 100644 (file)
@@ -29,7 +29,7 @@
 
 #ifdef CSQC
 void ItemDraw()
-{
+{SELFPARAM();
     if(self.gravity)
     {
         Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
@@ -65,7 +65,7 @@ void ItemDraw()
 }
 
 void ItemDrawSimple()
-{
+{SELFPARAM();
     if(self.gravity)
     {
         Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
@@ -96,7 +96,7 @@ void Item_PreDraw()
 }
 
 void ItemRead(float _IsNew)
-{
+{SELFPARAM();
     int sf = ReadByte();
 
     if(sf & ISF_LOCATION)
@@ -247,7 +247,7 @@ void ItemRead(float _IsNew)
 
 #ifdef SVQC
 bool ItemSend(entity to, int sf)
-{
+{SELFPARAM();
        if(self.gravity)
                sf |= ISF_DROP;
        else
@@ -310,7 +310,7 @@ void ItemUpdate(entity item)
 }
 
 float have_pickup_item(void)
-{
+{SELFPARAM();
        if(self.flags & FL_POWERUP)
        {
                if(autocvar_g_powerups > 0)
@@ -416,7 +416,7 @@ void Item_Show (entity e, float mode)
 }
 
 void Item_Think()
-{
+{SELFPARAM();
        self.nextthink = time;
        if(self.origin != self.oldorigin)
        {
@@ -432,7 +432,7 @@ void Item_ItemsTime_SetTime(entity e, float t);
 void Item_ItemsTime_SetTimesForAllPlayers();
 
 void Item_Respawn (void)
-{
+{SELFPARAM();
        Item_Show(self, 1);
        // this is ugly...
        if(self.items == ITEM_Strength.m_itemid)
@@ -458,7 +458,7 @@ void Item_Respawn (void)
 }
 
 void Item_RespawnCountdown (void)
-{
+{SELFPARAM();
        if(self.count >= ITEM_RESPAWN_TICKS)
        {
                if(self.waypointsprite_attached)
@@ -492,16 +492,15 @@ void Item_RespawnCountdown (void)
 
                if(self.waypointsprite_attached)
                {
+                       setself(self.waypointsprite_attached);
                        entity e;
-                       entity it = self;
-                       self = self.waypointsprite_attached;
                        FOR_EACH_REALCLIENT(e)
                                if(self.waypointsprite_visible_for_player(e))
                                {
                                        msg_entity = e;
-                                       soundto(MSG_ONE, it, CH_TRIGGER, "misc/itemrespawncountdown.wav", VOL_BASE, ATTEN_NORM);        // play respawn sound
+                                       soundto(MSG_ONE, this, CH_TRIGGER, "misc/itemrespawncountdown.wav", VOL_BASE, ATTEN_NORM);      // play respawn sound
                                }
-                       self = it;
+                       setself(this);
 
                        WaypointSprite_Ping(self.waypointsprite_attached);
                        //WaypointSprite_UpdateHealth(self.waypointsprite_attached, self.count);
@@ -512,7 +511,7 @@ void Item_RespawnCountdown (void)
 }
 
 void Item_RespawnThink()
-{
+{SELFPARAM();
        self.nextthink = time;
        if(self.origin != self.oldorigin)
        {
@@ -699,7 +698,7 @@ float Item_GiveTo(entity item, entity player)
 }
 
 void Item_Touch (void)
-{
+{SELFPARAM();
        entity e, head;
 
        // remove the item if it's currnetly in a NODROP brush or hits a NOIMPACT surface (such as sky)
@@ -779,7 +778,7 @@ void Item_Touch (void)
 }
 
 void Item_Reset()
-{
+{SELFPARAM();
        Item_Show(self, !self.state);
        setorigin (self, self.origin);
 
@@ -797,7 +796,7 @@ void Item_Reset()
 }
 
 void Item_FindTeam()
-{
+{SELFPARAM();
        entity head, e;
 
        if(self.effects & EF_NODRAW)
@@ -833,7 +832,7 @@ void Item_FindTeam()
 // Savage: used for item garbage-collection
 // TODO: perhaps nice special effect?
 void RemoveItem(void)
-{
+{SELFPARAM();
        if(wasfreed(self) || !self) { return; }
        Send_Effect(EFFECT_ITEM_PICKUP, CENTER_OR_VIEWOFS(self), '0 0 0', 1);
        remove(self);
@@ -967,7 +966,7 @@ void Item_Damage(entity inflictor, entity attacker, float damage, int deathtype,
 }
 
 void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags, float(entity player, entity item) pickupevalfunc, float pickupbasevalue)
-{
+{SELFPARAM();
        startitem_failed = false;
 
        if(self.model == "")
@@ -1205,12 +1204,13 @@ string Item_Model(string item_mdl)
 }
 
 void StartItemA (entity a)
-{
+{SELFPARAM();
     self.itemdef = a;
     StartItem(Item_Model(a.m_model), a.m_sound, a.m_respawntime(), a.m_respawntimejitter(), a.m_name, a.m_itemid, 0, a.m_itemflags, a.m_pickupevalfunc, a.m_botvalue);
 }
 
-void spawnfunc_item_rockets (void) {
+void spawnfunc_item_rockets()
+{SELFPARAM();
        if(!self.ammo_rockets)
                self.ammo_rockets = g_pickup_rockets;
        if(!self.pickup_anyway)
@@ -1218,7 +1218,8 @@ void spawnfunc_item_rockets (void) {
     StartItemA (ITEM_Rockets);
 }
 
-void spawnfunc_item_bullets (void) {
+void spawnfunc_item_bullets()
+{SELFPARAM();
        if(!weaponswapping)
        if(autocvar_sv_q3acompat_machineshotgunswap)
        if(self.classname != "droppedweapon")
@@ -1236,7 +1237,8 @@ void spawnfunc_item_bullets (void) {
     StartItemA (ITEM_Bullets);
 }
 
-void spawnfunc_item_cells (void) {
+void spawnfunc_item_cells()
+{SELFPARAM();
        if(!self.ammo_cells)
                self.ammo_cells = g_pickup_cells;
        if(!self.pickup_anyway)
@@ -1245,7 +1247,7 @@ void spawnfunc_item_cells (void) {
 }
 
 void spawnfunc_item_plasma()
-{
+{SELFPARAM();
        if(!self.ammo_plasma)
                self.ammo_plasma = g_pickup_plasma;
        if(!self.pickup_anyway)
@@ -1253,7 +1255,8 @@ void spawnfunc_item_plasma()
        StartItemA (ITEM_Plasma);
 }
 
-void spawnfunc_item_shells (void) {
+void spawnfunc_item_shells()
+{SELFPARAM();
        if(!weaponswapping)
        if(autocvar_sv_q3acompat_machineshotgunswap)
        if(self.classname != "droppedweapon")
@@ -1271,7 +1274,8 @@ void spawnfunc_item_shells (void) {
        StartItemA (ITEM_Shells);
 }
 
-void spawnfunc_item_armor_small (void) {
+void spawnfunc_item_armor_small()
+{SELFPARAM();
        if(!self.armorvalue)
                self.armorvalue = g_pickup_armorsmall;
        if(!self.max_armorvalue)
@@ -1281,7 +1285,8 @@ void spawnfunc_item_armor_small (void) {
        StartItemA (ITEM_ArmorSmall);
 }
 
-void spawnfunc_item_armor_medium (void) {
+void spawnfunc_item_armor_medium()
+{SELFPARAM();
        if(!self.armorvalue)
                self.armorvalue = g_pickup_armormedium;
        if(!self.max_armorvalue)
@@ -1291,7 +1296,8 @@ void spawnfunc_item_armor_medium (void) {
        StartItemA (ITEM_ArmorMedium);
 }
 
-void spawnfunc_item_armor_big (void) {
+void spawnfunc_item_armor_big()
+{SELFPARAM();
        if(!self.armorvalue)
                self.armorvalue = g_pickup_armorbig;
        if(!self.max_armorvalue)
@@ -1301,7 +1307,8 @@ void spawnfunc_item_armor_big (void) {
        StartItemA (ITEM_ArmorLarge);
 }
 
-void spawnfunc_item_armor_large (void) {
+void spawnfunc_item_armor_large()
+{SELFPARAM();
        if(!self.armorvalue)
                self.armorvalue = g_pickup_armorlarge;
        if(!self.max_armorvalue)
@@ -1311,7 +1318,8 @@ void spawnfunc_item_armor_large (void) {
        StartItemA (ITEM_ArmorMega);
 }
 
-void spawnfunc_item_health_small (void) {
+void spawnfunc_item_health_small()
+{SELFPARAM();
        if(!self.max_health)
                self.max_health = g_pickup_healthsmall_max;
        if(!self.health)
@@ -1321,7 +1329,8 @@ void spawnfunc_item_health_small (void) {
        StartItemA (ITEM_HealthSmall);
 }
 
-void spawnfunc_item_health_medium (void) {
+void spawnfunc_item_health_medium()
+{SELFPARAM();
        if(!self.max_health)
                self.max_health = g_pickup_healthmedium_max;
        if(!self.health)
@@ -1331,7 +1340,8 @@ void spawnfunc_item_health_medium (void) {
     StartItemA (ITEM_HealthMedium);
 }
 
-void spawnfunc_item_health_large (void) {
+void spawnfunc_item_health_large()
+{SELFPARAM();
        if(!self.max_health)
                self.max_health = g_pickup_healthlarge_max;
        if(!self.health)
@@ -1341,7 +1351,8 @@ void spawnfunc_item_health_large (void) {
        StartItemA (ITEM_HealthLarge);
 }
 
-void spawnfunc_item_health_mega (void) {
+void spawnfunc_item_health_mega()
+{SELFPARAM();
     if(!self.max_health)
         self.max_health = g_pickup_healthmega_max;
     if(!self.health)
@@ -1358,24 +1369,26 @@ void spawnfunc_item_health1() { spawnfunc_item_health_small(); }
 void spawnfunc_item_health25() { spawnfunc_item_health_medium(); }
 void spawnfunc_item_health100() { spawnfunc_item_health_mega(); }
 
-void spawnfunc_item_strength (void) {
+void spawnfunc_item_strength()
+{SELFPARAM();
                precache_sound("weapons/strength_fire.wav");
                if(!self.strength_finished)
                        self.strength_finished = autocvar_g_balance_powerup_strength_time;
                StartItemA (ITEM_Strength);
 }
 
-void spawnfunc_item_invincible (void) {
+void spawnfunc_item_invincible()
+{SELFPARAM();
                if(!self.invincible_finished)
                        self.invincible_finished = autocvar_g_balance_powerup_invincible_time;
                StartItemA (ITEM_Shield);
 }
 
 // compatibility:
-void spawnfunc_item_quad (void) {self.classname = "item_strength";spawnfunc_item_strength();}
+void spawnfunc_item_quad() {SELFPARAM(); self.classname = "item_strength";spawnfunc_item_strength();}
 
-void target_items_use (void)
-{
+void target_items_use()
+{SELFPARAM();
        if(activator.classname == "droppedweapon")
        {
                EXACTTRIGGER_TOUCH;
@@ -1399,7 +1412,7 @@ void target_items_use (void)
 }
 
 void spawnfunc_target_items (void)
-{
+{SELFPARAM();
        float n, i, j;
        entity e;
        string s;
@@ -1524,7 +1537,7 @@ void spawnfunc_target_items (void)
 }
 
 void spawnfunc_item_fuel(void)
-{
+{SELFPARAM();
        if(!self.ammo_fuel)
                self.ammo_fuel = g_pickup_fuel;
        if(!self.pickup_anyway)
@@ -1543,7 +1556,7 @@ void spawnfunc_item_fuel_regen(void)
 }
 
 void spawnfunc_item_jetpack(void)
-{
+{SELFPARAM();
        if(!self.ammo_fuel)
                self.ammo_fuel = g_pickup_fuel_jetpack;
        if(start_items & ITEM_Jetpack.m_itemid)
@@ -1664,7 +1677,7 @@ void GiveRot(entity e, float v0, float v1, .float rotfield, float rottime, .floa
                e.(regenfield) = max(e.(regenfield), time + regentime);
 }
 float GiveItems(entity e, float beginarg, float endarg)
-{
+{SELFPARAM();
        float got, i, j, val, op;
        float _switchweapon;
        entity wi;