]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/items/item/ammo.qh
Add an item init attribute function, so the item's default values aren't applied...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / ammo.qh
index e1d493fe975a7c50dfcd11af3d9fba717a67c1da..15d8e391dbcb3bb0a31a1e6acf9411e54c6e89ed 100644 (file)
@@ -1,11 +1,16 @@
 #pragma once
 
 #include "pickup.qh"
+#ifdef SVQC
+PROPERTY(float, g_pickup_ammo_anyway);
+#endif
+
 CLASS(Ammo, Pickup)
 #ifdef SVQC
-    ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc);
+    ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc);
     ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo));
     ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo));
+    ATTRIB(Ammo, m_pickupanyway, float(), GET(g_pickup_ammo_anyway));
 #endif
 ENDCLASS(Ammo)
 
@@ -17,6 +22,14 @@ ENDCLASS(Ammo)
 MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl"));
 #endif
 
+#ifdef SVQC
+PROPERTY(int, g_pickup_nails);
+void ammo_bullets_init(entity item)
+{
+    if(!item.ammo_nails)
+        item.ammo_nails = g_pickup_nails;
+}
+#endif
 REGISTER_ITEM(Bullets, Ammo) {
 #ifdef GAMEQC
     this.m_model    =   MDL_Bullets_ITEM;
@@ -24,8 +37,9 @@ REGISTER_ITEM(Bullets, Ammo) {
     this.m_name     =   "bullets";
     this.m_icon     =   "ammo_bullets";
 #ifdef SVQC
-    this.m_botvalue =   2000;
+    this.m_botvalue =   1500;
     this.m_itemid   =   IT_NAILS;
+    this.m_iteminit =   ammo_bullets_init;
 #endif
 }
 
@@ -33,6 +47,14 @@ REGISTER_ITEM(Bullets, Ammo) {
 MODEL(Cells_ITEM, Item_Model("a_cells.md3"));
 #endif
 
+#ifdef SVQC
+PROPERTY(int, g_pickup_cells);
+void ammo_cells_init(entity item)
+{
+    if(!item.ammo_cells)
+        item.ammo_cells = g_pickup_cells;
+}
+#endif
 REGISTER_ITEM(Cells, Ammo) {
 #ifdef GAMEQC
     this.m_model    =   MDL_Cells_ITEM;
@@ -40,8 +62,9 @@ REGISTER_ITEM(Cells, Ammo) {
     this.m_name     =   "cells";
     this.m_icon     =   "ammo_cells";
 #ifdef SVQC
-    this.m_botvalue =   2000;
+    this.m_botvalue =   1500;
     this.m_itemid   =   IT_CELLS;
+    this.m_iteminit =   ammo_cells_init;
 #endif
 }
 
@@ -49,6 +72,14 @@ REGISTER_ITEM(Cells, Ammo) {
 MODEL(Plasma_ITEM, Item_Model("a_cells.md3"));
 #endif
 
+#ifdef SVQC
+PROPERTY(int, g_pickup_plasma);
+void ammo_plasma_init(entity item)
+{
+    if(!item.ammo_plasma)
+        item.ammo_plasma = g_pickup_plasma;
+}
+#endif
 REGISTER_ITEM(Plasma, Ammo) {
 #ifdef GAMEQC
     this.m_model    =   MDL_Plasma_ITEM;
@@ -56,8 +87,9 @@ REGISTER_ITEM(Plasma, Ammo) {
     this.m_name     =   "plasma";
     this.m_icon     =   "ammo_plasma";
 #ifdef SVQC
-    this.m_botvalue =   2000;
+    this.m_botvalue =   1500;
     this.m_itemid   =   IT_PLASMA;
+    this.m_iteminit =   ammo_plasma_init;
 #endif
 }
 
@@ -65,6 +97,14 @@ REGISTER_ITEM(Plasma, Ammo) {
 MODEL(Rockets_ITEM, Item_Model("a_rockets.md3"));
 #endif
 
+#ifdef SVQC
+PROPERTY(int, g_pickup_rockets);
+void ammo_rockets_init(entity item)
+{
+    if(!item.ammo_rockets)
+        item.ammo_rockets = g_pickup_rockets;
+}
+#endif
 REGISTER_ITEM(Rockets, Ammo) {
 #ifdef GAMEQC
     this.m_model    =   MDL_Rockets_ITEM;
@@ -72,8 +112,9 @@ REGISTER_ITEM(Rockets, Ammo) {
     this.m_name     =   "rockets";
     this.m_icon     =   "ammo_rockets";
 #ifdef SVQC
-    this.m_botvalue =   3000;
+    this.m_botvalue =   1500;
     this.m_itemid   =   IT_ROCKETS;
+    this.m_iteminit =   ammo_rockets_init;
 #endif
 }
 
@@ -81,6 +122,14 @@ REGISTER_ITEM(Rockets, Ammo) {
 MODEL(Shells_ITEM, Item_Model("a_shells.md3"));
 #endif
 
+#ifdef SVQC
+PROPERTY(int, g_pickup_shells);
+void ammo_shells_init(entity item)
+{
+    if(!item.ammo_shells)
+        item.ammo_shells = g_pickup_shells;
+}
+#endif
 REGISTER_ITEM(Shells, Ammo) {
 #ifdef GAMEQC
     this.m_model    =   MDL_Shells_ITEM;
@@ -88,7 +137,8 @@ REGISTER_ITEM(Shells, Ammo) {
     this.m_name     =   "shells";
     this.m_icon     =   "ammo_shells";
 #ifdef SVQC
-    this.m_botvalue =   500;
+    this.m_botvalue =   1000;
     this.m_itemid   =   IT_SHELLS;
+    this.m_iteminit =   ammo_shells_init;
 #endif
 }