#include "ammo.qh"
#include "../../../server/t_items.qh"
-#define REGISTER_AMMO(id, model, sound, name, itemid, botvalue) \
-REGISTER_ITEM(id, Ammo, LAMBDA({ \
- this.m_model = model; \
- this.m_sound = sound; \
- this.m_respawntime = SPAWNTIME_AMMO; \
- this.m_respawntimejitter = SPAWNTIME_AMMO; \
- this.m_name = name; \
- this.m_itemid = itemid; \
- this.m_botvalue = botvalue; \
-}))
+#define WITH(it) this.m_##it;
+#define CONFIGURE(...) MAP(WITH, __VA_ARGS__)
+#define DEFINE(id, ...) \
+ REGISTER_ITEM(id, Ammo, LAMBDA( \
+ IF(SV, CONFIGURE \
+ , respawntime = GET(g_pickup_respawntime_ammo) \
+ , respawntimejitter = GET(g_pickup_respawntimejitter_ammo) \
+ ) \
+ MAP(IDENTITY, __VA_ARGS__) \
+ ))
-REGISTER_AMMO(Bullets
- , "models/items/a_bullets.mdl"
- , "misc/itempickup.wav"
- , "bullets"
- , IT_NAILS
- , 2000
+DEFINE(Bullets
+ ,IF(ALL, CONFIGURE
+ , model = "models/items/a_bullets.mdl"
+ , sound = "misc/itempickup.wav"
+ , name = "bullets"
+ , itemid = IT_NAILS
+ )
+ ,IF(SV, CONFIGURE
+ , botvalue = 2000
+ )
)
-REGISTER_AMMO(Cells
- , "models/items/a_cells.md3"
- , "misc/itempickup.wav"
- , "cells"
- , IT_ROCKETS
- , 2000
+DEFINE(Cells
+ ,IF(ALL, CONFIGURE
+ , model = "models/items/a_cells.md3"
+ , sound = "misc/itempickup.wav"
+ , name = "cells"
+ , itemid = IT_ROCKETS
+ )
+ ,IF(SV, CONFIGURE
+ , botvalue = 2000
+ )
)
-REGISTER_AMMO(Plasma
- , "models/items/a_cells.md3"
- , "misc/itempickup.wav"
- , "plasma"
- , IT_ROCKETS
- , 2000
+DEFINE(Plasma
+ ,IF(ALL, CONFIGURE
+ , model = "models/items/a_cells.md3"
+ , sound = "misc/itempickup.wav"
+ , name = "plasma"
+ , itemid = IT_ROCKETS
+ )
+ ,IF(SV, CONFIGURE
+ , botvalue = 2000
+ )
)
-REGISTER_AMMO(Rockets
- , "models/items/a_rockets.md3"
- , "misc/itempickup.wav"
- , "rockets"
- , IT_ROCKETS
- , 3000
+DEFINE(Rockets
+ ,IF(ALL, CONFIGURE
+ , model = "models/items/a_rockets.md3"
+ , sound = "misc/itempickup.wav"
+ , name = "rockets"
+ , itemid = IT_ROCKETS
+ )
+ ,IF(SV, CONFIGURE
+ , botvalue = 3000
+ )
)
-REGISTER_AMMO(Shells
- , "models/items/a_shells.md3"
- , "misc/itempickup.wav"
- , "shells"
- , IT_SHELLS
- , 500
+DEFINE(Shells
+ ,IF(ALL, CONFIGURE
+ , model = "models/items/a_shells.md3"
+ , sound = "misc/itempickup.wav"
+ , name = "shells"
+ , itemid = IT_SHELLS
+ )
+ ,IF(SV, CONFIGURE
+ , botvalue = 500
+ )
)
+
+#undef WITH
+#undef CONFIGURE
+#undef DEFINE