X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_assault.qc;h=8a8c50b38b8ab18ab31f40ee71b1fe39f4119937;hp=dddec6ec65708e93495848d82cd02b97dea9d428;hb=a6a3b0cebd6928e3678ee4e97de4093f1b61c58b;hpb=67b0ed3729e3e9245067180fc2f672a7f51b65b8 diff --git a/qcsrc/server/mutators/gamemode_assault.qc b/qcsrc/server/mutators/gamemode_assault.qc index dddec6ec65..8a8c50b38b 100644 --- a/qcsrc/server/mutators/gamemode_assault.qc +++ b/qcsrc/server/mutators/gamemode_assault.qc @@ -63,12 +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) - Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_TRIGGER, self.message); + FOR_EACH_PLAYER(head) + centerprint(head, self.message); oldactivator = activator; activator = oldself; @@ -204,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; @@ -258,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(); @@ -285,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"; @@ -303,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 @@ -318,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); @@ -331,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"; @@ -342,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; @@ -365,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; @@ -541,13 +519,13 @@ MUTATOR_HOOKFUNCTION(assault_PlayerSpawn) Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_ASSAULT_ATTACKING); else 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; @@ -580,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