+#ifndef NADES_H
+#define NADES_H
+
+#include "teams.qh"
+
+.float healer_lifetime;
+.float healer_radius;
+
// use slots 70-100
-const float PROJECTILE_NADE = 71;
-const float PROJECTILE_NADE_BURN = 72;
-const float PROJECTILE_NADE_NAPALM = 73;
-const float PROJECTILE_NADE_NAPALM_BURN = 74;
-const float PROJECTILE_NAPALM_FOUNTAIN = 75;
-const float PROJECTILE_NADE_ICE = 76;
-const float PROJECTILE_NADE_ICE_BURN = 77;
-const float PROJECTILE_NADE_TRANSLOCATE = 78;
-const float PROJECTILE_NADE_SPAWN = 79;
-const float PROJECTILE_NADE_HEAL = 80;
-const float PROJECTILE_NADE_HEAL_BURN = 81;
-const float PROJECTILE_NADE_MONSTER = 82;
-const float PROJECTILE_NADE_MONSTER_BURN = 83;
-
-const float NADE_TYPE_NORMAL = 1;
-const float NADE_TYPE_NAPALM = 2;
-const float NADE_TYPE_ICE = 3;
-const float NADE_TYPE_TRANSLOCATE = 4;
-const float NADE_TYPE_SPAWN = 5;
-const float NADE_TYPE_HEAL = 6;
-const float NADE_TYPE_MONSTER = 7;
-
-const float NADE_TYPE_LAST = 7; // a check to prevent using higher values & crashing
-
-vector Nade_Color(float nadeid)
+const int PROJECTILE_NADE = 71;
+const int PROJECTILE_NADE_BURN = 72;
+const int PROJECTILE_NADE_NAPALM = 73;
+const int PROJECTILE_NADE_NAPALM_BURN = 74;
+const int PROJECTILE_NAPALM_FOUNTAIN = 75;
+const int PROJECTILE_NADE_ICE = 76;
+const int PROJECTILE_NADE_ICE_BURN = 77;
+const int PROJECTILE_NADE_TRANSLOCATE = 78;
+const int PROJECTILE_NADE_SPAWN = 79;
+const int PROJECTILE_NADE_HEAL = 80;
+const int PROJECTILE_NADE_HEAL_BURN = 81;
+const int PROJECTILE_NADE_MONSTER = 82;
+const int PROJECTILE_NADE_MONSTER_BURN = 83;
+
+const int NADE_TYPE_NORMAL = 1;
+const int NADE_TYPE_NAPALM = 2;
+const int NADE_TYPE_ICE = 3;
+const int NADE_TYPE_TRANSLOCATE = 4;
+const int NADE_TYPE_SPAWN = 5;
+const int NADE_TYPE_HEAL = 6;
+const int NADE_TYPE_MONSTER = 7;
+
+const int NADE_TYPE_LAST = 7; // a check to prevent using higher values & crashing
+
+vector Nade_Color(int nadeid)
{
switch(nadeid)
{
case NADE_TYPE_NORMAL: return '1 1 1';
case NADE_TYPE_NAPALM: return '2 0.5 0';
case NADE_TYPE_ICE: return '0 0.5 2';
- case NADE_TYPE_TRANSLOCATE: return '1 0.0625 1';
- case NADE_TYPE_SPAWN: return '1 0.9 0.06';
- case NADE_TYPE_HEAL: return '1 0 0';
- case NADE_TYPE_MONSTER: return '1 0.5 0';
+ case NADE_TYPE_TRANSLOCATE: return '1 0 1';
+ case NADE_TYPE_SPAWN: return '1 0.9 0';
+ case NADE_TYPE_HEAL: return '1 0 0';
+ case NADE_TYPE_MONSTER: return '0.25 0.75 0';
}
return '0 0 0';
}
-float Nade_IDFromProjectile(float proj)
+string Nade_Icon(int nadeid)
+{
+ switch(nadeid)
+ {
+ case NADE_TYPE_NORMAL: return "nade_normal";
+ case NADE_TYPE_NAPALM: return "nade_napalm";
+ case NADE_TYPE_ICE: return "nade_ice";
+ case NADE_TYPE_TRANSLOCATE: return "nade_translocate";
+ case NADE_TYPE_SPAWN: return "nade_spawn";
+ case NADE_TYPE_HEAL: return "nade_heal";
+ case NADE_TYPE_MONSTER: return "nade_monster";
+ }
+
+ return "nade_normal";
+}
+
+int Nade_IDFromProjectile(float proj)
{
switch(proj)
{
case PROJECTILE_NADE_ICE_BURN: return NADE_TYPE_ICE;
case PROJECTILE_NADE_TRANSLOCATE: return NADE_TYPE_TRANSLOCATE;
case PROJECTILE_NADE_SPAWN: return NADE_TYPE_SPAWN;
- case PROJECTILE_NADE_HEAL:
- case PROJECTILE_NADE_HEAL_BURN: return NADE_TYPE_HEAL;
+ case PROJECTILE_NADE_HEAL:
+ case PROJECTILE_NADE_HEAL_BURN: return NADE_TYPE_HEAL;
case PROJECTILE_NADE_MONSTER:
case PROJECTILE_NADE_MONSTER_BURN: return NADE_TYPE_MONSTER;
}
return 0;
}
-float Nade_ProjectileFromID(float proj, float burn)
+int Nade_ProjectileFromID(int proj, bool burn)
{
switch(proj)
{
case NADE_TYPE_ICE: return (burn) ? PROJECTILE_NADE_ICE_BURN : PROJECTILE_NADE_ICE;
case NADE_TYPE_TRANSLOCATE: return PROJECTILE_NADE_TRANSLOCATE;
case NADE_TYPE_SPAWN: return PROJECTILE_NADE_SPAWN;
- case NADE_TYPE_HEAL: return (burn) ? PROJECTILE_NADE_HEAL_BURN : PROJECTILE_NADE_HEAL;
+ case NADE_TYPE_HEAL: return (burn) ? PROJECTILE_NADE_HEAL_BURN : PROJECTILE_NADE_HEAL;
case NADE_TYPE_MONSTER: return (burn) ? PROJECTILE_NADE_MONSTER_BURN : PROJECTILE_NADE_MONSTER;
}
case PROJECTILE_NADE_ICE_BURN: return "wakizashi_rocket_thrust";
case PROJECTILE_NADE_TRANSLOCATE: return "TR_CRYLINKPLASMA";
case PROJECTILE_NADE_SPAWN: return "nade_yellow";
- case PROJECTILE_NADE_HEAL: return "nade_red";
- case PROJECTILE_NADE_HEAL_BURN: return "nade_red_burn";
+ case PROJECTILE_NADE_HEAL: return "nade_red";
+ case PROJECTILE_NADE_HEAL_BURN: return "nade_red_burn";
case PROJECTILE_NADE_MONSTER: return "nade_red";
case PROJECTILE_NADE_MONSTER_BURN: return "nade_red_burn";
}
-
+
return "";
}
+#ifdef SVQC
+float healer_send(entity to, int sf);
+#endif
+
#ifdef CSQC
// misc functions
void ent_healer();
#endif // CSQC
+#endif