X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator%2Fgamemode_domination.qc;h=cffb60cb122f51a7eb0ddb22a36c3c3e1bea742c;hb=5fb2f3c4e123910e6291d6337fadd61f5199f5a5;hp=abcae5ada5dffb2db2381386b8a9d0a23627d5b4;hpb=29fae4d9d59e5ec8afbdd6ef0ebcc5dcdc1bfa3f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/mutator/gamemode_domination.qc b/qcsrc/server/mutators/mutator/gamemode_domination.qc index abcae5ada..cffb60cb1 100644 --- a/qcsrc/server/mutators/mutator/gamemode_domination.qc +++ b/qcsrc/server/mutators/mutator/gamemode_domination.qc @@ -153,7 +153,7 @@ void dompointthink(entity this) // give points - if (gameover || this.delay > time || time < game_starttime) // game has ended, don't keep giving points + if (game_stopped || this.delay > time || time < game_starttime) // game has ended, don't keep giving points return; if(autocvar_g_domination_point_rate) @@ -342,6 +342,8 @@ float Domination_CheckWinner() { Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_ROUND_OVER); Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_ROUND_OVER); + + game_stopped = true; round_handler_Init(5, autocvar_g_domination_warmup, autocvar_g_domination_round_timelimit); return 1; } @@ -365,6 +367,7 @@ float Domination_CheckWinner() Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_ROUND_TIED); } + game_stopped = true; round_handler_Init(5, autocvar_g_domination_warmup, autocvar_g_domination_round_timelimit); return 1; @@ -406,12 +409,12 @@ void havocbot_role_dom(entity this) havocbot_goalrating_controlpoints(this, 10000, this.origin, 15000); havocbot_goalrating_items(this, 8000, this.origin, 8000); //havocbot_goalrating_enemyplayers(this, 3000, this.origin, 2000); - //havocbot_goalrating_waypoints(1, this.origin, 1000); + havocbot_goalrating_waypoints(this, 1, this.origin, 3000); navigation_goalrating_end(this); } } -MUTATOR_HOOKFUNCTION(dom, GetTeamCount) +MUTATOR_HOOKFUNCTION(dom, CheckAllowedTeams) { // fallback? M_ARGV(0, float) = domination_teams; @@ -631,7 +634,10 @@ void dom_DelayedInit(entity this) // Do this check with a delay so we can wait f if(find(NULL, classname, "dom_team") == NULL || autocvar_g_domination_teams_override >= 2) { LOG_TRACE("No \"dom_team\" entities found on this map, creating them anyway."); - domination_teams = bound(2, ((autocvar_g_domination_teams_override < 2) ? autocvar_g_domination_default_teams : autocvar_g_domination_teams_override), 4); + domination_teams = autocvar_g_domination_teams_override; + if (domination_teams < 2) + domination_teams = autocvar_g_domination_default_teams; + domination_teams = bound(2, domination_teams, 4); dom_spawnteams(domination_teams); }