set g_td_monsters_skill_start 1 "set to 0 to use g_monsters_skill instead"
set g_td_monsters_skill_increment 0.1
set g_td_monsters_spawnshield_time 2
+set g_td_monsters_ignore_turrets 0
set g_td_max_waves 8
set g_td_kill_points 5
set g_td_turretkill_points 3
float autocvar_g_td_monsters_speed_run;
float autocvar_g_td_monsters_spawn_delay;
float autocvar_g_td_monsters_spawnshield_time;
+float autocvar_g_td_monsters_ignore_turrets;
float autocvar_g_td_turret_upgrade_cost;
float autocvar_g_td_turret_repair_cost;
float autocvar_g_td_barricade_damage;
m_speed_run = ((self.mspeed_run) ? self.mspeed_run : autocvar_g_td_monsters_speed_run);
spawn_delay = ((self.spawndelay) ? self.spawndelay : autocvar_g_td_monsters_spawn_delay);
max_current = ((self.maxcurrent) ? self.maxcurrent : autocvar_g_td_current_monsters);
+ ignore_turrets = ((self.ignoreturrets) ? self.ignoreturrets : autocvar_g_td_monsters_ignore_turrets);
wave_end(TRUE);
}
default: break;
}
+ // TODO: fix this classname mess
switch(self.spawnflags)
{
case SWARM_STRONG: self.classname = "swarm_strong"; break;
for(e = world;(e = findflags(e, monster_attack, TRUE)); )
{
+ if(ignore_turrets)
+ if(e.turrcaps_flags & TFL_TURRCAPS_ISTURRET)
+ continue;
+
if(monster_isvalidtarget(e, self, FALSE))
if((vlen(trace_endpos - self.origin) < 200 && e.turrcaps_flags & TFL_TURRCAPS_ISTURRET) || (vlen(trace_endpos - self.origin) < 200 && e.classname != "td_generator") || (vlen(trace_endpos - self.origin) < 500 && e.classname == "td_generator"))
{