mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-19 19:18:50 +01:00
117 lines
4.0 KiB
Plaintext
117 lines
4.0 KiB
Plaintext
/proc/emergency_sanity_check()
|
|
if(SSshuttle.emergency.mode != SHUTTLE_IDLE)
|
|
var/confirm = alert(src, "Modification of the emergency shuttle while it is not idle can be highly dangerous, and may result in WEIRD UNPREDICTABLE SHIT. Are you SURE you want to continue? Obviously if you're not touching the emergency shuttle, then you're probably fine.", "Confirm", "Yes", "No")
|
|
if(confirm == "Yes")
|
|
return TRUE
|
|
else
|
|
return FALSE
|
|
else
|
|
return TRUE
|
|
|
|
/client/proc/cmd_admin_destroy_shuttle()
|
|
set category = "Admin"
|
|
set name = "Shuttle Destroy"
|
|
|
|
if (!holder)
|
|
src << "Only administrators may use this command."
|
|
return
|
|
|
|
if(!emergency_sanity_check())
|
|
return
|
|
|
|
var/list/names = list()
|
|
var/obj/docking_port/mobile/M
|
|
for (var/atom/AM in SSshuttle.mobile)
|
|
M = AM
|
|
names += M.name
|
|
|
|
var/selected = input("Select shuttle to DESTROY", "Shuttles") as null|anything in names
|
|
|
|
var/decide_against_msg = "You decide against destroying a shuttle."
|
|
|
|
if(!selected)
|
|
src << decide_against_msg
|
|
return
|
|
|
|
var/confirm = alert(src, "Are you sure you want to destroy [selected]?", "Confirm", "Yes", "No")
|
|
|
|
if(confirm != "Yes")
|
|
src << decide_against_msg
|
|
return
|
|
|
|
var/destroyed = FALSE
|
|
for (var/atom/AM in SSshuttle.mobile)
|
|
M = AM
|
|
if(M.name == selected)
|
|
M.jumpToNullSpace()
|
|
destroyed = TRUE
|
|
break
|
|
|
|
if(!destroyed)
|
|
src << "<span class='warning'>Something went wrong, the selected shuttle doesn't exist anymore."
|
|
return
|
|
|
|
log_admin("[key_name(usr)] - ShuttleDestroy: [M]")
|
|
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has used <b>ShuttleDestroy on [selected]</b><BR></span>")
|
|
feedback_add_details("admin_verb","SHTDEL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
/client/proc/cmd_admin_import_shuttle()
|
|
set category = "Admin"
|
|
set name = "Shuttle Import"
|
|
|
|
if (!holder)
|
|
src << "Only administrators may use this command."
|
|
return
|
|
|
|
if(!emergency_sanity_check())
|
|
return
|
|
|
|
var/datum/map_template/template
|
|
var/map = input(usr, "Choose a Shuttle Template to import","Import Shuttle Template") as null|anything in shuttle_templates
|
|
if(!map)
|
|
return
|
|
template = shuttle_templates[map]
|
|
|
|
if(alert(usr,"Confirm importing of [map]","Shuttle Import Confirm","Yes","No") != "Yes")
|
|
return
|
|
|
|
var/turf/T = get_turf(locate("landmark*Shuttle Import"))
|
|
if(!T)
|
|
usr << "<span class='warning'>Shuttle import landmark not found. \
|
|
Aborting.</span>"
|
|
template.load(T, centered = TRUE)
|
|
|
|
var/obj/docking_port/mobile/M
|
|
|
|
for(var/S in template.get_affected_turfs(T,centered = TRUE))
|
|
for (var/AM in S)
|
|
if(istype(AM, /obj/docking_port/mobile))
|
|
if(!M)
|
|
M = AM
|
|
else
|
|
usr << "<span class='warning'>More than one mobile docking port was detected ([AM]), this is a BAD THING, TELL A CODER.</span>"
|
|
if(istype(AM, /obj/docking_port/stationary))
|
|
usr << "<span class='warning'>REEEEEEEEEEEE! THE LOADED TEMPLATE HAS [AM], A STATIONARY DOCKING PORT, THIS IS A BAD THING FIX IT. TELL A CODER. WE CAN DELETE IT BUT IT SHOULD NOT BE THERE."
|
|
var/obj/docking_port/stationary/bad = AM
|
|
bad.i_know_what_im_doing = TRUE
|
|
qdel(bad)
|
|
|
|
if(!M)
|
|
usr << "<span class='warning'>The loaded template didn't have a mobile docking port! The template has been deleted.</span>"
|
|
for(var/S in template.get_affected_turfs(T,centered = TRUE))
|
|
var/turf/T0 = S
|
|
for(var/atom/AM in T0.GetAllContents())
|
|
if(istype(AM, /mob/dead))
|
|
continue
|
|
qdel(AM)
|
|
qdel(S)
|
|
return
|
|
|
|
var/status = M.dockRoundstart()
|
|
if(status)
|
|
message_admins("<span class='adminnotice'>The imported shuttle [map]/[M] failed to travel to its roundstart location (error code [status]). Please fix or delete the imported shuttle before continuing any more shuttle import hijinks.</span>")
|
|
|
|
log_admin("[key_name(usr)] - ShuttleImport: [map] - [M]")
|
|
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has used <b>ShuttleImport: [map] - [M]</b><BR></span>")
|
|
feedback_add_details("admin_verb","SHTIMP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|