]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/gamemode_assault.qc
Merge branch 'master' into Mario/notifications
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / gamemode_assault.qc
index 94e104728f3ab27271f920c49edfe2d474e2c13e..8a8c50b38b8ab18ab31f40ee71b1fe39f4119937 100644 (file)
@@ -63,20 +63,13 @@ void assault_objective_decrease_use()
                        PlayerTeamScore_Add(activator, SP_ASSAULT_OBJECTIVES, ST_ASSAULT_OBJECTIVES, 1);
                        self.enemy.health = -1;
 
-                       entity oldself, oldactivator;
+                       entity oldself, oldactivator, head;
 
                        oldself = self;
                        self = oldself.enemy;
                        if(self.message)
-                       {
-                               entity player;
-                               string s;
-                               FOR_EACH_PLAYER(player)
-                               {
-                                       s = strcat(self.message, "\n");
-                                       centerprint(player, s);
-                               }
-                       }
+                       FOR_EACH_PLAYER(head)
+                               centerprint(head, self.message);
 
                        oldactivator = activator;
                        activator = oldself;
@@ -212,31 +205,8 @@ void assault_wall_think()
 
 // trigger new round
 // reset objectives, toggle spawnpoints, reset triggers, ...
-void vehicles_clearrturn();
-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_RELESE);
-    }
-
-    self = findchainflags(vehicle_flags, VHF_ISVEHICLE);
-    while(self)
-    {
-        vehicles_clearrturn();
-        vehicles_spawn();
-        self = self.chain;
-    }
-
-    self = oldself;
-
        // up round counter
        self.winning = self.winning + 1;
 
@@ -266,24 +236,24 @@ void assault_new_round()
 // spawnfuncs
 void spawnfunc_info_player_attacker()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        self.team = NUM_TEAM_1; // red, gets swapped every round
        spawnfunc_info_player_deathmatch();
 }
 
 void spawnfunc_info_player_defender()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        self.team = NUM_TEAM_2; // blue, gets swapped every round
        spawnfunc_info_player_deathmatch();
 }
 
 void spawnfunc_target_objective()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        self.classname = "target_objective";
        self.use = assault_objective_use;
        assault_objective_reset();
@@ -293,7 +263,7 @@ void spawnfunc_target_objective()
 
 void spawnfunc_target_objective_decrease()
 {
-       if not(g_assault) { remove(self); return; }
+       if (!g_assault) { remove(self); return; }
 
        self.classname = "target_objective_decrease";
 
@@ -311,11 +281,11 @@ void spawnfunc_target_objective_decrease()
 // destructible walls that can be used to trigger target_objective_decrease
 void spawnfunc_func_assault_destructible()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        self.spawnflags = 3;
        self.classname = "func_assault_destructible";
-       
+
        if(assault_attacker_team == NUM_TEAM_1)
                self.team = NUM_TEAM_2;
        else
@@ -326,8 +296,8 @@ void spawnfunc_func_assault_destructible()
 
 void spawnfunc_func_assault_wall()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        self.classname = "func_assault_wall";
        self.mdl = self.model;
        setmodel(self, self.mdl);
@@ -339,7 +309,7 @@ void spawnfunc_func_assault_wall()
 
 void spawnfunc_target_assault_roundend()
 {
-       if not(g_assault) { remove(self); return; }
+       if (!g_assault) { remove(self); return; }
 
        self.winning = 0; // round not yet won by attackers
        self.classname = "target_assault_roundend";
@@ -350,8 +320,8 @@ void spawnfunc_target_assault_roundend()
 
 void spawnfunc_target_assault_roundstart()
 {
-       if not(g_assault) { remove(self); return; }
-       
+       if (!g_assault) { remove(self); return; }
+
        assault_attacker_team = NUM_TEAM_1;
        self.classname = "target_assault_roundstart";
        self.use = assault_roundstart_use;
@@ -373,7 +343,7 @@ void havocbot_goalrating_ast_targets(float ratingscale)
                if (ad.target == "")
                        continue;
 
-               if not(ad.bot_attack)
+               if (!ad.bot_attack)
                        continue;
 
                found = FALSE;
@@ -546,16 +516,16 @@ void havocbot_ast_reset_role(entity bot)
 MUTATOR_HOOKFUNCTION(assault_PlayerSpawn)
 {
        if(self.team == assault_attacker_team)
-               centerprint(self, "You are attacking!");
+               Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_ASSAULT_ATTACKING);
        else
-               centerprint(self, "You are defending!");
-               
+               Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_ASSAULT_DEFENDING);
+
        return FALSE;
 }
 
 MUTATOR_HOOKFUNCTION(assault_TurretSpawn)
 {
-       if not (self.team)
+       if (!self.team)
                self.team = 14;
 
        return FALSE;
@@ -588,8 +558,8 @@ MUTATOR_DEFINITION(gamemode_assault)
        MUTATOR_HOOK(PlayerSpawn, assault_PlayerSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(TurretSpawn, assault_TurretSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(VehicleSpawn, assault_VehicleSpawn, CBC_ORDER_ANY);
-       MUTATOR_HOOK(HavocBot_ChooseRule, assault_BotRoles, CBC_ORDER_ANY);
-       
+       MUTATOR_HOOK(HavocBot_ChooseRole, assault_BotRoles, CBC_ORDER_ANY);
+
        MUTATOR_ONADD
        {
                if(time > 1) // game loads at time 1