-#ifndef NADES_ALL_H
-#define NADES_ALL_H
+#pragma once
#include <common/teams.qh>
const int PROJECTILE_NADE_MONSTER_BURN = 83;
const int PROJECTILE_NADE_ENTRAP = 84;
const int PROJECTILE_NADE_ENTRAP_BURN = 85;
+const int PROJECTILE_NADE_VEIL = 86;
+const int PROJECTILE_NADE_VEIL_BURN = 87;
REGISTRY(Nades, BITS(4))
#define Nades_from(i) _Nades_from(i, NADE_TYPE_Null)
#define REGISTER_NADE(id) REGISTER(Nades, NADE_TYPE, id, m_id, NEW(Nade))
CLASS(Nade, Object)
- ATTRIB(Nade, m_id, int, 0)
- ATTRIB(Nade, m_color, vector, '0 0 0')
- ATTRIB(Nade, m_name, string, _("Grenade"))
- ATTRIB(Nade, m_icon, string, "nade_normal")
- ATTRIBARRAY(Nade, m_projectile, int, 2)
- ATTRIBARRAY(Nade, m_trail, entity, 2)
+ ATTRIB(Nade, m_id, int, 0);
+ ATTRIB(Nade, m_color, vector, '0 0 0');
+ ATTRIB(Nade, m_name, string, _("Grenade"));
+ ATTRIB(Nade, m_icon, string, "nade_normal");
+ 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("menu_skin"), this.m_icon));
}
Nade Nade_FromProjectile(int proj)
{
- FOREACH(Nades, true, LAMBDA(
+ FOREACH(Nades, true, {
for (int j = 0; j < 2; j++)
{
if (it.m_projectile[j] == proj) return it;
}
- ));
+ });
return NADE_TYPE_Null;
}
-#ifndef MENUQC
+#ifdef GAMEQC
#include "effects.inc"
#endif
.entity nade;
.entity fake_nade;
-.float nade_timer = _STAT(NADE_TIMER);
.float nade_refire;
-.float bonus_nades = _STAT(NADE_BONUS);
.float nade_special_time;
-.float bonus_nade_score = _STAT(NADE_BONUS_SCORE);
-.int nade_type = _STAT(NADE_BONUS_TYPE);
.string pokenade_type;
.entity nade_damage_target;
.float cvar_cl_nade_type;
.string cvar_cl_pokenade_type;
.float toss_time;
-.float stat_healing_orb = _STAT(HEALING_ORB);
-.float stat_healing_orb_alpha = _STAT(HEALING_ORB_ALPHA);
.float nade_show_particles;
+.float nade_veil_prevalpha;
bool orb_send(entity this, entity to, int sf);
void nades_Clear(entity player);
// Give a bonus grenade to a player
-void(entity player, float score) nades_GiveBonus;
+void nades_GiveBonus(entity player, float score);
/**
* called to adjust nade damage and force on hit
#endif
+#ifdef CSQC
+float cvar_cl_nade_type;
+string cvar_cl_pokenade_type;
+bool Projectile_isnade(int proj); // TODO: remove
+
+void DrawAmmoNades(vector myPos, vector mySize, bool draw_expanding, float expand_time); // TODO: mutator
#endif