]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/items/item/ammo.qh
Merge branch 'master' into martin-t/damagetext
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / ammo.qh
index 70c4ef1efad17c8b3348133458dd354299a4ef21..20963928526a12ddfe94313004fffe946ca89b8c 100644 (file)
-#ifndef AMMO_H
-#define AMMO_H
+#pragma once
+
 #include "pickup.qh"
+#ifdef SVQC
+PROPERTY(float, g_pickup_ammo_anyway);
+#endif
+
 CLASS(Ammo, Pickup)
-    ATTRIB(Ammo, m_ammoPic, string, string_null)
 #ifdef SVQC
-    ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc)
-    ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo))
-    ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo))
+    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)
+
+#ifdef SVQC
+    #include <common/t_items.qh>
+#endif
+
+#ifdef GAMEQC
+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;
+#endif
+    this.netname    =   "bullets";
+    this.m_name     =   "bullets";
+    this.m_icon     =   "ammo_bullets";
+#ifdef SVQC
+    this.m_botvalue =   1500;
+    this.m_itemid   =   IT_NAILS;
+    this.m_iteminit =   ammo_bullets_init;
+#endif
+}
+
+#ifdef GAMEQC
+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;
+#endif
+    this.netname    =   "cells";
+    this.m_name     =   "cells";
+    this.m_icon     =   "ammo_cells";
+#ifdef SVQC
+    this.m_botvalue =   1500;
+    this.m_itemid   =   IT_CELLS;
+    this.m_iteminit =   ammo_cells_init;
+#endif
+}
+
+#ifdef GAMEQC
+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;
+#endif
+    this.netname    =   "plasma";
+    this.m_name     =   "plasma";
+    this.m_icon     =   "ammo_plasma";
+#ifdef SVQC
+    this.m_botvalue =   1500;
+    this.m_itemid   =   IT_PLASMA;
+    this.m_iteminit =   ammo_plasma_init;
+#endif
+}
+
+#ifdef GAMEQC
+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;
+#endif
+    this.netname    =   "rockets";
+    this.m_name     =   "rockets";
+    this.m_icon     =   "ammo_rockets";
+#ifdef SVQC
+    this.m_botvalue =   1500;
+    this.m_itemid   =   IT_ROCKETS;
+    this.m_iteminit =   ammo_rockets_init;
+#endif
+}
+
+#ifdef GAMEQC
+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;
+#endif
+    this.netname    =   "shells";
+    this.m_name     =   "shells";
+    this.m_icon     =   "ammo_shells";
+#ifdef SVQC
+    this.m_botvalue =   1000;
+    this.m_itemid   =   IT_SHELLS;
+    this.m_iteminit =   ammo_shells_init;
 #endif
+}