METHOD(Monster, mr_pain, float(Monster this, entity actor, float damage_take, entity attacker, float deathtype)) { TC(Monster, this); return damage_take; }
/** (BOTH?) sets animations for monster */
METHOD(Monster, mr_anim, bool(Monster this, entity actor)) { TC(Monster, this); return false; }
-
+#ifdef MENUQC
+ METHOD(Monster, describe, string(Monster this)) {
+ TC(Monster, this);
+ return SUPER(Monster).describe(this);
+ }
+#endif
+ METHOD(Monster, display, void(Monster this, void(string name, string icon) returns)) {
+ TC(Monster, this);
- returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
++ returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
+ }
ENDCLASS(Monster)
ATTRIB(Mutator, m_name, string);
ATTRIB(Mutator, mutatorfunc, mutatorfunc_t);
ATTRIB(Mutator, mutatorcheck, bool());
- CONSTRUCTOR(Mutator, string _name, mutatorfunc_t func) {
- CONSTRUCT(Mutator);
- this.m_name = _name;
- this.mutatorfunc = func;
+ METHOD(Mutator, describe, string(Mutator this)) {
+ TC(Mutator, this);
+ return SUPER(Mutator).describe(this);
+ }
+ METHOD(Mutator, display, void(Mutator this, void(string name, string icon) returns)) {
+ TC(Mutator, this);
- returns(this.message, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
++ returns(this.message, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
}
ENDCLASS(Mutator)
ATTRIB(Buff, m_skin, int, 0);
ATTRIB(Buff, m_lifetime, float, 60);
ATTRIB(Buff, m_sprite, string, "");
- METHOD(Buff, display, void(entity this, void(string name, string icon) returns)) {
- returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon));
+ METHOD(Buff, display, void(Buff this, void(string name, string icon) returns)) {
+ TC(Buff, this);
- returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
++ returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
}
#ifdef SVQC
- METHOD(Buff, m_time, float(Buff this))
- { return cvar(strcat("g_buffs_", this.netname, "_time")); }
+ METHOD(Buff, m_time, float(Buff this)) {
+ return cvar(strcat("g_buffs_", this.netname, "_time"));
+ }
+#endif
+#ifdef MENUQC
+ METHOD(Buff, describe, string(Buff this)) {
+ TC(Buff, this);
+ return SUPER(Buff).describe(this);
+ }
#endif
ENDCLASS(Buff)
ATTRIB(Nade, m_alpha, float, 1);
ATTRIBARRAY(Nade, m_projectile, int, 2);
ATTRIBARRAY(Nade, m_trail, entity, 2);
- METHOD(Nade, display, void(entity this, void(string name, string icon) returns)) {
- returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon));
+ METHOD(Nade, display, void(Nade this, void(string name, string icon) returns)) {
+ TC(Nade, this);
- returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
++ returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
}
+#ifdef MENUQC
+ METHOD(Nade, describe, string(Nade this)) {
+ TC(Nade, this);
+ return SUPER(Nade).describe(this);
+ }
+#endif
ENDCLASS(Nade)
-REGISTER_NADE(Null, NEW(Nade));
+CLASS(NullNade, Nade)
+ ATTRIB(NullNade, m_hidden, bool, true);
+ENDCLASS(NullNade)
+REGISTER(Nades, NADE_TYPE, Null, m_id, NEW(NullNade));
REGISTRY_DEFINE_GET(Nades, NADE_TYPE_Null)
// use slots 70-100
ATTRIB(Turret, m_maxs, vector, '0 0 0');
METHOD(Turret, display, void(Turret this, void(string name, string icon) returns)) {
- returns(this.m_name, string_null);
+ TC(Turret, this);
- returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
++ returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
}
/** (BOTH) setup turret data */
METHOD(Turret, tr_setup, void(Turret this, entity it)) {
/** vehicle 3rd person view distance */
ATTRIB(Vehicle, height, float, 0);
- returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
+#ifdef MENUQC
+ METHOD(Vehicle, describe, string(Vehicle this)) {
+ TC(Vehicle, this);
+ return SUPER(Vehicle).describe(this);
+ }
+#endif
+ METHOD(Vehicle, display, void(Vehicle this, void(string name, string icon) returns)) {
+ TC(Vehicle, this);
++ returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.m_icon) : string_null);
+ }
+
/** (BOTH) setup vehicle data */
METHOD(Vehicle, vr_setup, void(Vehicle this, entity instance)) { }
/** (SERVER) logic to run every frame */
METHOD(Weapon, wr_pickup, void(Weapon this, entity actor, .entity weaponentity)) {}
/** (SERVER) update cvar based properties */
METHOD(Weapon, wr_update, void(Weapon this)) {}
- METHOD(Weapon, display, void(entity this, void(string name, string icon) returns)) {
+ METHOD(Weapon, display, void(Weapon this, void(string name, string icon) returns)) {
+ TC(Weapon, this);
- returns(this.m_name, this.model2 ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.model2) : string_null);
+ returns(this.m_name, (this.model2 != "") ? sprintf("/gfx/hud/%s/%s", cvar_string("hud_skin"), this.model2) : string_null);
}
+#ifdef MENUQC
+ METHOD(Weapon, describe, string(Weapon this)) {
+ TC(Weapon, this);
+ return SUPER(Weapon).describe(this);
+ }
+#endif
ENDCLASS(Weapon)
#ifdef SVQC