+#include "gamemode_assault.qh"
+#include "../_all.qh"
+
+#include "gamemode.qh"
+
+.entity sprite;
+
// random functions
void assault_objective_use()
{
decreaser = self.assault_decreaser;
if(decreaser.enemy.health >= ASSAULT_VALUE_INACTIVE)
- return FALSE;
+ return false;
- return TRUE;
+ return true;
}
void target_objective_decrease_activate()
// trigger new round
// reset objectives, toggle spawnpoints, reset triggers, ...
+void vehicles_clearreturn(entity veh);
+void vehicles_spawn();
void assault_new_round()
{
+ entity oldself;
+ //bprint("ASSAULT: new round\n");
+
+ oldself = self;
+ // Eject players from vehicles
+ FOR_EACH_PLAYER(self)
+ {
+ if(self.vehicle)
+ vehicles_exit(VHEF_RELEASE);
+ }
+
+ self = findchainflags(vehicle_flags, VHF_ISVEHICLE);
+ while(self)
+ {
+ vehicles_clearreturn(self);
+ vehicles_spawn();
+ self = self.chain;
+ }
+
+ self = oldself;
+
// up round counter
self.winning = self.winning + 1;
if (!ad.bot_attack)
continue;
- found = FALSE;
+ found = false;
for(tod = world; (tod = find(tod, targetname, ad.target)); )
{
if(tod.classname == "target_objective_decrease")
if(tod.enemy.health > 0 && tod.enemy.health < ASSAULT_VALUE_INACTIVE)
{
// dprint(etos(ad),"\n");
- found = TRUE;
+ found = true;
break;
}
}
// te_lightning2(world, '0 0 0', p);
// Find and rate waypoints around it
- found = FALSE;
+ found = false;
best = world;
bestvalue = 99999999999;
for(radius=0; radius<1500 && !found; radius+=500)
if(wp.classname=="waypoint")
if(checkpvs(wp.origin, ad))
{
- found = TRUE;
+ found = true;
if(wp.cnt<bestvalue)
{
best = wp;
else
Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_ASSAULT_DEFENDING);
- return FALSE;
+ return false;
}
MUTATOR_HOOKFUNCTION(assault_TurretSpawn)
if (!self.team)
self.team = 14;
- return FALSE;
+ return false;
}
MUTATOR_HOOKFUNCTION(assault_VehicleSpawn)
{
self.nextthink = time + 0.5;
- return FALSE;
+ return false;
}
MUTATOR_HOOKFUNCTION(assault_BotRoles)
{
havocbot_ast_reset_role(self);
- return TRUE;
+ return true;
}
// scoreboard setup
void assault_ScoreRules()
{
- ScoreRules_basics(2, SFL_SORT_PRIO_SECONDARY, SFL_SORT_PRIO_SECONDARY, TRUE);
+ ScoreRules_basics(2, SFL_SORT_PRIO_SECONDARY, SFL_SORT_PRIO_SECONDARY, true);
ScoreInfo_SetLabel_TeamScore( ST_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
ScoreInfo_SetLabel_PlayerScore(SP_ASSAULT_OBJECTIVES, "objectives", SFL_SORT_PRIO_PRIMARY);
ScoreRules_basics_end();