#include "gamemode_assault.qh"
+#include <lib/float.qh>
+
.entity sprite;
#define AS_ROUND_DELAY 5
it.sprite = NULL; // TODO: just unsetting it?!
}
- spr = WaypointSprite_SpawnFixed(WP_Assault, 0.5 * (it.absmin + it.absmax), it, assault_sprite, RADARICON_OBJECTIVE);
+ spr = WaypointSprite_SpawnFixed(WP_AssaultDefend, 0.5 * (it.absmin + it.absmax), it, assault_sprite, RADARICON_OBJECTIVE);
spr.assault_decreaser = this;
spr.waypointsprite_visible_for_player = assault_decreaser_sprite_visible;
spr.classname = "sprite_waypoint";
// trigger new round
// reset objectives, toggle spawnpoints, reset triggers, ...
-void vehicles_clearreturn(entity veh);
-void vehicles_spawn(entity this);
void assault_new_round(entity this)
{
//bprint("ASSAULT: new round\n");
else
assault_attacker_team = NUM_TEAM_1;
- FOREACH_ENTITY_FLOAT(pure_data, false,
+ IL_EACH(g_saved_team, !IS_CLIENT(it),
{
- if(IS_CLIENT(it))
- continue;
-
- if (it.team_saved == NUM_TEAM_1) it.team_saved = NUM_TEAM_2;
- else if (it.team_saved == NUM_TEAM_2) it.team_saved = NUM_TEAM_1;
+ if(it.team_saved == NUM_TEAM_1)
+ it.team_saved = NUM_TEAM_2;
+ else if(it.team_saved == NUM_TEAM_2)
+ it.team_saved = NUM_TEAM_1;
});
// reset the level with a countdown
.entity ent_winning;
void as_round_think()
{
- gameover = false;
+ game_stopped = false;
assault_new_round(as_round.ent_winning);
delete(as_round);
as_round = NULL;
as_round.think = as_round_think;
as_round.ent_winning = ent;
as_round.nextthink = time + AS_ROUND_DELAY;
- gameover = true;
+ game_stopped = true;
// make sure timelimit isn't hit while the game is blocked
if(autocvar_timelimit > 0)
{
entity turret = M_ARGV(0, entity);
- if(!turret.team || turret.team == MAX_SHOT_DISTANCE)
+ if(!turret.team || turret.team == FLOAT_MAX)
turret.team = 5; // this gets reversed when match starts?
}
{
entity veh = M_ARGV(0, entity);
- if(veh.active != ACTIVE_NOT)
- veh.nextthink = time + 0.5;
- return true;
+ veh.nextthink = time + 0.5;
}
MUTATOR_HOOKFUNCTION(as, HavocBot_ChooseRole)
}
}
+MUTATOR_HOOKFUNCTION(as, ReadyRestart_Deny)
+{
+ // readyrestart not supported (yet)
+ return true;
+}
+
// scoreboard setup
void assault_ScoreRules()
{