X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fbuffs.qh;h=3eff9e26b8e39d3298000b3c77106a4525a3b2f4;hp=db57943241b9c3d0b0bad9698dfd9f0e76dd1c5d;hb=048eec2a1ac0b11c0e6387f7dbc17d15f5e6fb07;hpb=0a6d4cd16b83990beff55c8b7850a492da8864e2 diff --git a/qcsrc/common/buffs.qh b/qcsrc/common/buffs.qh index db5794324..3eff9e26b 100644 --- a/qcsrc/common/buffs.qh +++ b/qcsrc/common/buffs.qh @@ -8,8 +8,6 @@ #include "teams.qh" #include "util.qh" -#include "registry.qh" - void RegisterBuffs(); const int BUFFS_MAX = 16; entity BUFFS[BUFFS_MAX], BUFFS_first, BUFFS_last; @@ -33,13 +31,16 @@ CLASS(Buff, Pickup) 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)) + 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"); @@ -145,6 +146,7 @@ void buff_Init(entity ent); void buff_Init_Compat(entity ent, entity replacement); #define BUFF_SPAWNFUNC(e, b, t) void spawnfunc_item_buff_##e() { \ + SELFPARAM(); \ self.buffs = b.m_itemid; \ self.team = t; \ buff_Init(self); \ @@ -155,7 +157,7 @@ void buff_Init_Compat(entity ent, entity replacement); 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) void spawnfunc_item_##o() { SELFPARAM(); buff_Init_Compat(self, r); } BUFF_SPAWNFUNCS(resistance, BUFF_RESISTANCE) BUFF_SPAWNFUNCS(ammo, BUFF_AMMO) @@ -171,7 +173,7 @@ BUFF_SPAWNFUNCS(invisible, BUFF_INVISIBLE) 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)