#include "sv_touchexplode.qh"
+string autocvar_g_touchexplode;
float autocvar_g_touchexplode_radius;
float autocvar_g_touchexplode_damage;
float autocvar_g_touchexplode_edgedamage;
float autocvar_g_touchexplode_force;
-REGISTER_MUTATOR(touchexplode, cvar("g_touchexplode"));
+REGISTER_MUTATOR(touchexplode, expr_evaluate(autocvar_g_touchexplode));
.float touchexplode_time;
entity e = spawn();
setorigin(e, org);
- RadiusDamage(e, NULL, autocvar_g_touchexplode_damage, autocvar_g_touchexplode_edgedamage, autocvar_g_touchexplode_radius, NULL, NULL, autocvar_g_touchexplode_force, DEATH_TOUCHEXPLODE.m_id, NULL);
+ RadiusDamage(e, NULL, autocvar_g_touchexplode_damage, autocvar_g_touchexplode_edgedamage, autocvar_g_touchexplode_radius, NULL, NULL, autocvar_g_touchexplode_force, DEATH_TOUCHEXPLODE.m_id, DMG_NOWEP, NULL);
delete(e);
}
entity player = M_ARGV(0, entity);
if(time > player.touchexplode_time)
- if(!gameover)
+ if(!game_stopped)
if(!STAT(FROZEN, player))
if(IS_PLAYER(player))
if(!IS_DEAD(player))
if(!IS_INDEPENDENT_PLAYER(player))
- FOREACH_CLIENT(IS_PLAYER(it) && it != player, LAMBDA(
+ FOREACH_CLIENT(IS_PLAYER(it) && it != player, {
if(time > it.touchexplode_time)
if(!STAT(FROZEN, it))
if(!IS_DEAD(it))
PlayerTouchExplode(player, it);
player.touchexplode_time = it.touchexplode_time = time + 0.2;
}
- ));
+ });
}