InfoMessage(s);
}
+ MUTATOR_CALLHOOK(DrawInfoMessages);
+
if(!warmup_stage && gametype == MAPINFO_TYPE_LMS)
{
entity sk;
/** Return true to not draw scoreboard */
MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS);
+
+/** Called when drawing info messages, allows adding new info messages */
+MUTATOR_HOOKABLE(DrawInfoMessages, EV_NO_ARGS);
void ReadyRestart()
{
- // no assault support yet...
- if (g_assault || gameover || race_completing) localcmd("restart\n");
+ if (MUTATOR_CALLHOOK(ReadyRestart_Deny) || gameover || race_completing) localcmd("restart\n");
else localcmd("\nsv_hook_gamerestart\n");
// Reset ALL scores, but only do that at the beginning of the countdown if sv_ready_restart_after_countdown is off!
/** sender */ i(entity, MUTATOR_ARGV_1_entity) \
/**/
MUTATOR_HOOKABLE(ChatMessageTo, EV_ChatMessageTo);
+
+/** return true to just restart the match, for modes that don't support readyrestart */
+MUTATOR_HOOKABLE(ReadyRestart_Deny, EV_NO_ARGS);
}
}
+MUTATOR_HOOKFUNCTION(as, ReadyRestart_Deny)
+{
+ // readyrestart not supported (yet)
+ return true;
+}
+
// scoreboard setup
void assault_ScoreRules()
{