mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
Merge pull request #11807 from Tayyyyyyy/ert_tweaks
Randomized ERT priority + drag and drop role selection
This commit is contained in:
@@ -100,15 +100,20 @@
|
||||
height = 400
|
||||
immediate_submit = TRUE
|
||||
|
||||
/datum/async_input/ranked/New()
|
||||
..()
|
||||
popup.add_script("rankedInput.js", 'html/browser/rankedInput.js')
|
||||
popup.add_head_content("<title>Drag and drop or use the buttons to reorder</title>")
|
||||
|
||||
/datum/async_input/ranked/render_choices()
|
||||
var/dat = "<div>"
|
||||
dat += "<table style='margin: auto; text-align: left;'>"
|
||||
dat += "<table id='choices' uid=[UID()] style='margin: auto; text-align: left;'>"
|
||||
for(var/i = 1, i <= choices.len, i++)
|
||||
var/choice = choices[i]
|
||||
dat += "<tr>"
|
||||
dat += "<td>[button("+", i != 1 ? "upvote=[i]" : "", , i == 1)]</td>"
|
||||
dat += "<td>[button("-", i != choices.len ? "downvote=[i]" : "", , i == choices.len)]</td>"
|
||||
dat += "<td>[i]. [choice]</td>"
|
||||
dat += "<td style='cursor: move;' index='[i]' ondrop='drop(event)' ondragover='allowDrop(event)' draggable='true' ondragstart='drag(event)'>[i]. [choice]</td>"
|
||||
dat += "</tr>"
|
||||
dat += "</table>"
|
||||
dat += "</div>"
|
||||
@@ -131,6 +136,15 @@
|
||||
show()
|
||||
return
|
||||
|
||||
if(href_list["cut"] && href_list["insert"])
|
||||
var/cut = text2num(href_list["cut"])
|
||||
var/insert = text2num(href_list["insert"])
|
||||
var/choice = choices[cut]
|
||||
choices.Cut(cut, cut + 1)
|
||||
choices.Insert(insert, choice)
|
||||
show()
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/datum/async_input/autocomplete
|
||||
|
||||
@@ -63,7 +63,7 @@ var/ert_request_answered = FALSE
|
||||
active_team.setSlots(commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots)
|
||||
|
||||
send_emergency_team = TRUE
|
||||
var/list/ert_candidates = pollCandidates("Join the Emergency Response Team?",, responseteam_age, 600, 1, role_playtime_requirements[ROLE_ERT])
|
||||
var/list/ert_candidates = shuffle(pollCandidates("Join the Emergency Response Team?",, responseteam_age, 600, 1, role_playtime_requirements[ROLE_ERT]))
|
||||
if(!ert_candidates.len)
|
||||
active_team.cannot_send_team()
|
||||
send_emergency_team = FALSE
|
||||
@@ -95,8 +95,8 @@ var/ert_request_answered = FALSE
|
||||
for(var/datum/async_input/A in ert_gender_prefs)
|
||||
A.close()
|
||||
for(var/mob/M in response_team_members)
|
||||
ert_role_prefs.Add(input_ranked_async(M, "Please order ERT roles from most to least preferred (15 seconds):", active_team.get_slot_list()))
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/dispatch_response_team, response_team_members, ert_gender_prefs, ert_role_prefs), 150)
|
||||
ert_role_prefs.Add(input_ranked_async(M, "Please order ERT roles from most to least preferred (20 seconds):", active_team.get_slot_list()))
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/dispatch_response_team, response_team_members, ert_gender_prefs, ert_role_prefs), 200)
|
||||
|
||||
/proc/dispatch_response_team(list/response_team_members, list/ert_gender_prefs, list/ert_role_prefs)
|
||||
var/spawn_index = 1
|
||||
|
||||
Reference in New Issue
Block a user