mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Shuttle manipulator (#17436)
* Starting out on our tgui journey * God tgui, why do you need to be updated You're dynamically generated anyway * Commit of stuff * Further progress is being made * Everyone loves buildscripts * Further modifications to my incredible running script * Starting to modify the minimap code to be better * It's going well thusfar, I guess * What have I done * RIP minimap * FUN FUN FUN FUN FUN * Adds shuttle_manipulator.dmi MUH HOLOGRAMS * Is it done? IS IT OVER * Peer review * Some bug fixes * Makes that damn greentext shut up * Shuttle registration * Made the Emergency Escape Bar more robust No climbing on the bar. * Do not stare into the operation end of the device * Compile shame * THE MOST DUMB * Passive barmaiden * Emergency shuttle memes * MORE SAFETY CODE * Fancy shuttle manipulator icons * Smoothing it out * We are going to have a lot of fun with this one * Independent blobbernauts * WABBAJACK WABBAJACK * Message for attempting to authenticate old style * Angry alert noise is back * Revert "Independent blobbernauts" This reverts commit 34d6af7c9c88cfc2864990cb37b586bb90163dd3. * No parrot sleep plz * Moves the special shuttle stuff to special.dm * No Bartender like a Centcom Bartender * Non-controversial map changes - Backup shuttle moved closer to Centcom main structure, docking tube created - Moved shuttle import landmark to above Centcom main building - Added shuttle displays to Conference Room - Squashed the Chapel a bit in Metastation - Made the docking port on Z2 massive - Made the docking port on Metastation a lot larger * Hacks and slashes at Box A bunch of things are extended and squashed so Box shuttle dock can support the MetaStation emergency shuttle. * Some Metastationshit * Never ending changes * Wabbajack to TGM * Modified the bar, I think that's all of them * Stops Barmaiden wandering around * More code review * Whitspace, the bane of us all * DIE WHITESPACE DIE
This commit is contained in:
@@ -56,8 +56,6 @@ var/list/admin_verbs_admin = list(
|
||||
/client/proc/jumptoturf, /*allows us to jump to a specific turf*/
|
||||
/client/proc/admin_call_shuttle, /*allows us to call the emergency shuttle*/
|
||||
/client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcom*/
|
||||
/client/proc/cmd_admin_destroy_shuttle, /* Destroys the emergency shuttle, allowing us to import a new shuttle template. Or just horribly fuck with the game. */
|
||||
/client/proc/cmd_admin_import_shuttle, /* Imports a emergency shuttle from a template, and sends it to its round start location. Probably should destroy the old one first.*/
|
||||
/client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/
|
||||
/client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/
|
||||
/client/proc/cmd_admin_local_narrate, /*sends text to all mobs within view of atom*/
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
/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!
|
||||
Reference in New Issue
Block a user