mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Adds the Odyssey gamemode. (#18972)
https://forums.aurorastation.org/topic/20198-mission-briefing-auroras-gamemode-revolution To-do: - [x] Finish storyteller verbs. - [x] Storyteller landmarks. - [x] Proper storyteller spawning. Right now the gamemode system is happy with just picking one storyteller and no actors. - [x] Antagonist whitelists code. - [x] Adding the Storyteller whitelist. - [x] Mission map loading code. - [x] Map in a bunch of missions. - [ ] Storyteller adminhelps. --------- Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: DreamySkrell <>
This commit is contained in:
co-authored by
Matt Atlas
DreamySkrell <>
parent
e1f5de6298
commit
1da20ad33f
@@ -1243,7 +1243,7 @@ var/global/enabled_spooking = 0
|
||||
|
||||
//Returns 1 to let the dragdrop code know we are trapping this event
|
||||
//Returns 0 if we don't plan to trap the event
|
||||
/datum/admins/proc/cmd_ghost_drag(var/mob/abstract/observer/frommob, var/mob/living/tomob)
|
||||
/datum/admins/proc/cmd_ghost_drag(var/mob/abstract/ghost/observer/frommob, var/mob/living/tomob)
|
||||
if(!istype(frommob))
|
||||
return //Extra sanity check to make sure only observers are shoved into things
|
||||
|
||||
@@ -1386,3 +1386,43 @@ var/global/enabled_spooking = 0
|
||||
/atom/proc/Admin_Coordinates_Readable(area_name, admin_jump_ref)
|
||||
var/turf/T = get_turf(src)
|
||||
return T ? "[area_name ? "[get_area_name(T, TRUE)] " : " "]([T.x],[T.y],[T.z])[admin_jump_ref ? " [ADMIN_JMP(T)]" : ""]" : "nonexistent location"
|
||||
|
||||
/**
|
||||
* Used to manually set an Odyssey for the Odyssey gamemode.
|
||||
*/
|
||||
|
||||
/datum/admins/proc/set_odyssey()
|
||||
set name = "Set Odyssey Type"
|
||||
set category = "Special Verbs"
|
||||
|
||||
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
|
||||
|
||||
var/list/singleton/scenario/all_scenarios = GET_SINGLETON_SUBTYPE_LIST(/singleton/scenario)
|
||||
var/list/possible_scenarios = list()
|
||||
for(var/singleton/scenario/S in all_scenarios)
|
||||
possible_scenarios[S.name] = S
|
||||
|
||||
var/singleton/scenario/chosen_scenario
|
||||
var/situation_name = tgui_input_list(usr, "Choose an Odyssey.", "Set Odyssey", possible_scenarios)
|
||||
chosen_scenario = possible_scenarios[situation_name]
|
||||
|
||||
if(!chosen_scenario)
|
||||
return
|
||||
|
||||
if(!(SSatlas.current_sector.name in chosen_scenario.sector_whitelist))
|
||||
if(tgui_alert(usr, "This Odyssey is not appropriate for the current sector. Continue?", "Set Odyssey", list("Yes", "No")) != "Yes")
|
||||
return
|
||||
|
||||
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!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user