]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/items/item/pickup.qh
Separate health and armor item respawning timers
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / pickup.qh
index 39cf78cc3016e3d3b4714bcf169c843892342f59..6df6baf83a90682dd37c3eecd92e9c9c8ca673ee 100644 (file)
@@ -4,32 +4,36 @@
 PROPERTY(float, g_pickup_respawntime_weapon)
 PROPERTY(float, g_pickup_respawntime_superweapon)
 PROPERTY(float, g_pickup_respawntime_ammo)
-PROPERTY(float, g_pickup_respawntime_short)
-PROPERTY(float, g_pickup_respawntime_medium)
-PROPERTY(float, g_pickup_respawntime_long)
+PROPERTY(float, g_pickup_respawntime_armor_small)
+PROPERTY(float, g_pickup_respawntime_armor_medium)
+PROPERTY(float, g_pickup_respawntime_armor_big)
+PROPERTY(float, g_pickup_respawntime_armor_mega)
+PROPERTY(float, g_pickup_respawntime_health_small)
+PROPERTY(float, g_pickup_respawntime_health_medium)
+PROPERTY(float, g_pickup_respawntime_health_big)
+PROPERTY(float, g_pickup_respawntime_health_mega)
 PROPERTY(float, g_pickup_respawntime_powerup)
 PROPERTY(float, g_pickup_respawntimejitter_weapon)
 PROPERTY(float, g_pickup_respawntimejitter_superweapon)
 PROPERTY(float, g_pickup_respawntimejitter_ammo)
-PROPERTY(float, g_pickup_respawntimejitter_short)
-PROPERTY(float, g_pickup_respawntimejitter_medium)
-PROPERTY(float, g_pickup_respawntimejitter_long)
+PROPERTY(float, g_pickup_respawntimejitter_health_small)
+PROPERTY(float, g_pickup_respawntimejitter_health_medium)
+PROPERTY(float, g_pickup_respawntimejitter_health_big)
+PROPERTY(float, g_pickup_respawntimejitter_health_mega)
+PROPERTY(float, g_pickup_respawntimejitter_armor_small)
+PROPERTY(float, g_pickup_respawntimejitter_armor_medium)
+PROPERTY(float, g_pickup_respawntimejitter_armor_big)
+PROPERTY(float, g_pickup_respawntimejitter_armor_mega)
 PROPERTY(float, g_pickup_respawntimejitter_powerup)
 #endif
 
-#include <common/items/inventory.qh>
 #include <common/items/item.qh>
-#include <common/t_items.qh>
-
-#ifdef GAMEQC
-#include <common/models/all.qh>
-#include <common/sounds/all.qh>
-#include <common/sounds/all.inc>
-#endif
 
 CLASS(Pickup, GameItem)
 #ifdef GAMEQC
     ATTRIB(Pickup, m_model, Model);
+    ATTRIB(Pickup, m_skin, int);
+    ATTRIB(Pickup, m_color, vector);
     ATTRIB(Pickup, m_sound, Sound, SND_ITEMPICKUP);
 #endif
     ATTRIB(Pickup, netname, string);
@@ -42,7 +46,7 @@ CLASS(Pickup, GameItem)
     ATTRIB(Pickup, m_itemid, int, 0);
 #ifdef SVQC
     ATTRIB(Pickup, m_mins, vector, '-16 -16 0');
-    ATTRIB(Pickup, m_maxs, vector, '16 16 32');
+    ATTRIB(Pickup, m_maxs, vector, '16 16 48');
     ATTRIB(Pickup, m_botvalue, int, 0);
     ATTRIB(Pickup, m_itemflags, int, 0);
     float generic_pickupevalfunc(entity player, entity item);
@@ -50,19 +54,9 @@ CLASS(Pickup, GameItem)
     ATTRIB(Pickup, m_respawntime, float());
     ATTRIB(Pickup, m_respawntimejitter, float());
     ATTRIB(Pickup, m_pickupanyway, float());
-    ATTRIB(Pickup, m_iteminit, void(entity item));
+    ATTRIB(Pickup, m_iteminit, void(Pickup this, entity item));
     float Item_GiveTo(entity item, entity player);
-    METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player))
-    {
-        TC(Pickup, this);
-        bool b = Item_GiveTo(item, player);
-        if (b) {
-            LOG_DEBUGF("entity %i picked up %s", player, this.m_name);
-            player.inventory.inv_items[this.m_id]++;
-            Inventory_update(player);
-        }
-        return b;
-    }
+    METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player));
     bool ITEM_HANDLE(Pickup, Pickup this, entity item, entity player);
 #endif
 ENDCLASS(Pickup)