4 PROPERTY(float, g_pickup_respawntime_weapon)
5 PROPERTY(float, g_pickup_respawntime_superweapon)
6 PROPERTY(float, g_pickup_respawntime_ammo)
7 PROPERTY(float, g_pickup_respawntime_short)
8 PROPERTY(float, g_pickup_respawntime_medium)
9 PROPERTY(float, g_pickup_respawntime_long)
10 PROPERTY(float, g_pickup_respawntime_powerup)
11 PROPERTY(float, g_pickup_respawntimejitter_weapon)
12 PROPERTY(float, g_pickup_respawntimejitter_superweapon)
13 PROPERTY(float, g_pickup_respawntimejitter_ammo)
14 PROPERTY(float, g_pickup_respawntimejitter_short)
15 PROPERTY(float, g_pickup_respawntimejitter_medium)
16 PROPERTY(float, g_pickup_respawntimejitter_long)
17 PROPERTY(float, g_pickup_respawntimejitter_powerup)
20 // pickup ratings for bot logic
21 const int BOT_PICKUP_RATING_LOW = 2500;
22 const int BOT_PICKUP_RATING_MID = 5000;
23 const int BOT_PICKUP_RATING_HIGH = 10000;
25 #include <common/items/inventory.qh>
26 #include <common/items/item.qh>
27 #include <common/t_items.qh>
29 CLASS(Pickup, GameItem)
31 ATTRIB(Pickup, m_model, Model);
32 ATTRIB(Pickup, m_sound, Sound, SND_ITEMPICKUP);
34 ATTRIB(Pickup, m_name, string);
35 METHOD(Pickup, show, void(Pickup this))
38 LOG_INFOF("%s: %s\n", etos(this), this.m_name);
40 ATTRIB(Pickup, m_itemid, int, 0);
42 ATTRIB(Pickup, m_mins, vector, '-16 -16 0');
43 ATTRIB(Pickup, m_maxs, vector, '16 16 32');
44 ATTRIB(Pickup, m_botvalue, int, 0);
45 ATTRIB(Pickup, m_itemflags, int, 0);
46 float generic_pickupevalfunc(entity player, entity item);
47 ATTRIB(Pickup, m_pickupevalfunc, float(entity player, entity item), generic_pickupevalfunc);
48 ATTRIB(Pickup, m_respawntime, float());
49 ATTRIB(Pickup, m_respawntimejitter, float());
50 float Item_GiveTo(entity item, entity player);
51 METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player))
54 bool b = Item_GiveTo(item, player);
56 LOG_DEBUGF("entity %i picked up %s", player, this.m_name);
57 player.inventory.inv_items[this.m_id]++;
58 Inventory_update(player);
62 bool ITEM_HANDLE(Pickup, Pickup this, entity item, entity player);