diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index a93aff7d2b..06b76718c1 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -16,6 +16,7 @@ SUBSYSTEM_DEF(vote) var/question = null var/list/choices = list() /// List of choice = object for statclick objects for statpanel voting + /// statclick rework? 2: list("name"="id") var/list/choice_statclicks = list() var/list/scores = list() var/list/choice_descs = list() // optional descriptions @@ -49,34 +50,6 @@ SUBSYSTEM_DEF(vote) client_popup.open(0) next_pop = world.time+VOTE_COOLDOWN -/** - * Renders a statpanel. Directly uses statpanel/stat calls since this is called from base of mob/Stat(). - */ -/datum/controller/subsystem/vote/proc/render_statpanel(mob/M) - if(!mode) // check if vote is running - return - if(!statpanel("Status")) // don't bother if they're not focused on this panel - return - var/static/list/supported = list(PLURALITY_VOTING, APPROVAL_VOTING) - stat("Vote active!", "There is currently a vote running. Question: [question]") - if(!(vote_system in supported)) - stat("", "The current vote system is not supported by statpanel rendering. Please vote manually by opening the vote popup using the action button or chat link.") - return - stat("Time Left:", "[round(end_time - world.time)] seconds") - stat(null, null) - stat("Choices:", null) - stat(null, null) - for(var/i in 1 to choice_statclicks.len) - var/choice = choice_statclicks[i] - var/ivotedforthis = FALSE - switch(vote_system) - if(APPROVAL_VOTING) - ivotedforthis = voted[usr.ckey] && (i in voted[usr.ckey]) - if(PLURALITY_VOTING) - ivotedforthis = voted[usr.ckey] == i - stat(ivotedforthis? "\[X\]" : "\[ \]", choice_statclicks[choice]) - stat(null, null) - /datum/controller/subsystem/vote/proc/reset() initiator = null end_time = 0 @@ -87,26 +60,10 @@ SUBSYSTEM_DEF(vote) voted.Cut() voting.Cut() scores.Cut() - cleanup_statclicks() + choice_statclicks = list() display_votes = initial(display_votes) //CIT CHANGE - obfuscated votes remove_action_buttons() -/datum/controller/subsystem/vote/proc/cleanup_statclicks() - for(var/choice in choice_statclicks) - qdel(choice_statclicks[choice]) - choice_statclicks = list() - -/obj/effect/statclick/vote - name = "ERROR" - var/choice - -/obj/effect/statclick/vote/Click() - SSvote.submit_vote(choice) - -/obj/effect/statclick/vote/New(loc, choice, name) - src.choice = choice - src.name = name - /datum/controller/subsystem/vote/proc/get_result() //get the highest number of votes var/greatest_votes = 0 @@ -582,10 +539,10 @@ SUBSYSTEM_DEF(vote) to_chat(world, "\n[text]\nType vote or click here to place your votes.\nYou have [DisplayTimeText(vp)] to vote.") end_time = started_time+vp // generate statclick list - cleanup_statclicks() + choice_statclicks = list() for(var/i in 1 to choices.len) var/choice = choices[i] - choice_statclicks[choice] = new /obj/effect/statclick/vote(null, i, choice) + choice_statclicks[choice] = "[i]" // for(var/c in GLOB.clients) SEND_SOUND(c, sound('sound/misc/server-ready.ogg')) @@ -785,7 +742,8 @@ SUBSYSTEM_DEF(vote) submit_vote(round(text2num(href_list["vote"])),round(text2num(href_list["score"]))) else submit_vote(round(text2num(href_list["vote"]))) - usr.vote() + if(!href_list["statpannel"]) + usr.vote() /datum/controller/subsystem/vote/proc/remove_action_buttons() for(var/v in generated_actions)