X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_assault.qc;h=d14d9da8c7c5fe2bd42854510b8c1fb8c00a3f86;hb=6f37a8f8076a572097afb13de2c367a72717c927;hp=94e104728f3ab27271f920c49edfe2d474e2c13e;hpb=94579b4c440f739c1203ea5e546d3fcadb884c51;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_assault.qc b/qcsrc/server/mutators/gamemode_assault.qc index 94e104728..d14d9da8c 100644 --- a/qcsrc/server/mutators/gamemode_assault.qc +++ b/qcsrc/server/mutators/gamemode_assault.qc @@ -1,3 +1,10 @@ +#include "gamemode_assault.qh" +#include "../_.qh" + +#include "gamemode.qh" + +.entity sprite; + // random functions void assault_objective_use() { @@ -63,20 +70,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; @@ -113,9 +113,9 @@ float assault_decreaser_sprite_visible(entity e) decreaser = self.assault_decreaser; if(decreaser.enemy.health >= ASSAULT_VALUE_INACTIVE) - return FALSE; + return false; - return TRUE; + return true; } void target_objective_decrease_activate() @@ -212,31 +212,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 +243,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 +270,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 +288,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 +303,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 +316,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 +327,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,10 +350,10 @@ void havocbot_goalrating_ast_targets(float ratingscale) if (ad.target == "") continue; - if not(ad.bot_attack) + if (!ad.bot_attack) continue; - found = FALSE; + found = false; for(tod = world; (tod = find(tod, targetname, ad.target)); ) { if(tod.classname == "target_objective_decrease") @@ -384,7 +361,7 @@ void havocbot_goalrating_ast_targets(float ratingscale) if(tod.enemy.health > 0 && tod.enemy.health < ASSAULT_VALUE_INACTIVE) { // dprint(etos(ad),"\n"); - found = TRUE; + found = true; break; } } @@ -404,7 +381,7 @@ void havocbot_goalrating_ast_targets(float ratingscale) // 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) @@ -415,7 +392,7 @@ void havocbot_goalrating_ast_targets(float ratingscale) if(wp.classname=="waypoint") if(checkpvs(wp.origin, ad)) { - found = TRUE; + found = true; if(wp.cnt 1) // game loads at time 1