]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/items/item/ammo.qh
Fix the compilation unit, apparently
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / ammo.qh
1 #pragma once
2
3 #include "pickup.qh"
4 #include <common/items/all.qh>
5 #ifdef SVQC
6     #include <common/t_items.qh>
7     #include <server/resources.qh>
8 #endif
9
10 #if 1
11 .int ammo_none;
12 .int ammo_shells;
13 .int ammo_nails;
14 .int ammo_rockets;
15 .int ammo_cells;
16 #ifdef SVQC
17 .int ammo_plasma = _STAT(PLASMA);
18 .int ammo_fuel = _STAT(FUEL);
19 #else
20 .int ammo_plasma;
21 .int ammo_fuel;
22 #endif
23 #endif
24
25 #ifdef SVQC
26 PROPERTY(float, g_pickup_ammo_anyway);
27 #endif
28
29 CLASS(Ammo, Pickup)
30 #ifdef SVQC
31     ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc);
32     ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo));
33     ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo));
34     ATTRIB(Ammo, m_pickupanyway, float(), GET(g_pickup_ammo_anyway));
35 #endif
36 ENDCLASS(Ammo)
37
38
39 #ifdef GAMEQC
40 MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl"));
41 #endif
42
43 #ifdef SVQC
44 PROPERTY(int, g_pickup_nails);
45 void ammo_bullets_init(Pickup this, entity item)
46 {
47     if(!GetResourceAmount(item, RESOURCE_BULLETS))
48         SetResourceAmountExplicit(item, RESOURCE_BULLETS, g_pickup_nails);
49 }
50 #endif
51
52 CLASS(Bullets, Ammo)
53 ENDCLASS(Bullets)
54
55 REGISTER_ITEM(Bullets, Bullets) {
56     this.m_canonical_spawnfunc = "item_bullets";
57 #ifdef GAMEQC
58         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
59     this.m_model    =   MDL_Bullets_ITEM;
60 #endif
61     this.netname    =   "bullets";
62     this.m_name     =   "bullets";
63     this.m_icon     =   "ammo_bullets";
64 #ifdef SVQC
65     this.m_botvalue =   1500;
66     this.m_itemid   =   IT_NAILS;
67     this.m_iteminit =   ammo_bullets_init;
68 #endif
69 }
70
71 SPAWNFUNC_ITEM(item_bullets, ITEM_Bullets)
72
73 #ifdef GAMEQC
74 MODEL(Cells_ITEM, Item_Model("a_cells.md3"));
75 #endif
76
77 #ifdef SVQC
78 PROPERTY(int, g_pickup_cells);
79 void ammo_cells_init(Pickup this, entity item)
80 {
81     if(!GetResourceAmount(item, RESOURCE_CELLS))
82         SetResourceAmountExplicit(item, RESOURCE_CELLS, g_pickup_cells);
83 }
84 #endif
85 REGISTER_ITEM(Cells, Ammo) {
86     this.m_canonical_spawnfunc = "item_cells";
87 #ifdef GAMEQC
88         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
89     this.m_model    =   MDL_Cells_ITEM;
90 #endif
91     this.netname    =   "cells";
92     this.m_name     =   "cells";
93     this.m_icon     =   "ammo_cells";
94 #ifdef SVQC
95     this.m_botvalue =   1500;
96     this.m_itemid   =   IT_CELLS;
97     this.m_iteminit =   ammo_cells_init;
98 #endif
99 }
100
101 SPAWNFUNC_ITEM(item_cells, ITEM_Cells)
102
103 #ifdef GAMEQC
104 MODEL(Plasma_ITEM, Item_Model("a_cells.md3"));
105 #endif
106
107 #ifdef SVQC
108 PROPERTY(int, g_pickup_plasma);
109 void ammo_plasma_init(Pickup this, entity item)
110 {
111     if(!GetResourceAmount(item, RESOURCE_PLASMA))
112         SetResourceAmountExplicit(item, RESOURCE_PLASMA, g_pickup_plasma);
113 }
114 #endif
115 REGISTER_ITEM(Plasma, Ammo) {
116     this.m_canonical_spawnfunc = "item_plasma";
117 #ifdef GAMEQC
118         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
119     this.m_model    =   MDL_Plasma_ITEM;
120 #endif
121     this.netname    =   "plasma";
122     this.m_name     =   "plasma";
123     this.m_icon     =   "ammo_plasma";
124 #ifdef SVQC
125     this.m_botvalue =   1500;
126     this.m_itemid   =   IT_PLASMA;
127     this.m_iteminit =   ammo_plasma_init;
128 #endif
129 }
130
131 SPAWNFUNC_ITEM(item_plasma, ITEM_Plasma)
132
133 #ifdef GAMEQC
134 MODEL(Rockets_ITEM, Item_Model("a_rockets.md3"));
135 #endif
136
137 #ifdef SVQC
138 PROPERTY(int, g_pickup_rockets);
139 void ammo_rockets_init(Pickup this, entity item)
140 {
141     if(!GetResourceAmount(item, RESOURCE_ROCKETS))
142         SetResourceAmountExplicit(item, RESOURCE_ROCKETS, g_pickup_rockets);
143 }
144 #endif
145 REGISTER_ITEM(Rockets, Ammo) {
146     this.m_canonical_spawnfunc = "item_rockets";
147 #ifdef GAMEQC
148         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
149     this.m_model    =   MDL_Rockets_ITEM;
150 #endif
151     this.netname    =   "rockets";
152     this.m_name     =   "rockets";
153     this.m_icon     =   "ammo_rockets";
154 #ifdef SVQC
155     this.m_botvalue =   1500;
156     this.m_itemid   =   IT_ROCKETS;
157     this.m_iteminit =   ammo_rockets_init;
158 #endif
159 }
160
161 SPAWNFUNC_ITEM(item_rockets, ITEM_Rockets)
162
163 #ifdef GAMEQC
164 MODEL(Shells_ITEM, Item_Model("a_shells.md3"));
165 #endif
166
167 #ifdef SVQC
168 PROPERTY(int, g_pickup_shells);
169 void ammo_shells_init(Pickup this, entity item)
170 {
171     if(!GetResourceAmount(item, RESOURCE_SHELLS))
172         SetResourceAmountExplicit(item, RESOURCE_SHELLS, g_pickup_shells);
173 }
174 #endif
175
176 CLASS(Shells, Ammo)
177 ENDCLASS(Shells)
178
179 REGISTER_ITEM(Shells, Shells) {
180     this.m_canonical_spawnfunc = "item_shells";
181 #ifdef GAMEQC
182         this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE;
183     this.m_model    =   MDL_Shells_ITEM;
184 #endif
185     this.netname    =   "shells";
186     this.m_name     =   "shells";
187     this.m_icon     =   "ammo_shells";
188 #ifdef SVQC
189     this.m_botvalue =   1000;
190     this.m_itemid   =   IT_SHELLS;
191     this.m_iteminit =   ammo_shells_init;
192 #endif
193 }
194
195 SPAWNFUNC_ITEM(item_shells, ITEM_Shells)