mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
Fix a bunch of html UI's for 516 (#88917)
## About The Pull Request Moved broken on 516 UI's to browser datum They now work and have a dark theme Most of them are admin ones (All except 1) I tried to check all the raw HTML UI's by typing `<< browse(` into the VSC search and going through each element, but I might have missed something. What worked as it was, I didn't touch, except for the Dynamic control UI's ## Why It's Good For The Game Admin can do their things on 516 Coders/Mappers can debug some stuff on 516  ## Changelog 🆑 fix: Admin/Debug UI's (Especially the Game Panel) now work properly on Byond 516, instead of showing raw HTML /🆑
This commit is contained in:
+37
-31
@@ -19,7 +19,7 @@
|
||||
if(!check_rights(0))
|
||||
return
|
||||
|
||||
var/dat = "<center><B>Game Panel</B></center><hr>"
|
||||
var/dat
|
||||
if(SSticker.current_state <= GAME_STATE_PREGAME)
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>"
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_roundstart=1'>(Force Roundstart Rulesets)</A><br>"
|
||||
@@ -28,12 +28,12 @@
|
||||
dat += {"<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_roundstart_remove=[text_ref(rule)]'>-> [rule.name] <-</A><br>"}
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_roundstart_clear=1'>(Clear Rulesets)</A><br>"
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_options=1'>(Dynamic mode options)</A><br>"
|
||||
dat += "<hr/>"
|
||||
dat += "<hr/>"
|
||||
if(SSticker.IsRoundInProgress())
|
||||
dat += "<a href='byond://?src=[REF(src)];[HrefToken()];gamemode_panel=1'>(Game Mode Panel)</a><BR>"
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>"
|
||||
dat += "<hr/>"
|
||||
dat += {"
|
||||
<BR>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];create_object=1'>Create Object</A><br>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];quick_create_object=1'>Quick Create Object</A><br>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];create_turf=1'>Create Turf</A><br>
|
||||
@@ -43,7 +43,9 @@
|
||||
if(marked_datum && istype(marked_datum, /atom))
|
||||
dat += "<A href='byond://?src=[REF(src)];[HrefToken()];dupe_marked_datum=1'>Duplicate Marked Datum</A><br>"
|
||||
|
||||
usr << browse(dat, "window=admin2;size=240x280")
|
||||
var/datum/browser/browser = new(usr, "admin2", "Game Panel", 240, 280)
|
||||
browser.set_content(dat)
|
||||
browser.open()
|
||||
return
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS
|
||||
@@ -104,10 +106,7 @@ ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CA
|
||||
BLACKBOX_LOG_ADMIN_VERB("Spawn Cargo")
|
||||
|
||||
/datum/admins/proc/dynamic_mode_options(mob/user)
|
||||
var/dat = {"
|
||||
<center><B><h2>Dynamic Mode Options</h2></B></center><hr>
|
||||
<br/>
|
||||
<h3>Common options</h3>
|
||||
var/dat = {"<h3>Common options</h3>
|
||||
<i>All these options can be changed midround.</i> <br/>
|
||||
<br/>
|
||||
<b>Force extended:</b> - Option is <a href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_force_extended=1'> <b>[GLOB.dynamic_forced_extended ? "ON" : "OFF"]</a></b>.
|
||||
@@ -122,18 +121,22 @@ ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CA
|
||||
<br/>
|
||||
<b>Stacking threeshold:</b> Current value : <a href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_stacking_limit=1'><b>[GLOB.dynamic_stacking_limit]</b></a>.
|
||||
<br/>The threshold at which "round-ender" rulesets will stack. A value higher than 100 ensure this never happens. <br/>
|
||||
"}
|
||||
"}
|
||||
|
||||
user << browse(dat, "window=dyn_mode_options;size=900x650")
|
||||
var/datum/browser/browser = new(user, "dyn_mode_options", "Dynamic Mode Options", 900, 650)
|
||||
browser.set_content(dat)
|
||||
browser.open()
|
||||
|
||||
/datum/admins/proc/dynamic_ruleset_manager(mob/user)
|
||||
var/dat = "<center><B><h2>Dynamic Ruleset Management</h2></B></center><hr>\
|
||||
Change these options to forcibly enable or disable dynamic rulesets.<br/>\
|
||||
Disabled rulesets will never run, even if they would otherwise be valid.<br/>\
|
||||
Enabled rulesets will run even if the qualifying minimum of threat or player count is not present, this does not guarantee that they will necessarily be chosen (for example their weight may be set to 0 in config).<br/>\
|
||||
\[<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_on=1'>force enable all</A> / \
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_off=1'>force disable all</A> / \
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_reset=1'>reset all</A>\]"
|
||||
var/datum/browser/browser = new(user, "dyn_mode_options", "Dynamic Ruleset Management", 900, 650)
|
||||
var/dat = {"
|
||||
Change these options to forcibly enable or disable dynamic rulesets.<br/>
|
||||
Disabled rulesets will never run, even if they would otherwise be valid.<br/>
|
||||
Enabled rulesets will run even if the qualifying minimum of threat or player count is not present, this does not guarantee that they will necessarily be chosen (for example their weight may be set to 0 in config).<br/>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_on=1'>force enable all</A>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_off=1'>force disable all</A>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_all_reset=1'>reset all</A>
|
||||
"}
|
||||
|
||||
if (SSticker.current_state <= GAME_STATE_PREGAME) // Don't bother displaying after the round has started
|
||||
var/static/list/rulesets_by_context = list()
|
||||
@@ -146,29 +149,31 @@ ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CA
|
||||
dat += dynamic_ruleset_category_pre_start_display("Roundstart", rulesets_by_context[ROUNDSTART_RULESET])
|
||||
dat += dynamic_ruleset_category_pre_start_display("Latejoin", rulesets_by_context[LATEJOIN_RULESET])
|
||||
dat += dynamic_ruleset_category_pre_start_display("Midround", rulesets_by_context[MIDROUND_RULESET])
|
||||
user << browse(dat, "window=dyn_mode_options;size=900x650")
|
||||
browser.set_content(dat)
|
||||
browser.open()
|
||||
return
|
||||
|
||||
var/pop_count = length(GLOB.alive_player_list)
|
||||
var/threat_level = SSdynamic.threat_level
|
||||
dat += dynamic_ruleset_category_during_round_display("Latejoin", SSdynamic.latejoin_rules, pop_count, threat_level)
|
||||
dat += dynamic_ruleset_category_during_round_display("Midround", SSdynamic.midround_rules, pop_count, threat_level)
|
||||
user << browse(dat, "window=dyn_mode_options;size=900x650")
|
||||
browser.set_content(dat)
|
||||
browser.open()
|
||||
|
||||
/datum/admins/proc/dynamic_ruleset_category_pre_start_display(title, list/rules)
|
||||
var/dat = "<B><h3>[title]</h3></B><table class='ml-2'>"
|
||||
for (var/datum/dynamic_ruleset/rule as anything in rules)
|
||||
var/forced = GLOB.dynamic_forced_rulesets[rule] || RULESET_NOT_FORCED
|
||||
var/color = COLOR_BLACK
|
||||
var/color = COLOR_SILVER
|
||||
switch (forced)
|
||||
if (RULESET_FORCE_ENABLED)
|
||||
color = COLOR_GREEN
|
||||
if (RULESET_FORCE_DISABLED)
|
||||
color = COLOR_RED
|
||||
dat += "<tr><td><b>[initial(rule.name)]</b></td><td>\[<font color=[color]>[forced]</font>\]</td><td>\[\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_on=[text_ref(rule)]'>force enabled</A> /\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_off=[text_ref(rule)]'>force disabled</A> /\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_reset=[text_ref(rule)]'>reset</A>\]</td></tr>"
|
||||
dat += "<tr><td><b>[initial(rule.name)]</b></td><td>\[<font color=[color]> [forced] </font>\]</td><td> \
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_on=[text_ref(rule)]'>force enabled</A> \
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_off=[text_ref(rule)]'>force disabled</A> \
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_reset=[text_ref(rule)]'>reset</A></td></tr>"
|
||||
dat += "</table>"
|
||||
return dat
|
||||
|
||||
@@ -196,13 +201,14 @@ ADMIN_VERB(spawn_cargo, R_SPAWN, "Spawn Cargo", "Spawn a cargo crate.", ADMIN_CA
|
||||
explanation = " - Forcibly enabled"
|
||||
active = active ? "Active" : "Inactive"
|
||||
|
||||
dat += "<tr><td><b>[rule.name]</b></td>\
|
||||
<td>\[Weight : [rule.weight]\]\
|
||||
<td>\[<font color=[color]>[active][explanation]</font>\]</td><td>\[\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_on=[text_ref(rule.type)]'>force enabled</A> /\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_off=[text_ref(rule.type)]'>force disabled</A> /\
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_reset=[text_ref(rule.type)]'>reset</A>\]</td>\
|
||||
<td>\[<A href='byond://?src=[REF(src)];[HrefToken()];f_inspect_ruleset=[text_ref(rule)]'>VV</A>\]</td></tr>"
|
||||
dat += {"<tr><td><b>[rule.name]</b></td>
|
||||
<td>\[ Weight: [rule.weight] \]
|
||||
<td>\[<font color=[color]> [active][explanation] </font>\]</td><td>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_on=[text_ref(rule.type)]'>force enabled</A>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_off=[text_ref(rule.type)]'>force disabled</A>
|
||||
<A href='byond://?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_force_reset=[text_ref(rule.type)]'>reset</A></td>
|
||||
<td><A href='byond://?src=[REF(src)];[HrefToken()];f_inspect_ruleset=[text_ref(rule)]'>VV</A></td></tr>
|
||||
"}
|
||||
dat += "</table>"
|
||||
return dat
|
||||
|
||||
|
||||
Reference in New Issue
Block a user