diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index c8336d85f2..f467a879ac 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -10,6 +10,7 @@ datum/controller/vote var/list/voted = list() var/list/voting = list() var/list/current_votes = list() + var/auto_muted = 0 New() if(vote != src) @@ -53,6 +54,14 @@ datum/controller/vote voting.Cut() current_votes.Cut() + if(auto_muted && !ooc_allowed) + auto_muted = 0 + ooc_allowed = !( ooc_allowed ) + world << "The OOC channel has been automatically enabled due to vote cancellation." + log_admin("OOC was toggled automatically due to vote cancellation.") + message_admins("OOC has been toggled on automatically.") + + proc/get_result() //get the highest number of votes var/greatest_votes = 0 @@ -138,6 +147,12 @@ datum/controller/vote if("crew_transfer") if(. == "Initiate Crew Transfer") init_shift_change(null, 1) + if(auto_muted && !ooc_allowed) + auto_muted = 0 + ooc_allowed = !( ooc_allowed ) + world << "The OOC channel has been automatically enabled due to vote end." + log_admin("OOC was toggled automatically due to vote end.") + message_admins("OOC has been toggled on automatically.") if(restart) @@ -210,6 +225,13 @@ datum/controller/vote if(mode == "gamemode" && going) going = 0 world << "Round start has been delayed." + if(mode == "crew_transfer" && ooc_allowed) + auto_muted = 1 + ooc_allowed = !( ooc_allowed ) + world << "The OOC channel has been automatically disabled due to the crew transfer vote." + log_admin("OOC was toggled automatically due to crew_transfer vote.") + message_admins("OOC has been toggled off automatically.") + time_remaining = round(config.vote_period/10) return 1