Fix set odyssey verb, add set odyssey canonicity verb. (#21687)

- The Set Odyssey Type verb now properly works, and can be used as soon
as the lobby starts.
 - Administrators can now manually change Odyssey canonicity.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2026-01-03 20:28:14 +01:00
committed by GitHub
parent bec70fc624
commit 0829b0905e
5 changed files with 95 additions and 17 deletions
+20 -5
View File
@@ -1403,10 +1403,6 @@ var/global/enabled_spooking = 0
if(!check_rights(R_ADMIN))
return
if(!SSticker.mode || !istype(SSticker.mode, /datum/game_mode/odyssey))
to_chat(usr, SPAN_WARNING("The gamemode either does not exist, or is not Odyssey."))
return
if(SSticker.current_state != GAME_STATE_SETTING_UP)
to_chat(usr, SPAN_WARNING("You need to use this verb while the game is still setting up!"))
return
@@ -1429,5 +1425,24 @@ var/global/enabled_spooking = 0
SSodyssey.scenario = chosen_scenario
log_and_message_admins("has manually set the Odyssey to [chosen_scenario.name]", usr)
feedback_add_details("admin_verb","SEST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
feedback_add_details("admin_verb","SEOT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/set_odyssey_canonicity()
set name = "Set Odyssey Canonicity"
set category = "Special Verbs"
if(!check_rights(R_ADMIN))
return
if(!SSodyssey.scenario)
to_chat(usr, SPAN_WARNING("There needs to be an Odyssey selected first! Use the Set Odyssey Type verb."))
return
var/canonicity = tgui_input_list(usr, "Set the Odyssey canonicity.", "Set Odyssey Canonicity", list(SCENARIO_TYPE_CANON, SCENARIO_TYPE_NONCANON))
if(!canonicity)
return
SSodyssey.scenario.scenario_type = canonicity
to_world(FONT_LARGE(EXAMINE_BLOCK_ODYSSEY(SPAN_NOTICE("The scenario canonicity has been changed to [SPAN_BOLD(canonicity)] by an administrator."))))
log_and_message_admins("has set the Odyssey canonicity to [canonicity]", usr)
feedback_add_details("admin_verb","SEOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+3 -1
View File
@@ -145,7 +145,8 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list(
/client/proc/fab_tip,
/client/proc/apply_sunstate,
/datum/admins/proc/ccannoucment,
/datum/admins/proc/set_odyssey
/datum/admins/proc/set_odyssey,
/datum/admins/proc/set_odyssey_canonicity
))
GLOBAL_LIST_INIT(admin_verbs_spawn, list(
@@ -408,6 +409,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list(
/client/proc/cmd_display_harddel_log,
/datum/admins/proc/ccannoucment,
/datum/admins/proc/set_odyssey,
/datum/admins/proc/set_odyssey_canonicity,
/client/proc/cmd_display_init_log,
/client/proc/cmd_generate_lag,
/client/proc/getruntimelog,