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:
coiax
2016-05-26 15:15:19 +02:00
committed by AnturK
parent 7cfe594584
commit 4483d5275c
76 changed files with 2788 additions and 1329 deletions
-2
View File
@@ -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*/
-116
View File
@@ -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!