void RegisterNades();
const int NADES_MAX = 8;
-entity NADES[NADES_MAX];
+entity NADES[NADES_MAX], NADES_first, NADES_last;
int NADES_COUNT;
-#define REGISTER_NADE(id) REGISTER(RegisterNades, NADE_TYPE, NADES, NADES_COUNT, id, Nade, m_id)
+#define REGISTER_NADE(id) REGISTER(RegisterNades, NADE_TYPE, NADES, NADES_COUNT, id, m_id, NEW(Nade))
REGISTER_REGISTRY(RegisterNades)
CLASS(Nade, Object)
entity Nade_FromProjectile(float proj)
{
- for (int i = 0; i < NADES_COUNT; i++)
- {
- entity nade = NADES[i];
+ FOREACH(NADES, true, LAMBDA(
for (int j = 0; j < 2; j++)
{
- if (nade.m_projectile[j] == proj) return nade;
+ if (it.m_projectile[j] == proj) return it;
}
- }
+ ));
return NADE_TYPE_NULL;
}
string Nade_TrailEffect(float proj, float nade_team)
{
- for (int i = 0; i < NADES_COUNT; i++)
- {
- entity nade = NADES[i];
+ FOREACH(NADES, true, LAMBDA(
for (int j = 0; j < 2; j++)
{
- if (nade.m_projectile[j] == proj)
+ if (it.m_projectile[j] == proj)
{
- string trail = nade.m_trail[j];
+ string trail = it.m_trail[j];
if (trail) return trail;
break;
}
}
- }
+ ));
switch (proj)
{
case PROJECTILE_NADE: return strcat("nade_", Static_Team_ColorName_Lower(nade_team));