X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_nexball.qc;h=74698d371d30c7b918e46d99d6944d0cf4931d4a;hb=c0d4211cc0400146d46a49e0e6e0218925eaaf48;hp=5f27b60a55f882e851cc99fe5bc876fec16e5601;hpb=373da6f709e05d4e1bf696da0b03ef2a880a2583;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_nexball.qc b/qcsrc/server/mutators/gamemode_nexball.qc index 5f27b60a5..74698d371 100644 --- a/qcsrc/server/mutators/gamemode_nexball.qc +++ b/qcsrc/server/mutators/gamemode_nexball.qc @@ -49,7 +49,7 @@ void nexball_setstatus(void) { if(self.ballcarried.teamtime && (self.ballcarried.teamtime < time)) { - bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + bprint("The ", Team_ColoredFullName(self.team), " held the ball for too long.\n"); oldself = self; self = self.ballcarried; DropBall(self, self.owner.origin, '0 0 0'); @@ -204,7 +204,8 @@ void ResetBall(void) if(self.cnt < 2) // step 1 { if(time == self.teamtime) - bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + bprint("The ", Team_ColoredFullName(self.team), " held the ball for too long.\n"); + self.touch = func_null; self.movetype = MOVETYPE_NOCLIP; self.velocity = '0 0 0'; // just in case? @@ -341,9 +342,9 @@ void GoalTouch(void) { LogNB("fault", ball.pusher); if(nb_teams == 2) - bprint(ColoredTeamName(otherteam), " gets a point due to ", pname, "^7's silliness.\n"); + bprint(Team_ColoredFullName(otherteam), " gets a point due to ", pname, "^7's silliness.\n"); else - bprint(ColoredTeamName(ball.team), " loses a point due to ", pname, "^7's silliness.\n"); + bprint(Team_ColoredFullName(ball.team), " loses a point due to ", pname, "^7's silliness.\n"); pscore = -1; } else if(self.team == GOAL_OUT) @@ -358,7 +359,7 @@ void GoalTouch(void) else //score { LogNB(strcat("goal:", ftos(self.team)), ball.pusher); - bprint("Goaaaaal! ", pname, "^7 scored a point for the ", ColoredTeamName(ball.team), ".\n"); + bprint("Goaaaaal! ", pname, "^7 scored a point for the ", Team_ColoredFullName(ball.team), ".\n"); pscore = 1; } @@ -424,28 +425,28 @@ void nb_spawnteams(void) { switch(e.team) { - case COLOR_TEAM1: + case FL_TEAM_1: if(!t_r) { nb_spawnteam("Red", e.team-1) ; t_r = 1; } break; - case COLOR_TEAM2: + case FL_TEAM_2: if(!t_b) { nb_spawnteam("Blue", e.team-1) ; t_b = 1; } break; - case COLOR_TEAM3: + case FL_TEAM_3: if(!t_y) { nb_spawnteam("Yellow", e.team-1); t_y = 1; } break; - case COLOR_TEAM4: + case FL_TEAM_4: if(!t_p) { nb_spawnteam("Pink", e.team-1) ; @@ -575,22 +576,22 @@ void SpawnGoal(void) void spawnfunc_nexball_redgoal(void) { - self.team = COLOR_TEAM1; + self.team = FL_TEAM_1; SpawnGoal(); } void spawnfunc_nexball_bluegoal(void) { - self.team = COLOR_TEAM2; + self.team = FL_TEAM_2; SpawnGoal(); } void spawnfunc_nexball_yellowgoal(void) { - self.team = COLOR_TEAM3; + self.team = FL_TEAM_3; SpawnGoal(); } void spawnfunc_nexball_pinkgoal(void) { - self.team = COLOR_TEAM4; + self.team = FL_TEAM_4; SpawnGoal(); } @@ -979,5 +980,18 @@ MUTATOR_DEFINITION(gamemode_nexball) InitializeEntity(world, nb_delayedinit, INITPRIO_GAMETYPE); } + MUTATOR_ONROLLBACK_OR_REMOVE + { + // we actually cannot roll back nb_delayedinit here + // BUT: we don't need to! If this gets called, adding always + // succeeds. + } + + MUTATOR_ONREMOVE + { + print("This is a game type and it cannot be removed at runtime."); + return -1; + } + return 0; }