]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator/gamemode_assault.qc
Implement symmetrical editing of waypoints for ctf maps with rotational symmetry...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator / gamemode_assault.qc
index 6127aa72a536cd36cfa3d9afac05ef6212c700a8..994a29719c810a16d0029c18328269f1609ff31c 100644 (file)
@@ -1,5 +1,7 @@
 #include "gamemode_assault.qh"
 
+#include <lib/float.qh>
+
 .entity sprite;
 #define AS_ROUND_DELAY 5
 
@@ -106,7 +108,7 @@ void target_objective_decrease_activate(entity this)
                                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";
@@ -180,8 +182,6 @@ void assault_wall_think(entity this)
 
 // 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");
@@ -213,7 +213,7 @@ entity as_round;
 .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;
@@ -261,7 +261,7 @@ int WinningCondition_Assault()
                                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)
@@ -551,7 +551,7 @@ MUTATOR_HOOKFUNCTION(as, TurretSpawn)
 {
        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?
 }
 
@@ -559,9 +559,7 @@ MUTATOR_HOOKFUNCTION(as, VehicleInit)
 {
        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)
@@ -612,6 +610,12 @@ MUTATOR_HOOKFUNCTION(as, OnEntityPreSpawn)
        }
 }
 
+MUTATOR_HOOKFUNCTION(as, ReadyRestart_Deny)
+{
+       // readyrestart not supported (yet)
+       return true;
+}
+
 // scoreboard setup
 void assault_ScoreRules()
 {