diff --git a/code/controllers/shuttle_controller.dm b/code/controllers/shuttle_controller.dm index bf287388598..9476e9bf78b 100644 --- a/code/controllers/shuttle_controller.dm +++ b/code/controllers/shuttle_controller.dm @@ -303,6 +303,13 @@ datum/shuttle_controller/emergency_shuttle/process() captain_announce("The Emergency Shuttle has left the station. Estimate [round(timeleft()/60,1)] minutes until the shuttle docks at Central Command.") + // "preload" the assets for when they're needed for the map vote. + if(config.map_voting && vote) + for(var/client/C in clients) + spawn + vote.interface.sendAssets(C) + + return 1 else @@ -355,3 +362,4 @@ datum/shuttle_controller/emergency_shuttle/process() S.direction = spawndir spawn() S.startmove() + diff --git a/code/modules/html_interface/voting/voting.dm b/code/modules/html_interface/voting/voting.dm index c3a353cb8fc..665b09f23fa 100644 --- a/code/modules/html_interface/voting/voting.dm +++ b/code/modules/html_interface/voting/voting.dm @@ -293,6 +293,7 @@ var/global/datum/controller/vote/vote = new() else if(istype(usr) && usr.client) interact(usr.client) + to_chat(world, "[text]
Type vote to place your votes.
You have [ismapvote && ismapvote.len ? "60" : config.vote_period/10] seconds to vote.
") switch(vote_type) if("crew_transfer") @@ -323,9 +324,14 @@ var/global/datum/controller/vote/vote = new() /datum/controller/vote/proc/interact(client/user) + set waitfor = FALSE // So we don't wait for each individual client's assets to be sent. + if(!user || !initialized) return - if(ismob(user)) user = user:client + + if(ismob(user)) + user = user:client + voting |= user interface.show(user) var/list/client_data = list()