#include "teams.qh"
#include "util.qh"
-#include "registry.qh"
-
void RegisterBuffs();
const int BUFFS_MAX = 16;
entity BUFFS[BUFFS_MAX], BUFFS_first, BUFFS_last;
ATTRIB(Buff, m_prettyName, string, "Buff")
ATTRIB(Buff, m_skin, int, 0)
ATTRIB(Buff, m_sprite, string, "")
+ METHOD(Buff, display, void(entity this, void(string name, string icon) returns)) {
+ returns(this.m_prettyName, sprintf("/gfx/hud/%s/buff_%s", cvar_string("menu_skin"), this.m_name));
+ }
#ifdef SVQC
METHOD(Buff, m_time, float(entity));
float Buff_m_time(entity this) { return cvar(strcat("g_buffs_", this.netname, "_time")); }
#endif
ENDCLASS(Buff)
-REGISTER_BUFF(NULL);
+REGISTER_BUFF(Null);
REGISTER_BUFF(AMMO) {
this.m_prettyName = _("Ammo");
void buff_Init(entity ent);
void buff_Init_Compat(entity ent, entity replacement);
-#define BUFF_SPAWNFUNC(e, b, t) void spawnfunc_item_buff_##e() { \
+#define BUFF_SPAWNFUNC(e, b, t) spawnfunc(item_buff_##e) { \
self.buffs = b.m_itemid; \
self.team = t; \
buff_Init(self); \
BUFF_SPAWNFUNC(e##_team2, b, NUM_TEAM_2) \
BUFF_SPAWNFUNC(e##_team3, b, NUM_TEAM_3) \
BUFF_SPAWNFUNC(e##_team4, b, NUM_TEAM_4)
-#define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r) void spawnfunc_item_##o() { buff_Init_Compat(self, r); }
+#define BUFF_SPAWNFUNC_Q3TA_COMPAT(o, r) spawnfunc(item_##o) { buff_Init_Compat(self, r); }
BUFF_SPAWNFUNCS(resistance, BUFF_RESISTANCE)
BUFF_SPAWNFUNCS(ammo, BUFF_AMMO)
BUFF_SPAWNFUNCS(inferno, BUFF_INFERNO)
BUFF_SPAWNFUNCS(swapper, BUFF_SWAPPER)
BUFF_SPAWNFUNCS(magnet, BUFF_MAGNET)
-BUFF_SPAWNFUNCS(random, BUFF_NULL)
+BUFF_SPAWNFUNCS(random, BUFF_Null)
BUFF_SPAWNFUNC_Q3TA_COMPAT(doubler, BUFF_MEDIC)
BUFF_SPAWNFUNC_Q3TA_COMPAT(resistance, BUFF_RESISTANCE)