mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-20 22:54:46 +00:00
## About The Pull Request Changes map votes to be based on a persistent tally count. Tallies for maps are cached between rounds and are added to by map votes. When a map is chosen, and it wasn't the only valid one, the tallies for said chosen map will be reset. Refactors map vote handling and moves it from SSmapping to SSmap_vote. Rock the Vote has been removed as a result of this refactor. ## Why It's Good For The Game Makes it more likely that all maps will be played over the course of a server instead of always being truly random. Removes some clutter off of SSmapping. 🆑 refactor: Map Votes are now carried over between rounds. When a map vote is actually a contest, the winning map will have its votes reset. /🆑
44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
// This doesn't instantiate right away, since we rely on other GLOBs
|
|
GLOBAL_DATUM(escape_menu_details, /atom/movable/screen/escape_menu/details)
|
|
|
|
/// Provides a singleton for the escape menu details screen.
|
|
/proc/give_escape_menu_details()
|
|
if (isnull(GLOB.escape_menu_details))
|
|
GLOB.escape_menu_details = new
|
|
|
|
return GLOB.escape_menu_details
|
|
|
|
/atom/movable/screen/escape_menu/details
|
|
screen_loc = "EAST:-180,NORTH:-25"
|
|
maptext_height = 100
|
|
maptext_width = 200
|
|
|
|
/atom/movable/screen/escape_menu/details/Initialize(mapload, datum/hud/hud_owner)
|
|
. = ..()
|
|
|
|
update_text()
|
|
START_PROCESSING(SSescape_menu, src)
|
|
|
|
/atom/movable/screen/escape_menu/details/Destroy()
|
|
if (GLOB.escape_menu_details == src)
|
|
stack_trace("Something tried to delete the escape menu details screen")
|
|
return QDEL_HINT_LETMELIVE
|
|
|
|
STOP_PROCESSING(SSescape_menu, src)
|
|
return ..()
|
|
|
|
/atom/movable/screen/escape_menu/details/process(seconds_per_tick)
|
|
update_text()
|
|
|
|
/atom/movable/screen/escape_menu/details/proc/update_text()
|
|
var/new_maptext = {"
|
|
<span style='text-align: right; line-height: 0.7'>
|
|
Round ID: [GLOB.round_id || "Unset"]<br />
|
|
Round Time: [ROUND_TIME()]<br />
|
|
Map: [SSmapping.current_map.map_name || "Loading..."]<br />
|
|
Time Dilation: [round(SStime_track.time_dilation_current,1)]%<br />
|
|
</span>
|
|
"}
|
|
|
|
maptext = MAPTEXT(new_maptext)
|