// 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) { 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'; } return '0 0 0'; } float Nade_IDFromProjectile(float proj) { switch(proj) { case PROJECTILE_NADE: case PROJECTILE_NADE_BURN: return NADE_TYPE_NORMAL; case PROJECTILE_NADE_NAPALM: case PROJECTILE_NADE_NAPALM_BURN: return NADE_TYPE_NAPALM; case PROJECTILE_NADE_ICE: 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_MONSTER: case PROJECTILE_NADE_MONSTER_BURN: return NADE_TYPE_MONSTER; } return 0; } float Nade_ProjectileFromID(float proj, float burn) { switch(proj) { case NADE_TYPE_NORMAL: return (burn) ? PROJECTILE_NADE_BURN : PROJECTILE_NADE; case NADE_TYPE_NAPALM: return (burn) ? PROJECTILE_NADE_NAPALM_BURN : PROJECTILE_NADE_NAPALM; 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_MONSTER: return (burn) ? PROJECTILE_NADE_MONSTER_BURN : PROJECTILE_NADE_MONSTER; } return 0; } string Nade_TrailEffect(float proj, float nade_team) { switch(proj) { case PROJECTILE_NADE: return strcat("nade_", Static_Team_ColorName_Lower(nade_team)); case PROJECTILE_NADE_BURN: return strcat("nade_", Static_Team_ColorName_Lower(nade_team), "_burn"); case PROJECTILE_NADE_NAPALM: return "TR_ROCKET"; case PROJECTILE_NADE_NAPALM_BURN: return "spiderbot_rocket_thrust"; case PROJECTILE_NADE_ICE: return "TR_NEXUIZPLASMA"; 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_MONSTER: return "nade_red"; case PROJECTILE_NADE_MONSTER_BURN: return "nade_red_burn"; } return ""; } #ifdef CSQC // misc functions void ent_healer(); #endif // CSQC