diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm
index ae89bbbe10..a88539685e 100644
--- a/code/__DEFINES/job.dm
+++ b/code/__DEFINES/job.dm
@@ -354,6 +354,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_UACM_RDML "UACM Read Admiral (lower half)"
#define JOB_UACM_CMISRS_LT "CMISRS Intelligence Liaison"
+#define JOB_UACM_PSTENG "UACM Station Engineer"
#define JOB_PREDATOR "Predator"
diff --git a/code/game/area/ovpst.dm b/code/game/area/ovpst.dm
index 95fc93761c..d54431c364 100644
--- a/code/game/area/ovpst.dm
+++ b/code/game/area/ovpst.dm
@@ -9,7 +9,7 @@
// soundscape_playlist = list('sound/effects/xylophone1.ogg', 'sound/effects/xylophone2.ogg', 'sound/effects/xylophone3.ogg')
ambience_exterior = AMBIENCE_ALMAYER
ceiling_muffle = FALSE
- requires_power = TRUE
+ requires_power = FALSE
unlimited_power = TRUE
/area/ovpst/airlock
diff --git a/code/game/jobs/job/uacm/admin.dm b/code/game/jobs/job/uacm/admin.dm
index 1d5e82dfd4..3911e3d828 100644
--- a/code/game/jobs/job/uacm/admin.dm
+++ b/code/game/jobs/job/uacm/admin.dm
@@ -5,3 +5,7 @@
/datum/job/uacm/cmisrs_lt
title = JOB_UACM_CMISRS_LT
gear_preset = /datum/equipment_preset/uacm/cmisrs_lt
+
+/datum/job/uacm/psteng
+ title = JOB_UACM_PSTENG
+ gear_preset = /datum/equipment_preset/uacm/psteng
diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm
index b918528033..56610d6d7c 100644
--- a/code/game/machinery/doors/multi_tile.dm
+++ b/code/game/machinery/doors/multi_tile.dm
@@ -578,8 +578,32 @@
desc_lore = "The so called 'general access' airlock is probably the most commonly used one in the galaxy, which is also why airlocks with this access level typically are the ones in their factory default colors, like this one."
req_access = list(ACCESS_SP_OVPST_GENERAL_DEFAULT)
icon = 'icons/obj/structures/doors/2x1comdoor.dmi'
- opacity = FALSE
- glass = TRUE
+ opacity = TRUE
+ glass = FALSE
/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin
req_access = list(ACCESS_SP_ADMIN)
+
+/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_inner
+ name = "elevator door"
+ desc = "A heavy looking metal door."
+ desc_lore = "Since time immemorial, people have taken great effort not to fall out of elevators in transit. These doors are one such method. Simple, yet effective. Spaceship freight elevators have not changed the game - people still hate falling down elevator shafts."
+ req_access = list()
+ icon = 'icons/obj/structures/doors/4x1_elevator.dmi'
+ icon_state = "door_closed"
+ width = 4
+ openspeed = 22
+ opacity = TRUE
+ glass = FALSE
+
+/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_outer
+ name = "elevator door"
+ desc = "A heavy looking metal door with an equally heavy looking glass panel that lets you peek inside."
+ desc_lore = "Since time immemorial, people have taken great effort not to fall out of elevators in transit. These doors are one such method. Simple, yet effective. Spaceship freight elevators have not changed the game - people still hate falling down elevator shafts."
+ req_access = list()
+ icon = 'icons/obj/structures/doors/4x1_elevator_access.dmi'
+ icon_state = "door_closed"
+ width = 4
+ openspeed = 22
+ opacity = FALSE
+ glass = TRUE
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index fdb7a4be13..ef31d07587 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -363,7 +363,6 @@
item_state = "dogtag"
pinned_on_uniform = FALSE
var/dogtag_taken = FALSE
- var/list/rfid //UACM Rfid chips
/obj/item/card/id/dogtag/get_examine_text(mob/user)
@@ -373,8 +372,9 @@
/obj/item/card/id/dogtag/attackby(obj/item/W as obj, mob/user as mob)
- if ( !(HAS_TRAIT(W, TRAIT_TOOL_SCREWDRIVER) || (istype(W, /obj/item/device/encryptionkey)) ))
+ if (!((HAS_TRAIT(W, TRAIT_TOOL_SCREWDRIVER)) || (istype(W, /obj/item/device/uacmrfid))))
to_chat(user, SPAN_WARNING("You have no idea how to combine these two together."))
+ return
if(HAS_TRAIT(W, TRAIT_TOOL_SCREWDRIVER))
var/turf/T = get_turf(user)
@@ -382,9 +382,8 @@
to_chat(user, "You cannot do it here.")
return
var/removed_rfid = FALSE
- for (var/obj/item/device/uacmrfid/key in rfid)
+ for (var/obj/item/device/uacmrfid/key in contents)
key.forceMove(T)
- rfid -= key
removed_rfid = TRUE
if(removed_rfid)
to_chat(user, SPAN_NOTICE("You wedge the RFID chip from the slot on the back of the dogtags."))
@@ -392,7 +391,6 @@
if(istype(W, /obj/item/device/uacmrfid))
if(user.drop_held_item())
W.forceMove(src)
- rfid += W
to_chat(user, SPAN_NOTICE("The RFID slots into the dog tag with a click."))
return
/obj/item/dogtag
diff --git a/code/game/objects/items/devices/uacmrfid.dm b/code/game/objects/items/devices/uacmrfid.dm
index 194880672e..ed512bb950 100644
--- a/code/game/objects/items/devices/uacmrfid.dm
+++ b/code/game/objects/items/devices/uacmrfid.dm
@@ -10,17 +10,17 @@
var/set_name
var/set_rank
-/obj/item/device/uacmrfid/attack_self()
+/obj/item/device/uacmrfid/attack_self(mob/user)
..()
+ if(!set_name)
+ set_name = tgui_input_text (usr, "Name not found. Setting:", "Name:", max_length = MAX_MESSAGE_LEN, timeout = 0)
+ if(!set_name) return
+ if(!set_rank)
+ set_rank = tgui_input_text (usr, "Rank not found. Setting:", "Rank:", max_length = MAX_MESSAGE_LEN, timeout = 0)
+ if(!set_rank) return
if(set_name && set_rank && icon_state == "rfid")
name = "set UACM RFID chip"
icon_state = "rfid_set"
desc = "A small chip with what looks like a capsule with a translucent, slightly blue colored liquid in the middle. The liquid appears to be swirling lazily and gives of the slightest of glows, only visible in almost absolute darkness."
desc_lore = "The UACM using RFID chips as ways of tagging their crews for on-board AIs is fairly common practice. This chip utilizes a small amount of Liquid Data, which is a prototype solution implemented currently only on the PST. This one seems to have been set to someone's biometrics and is very likely to engage an alarm if pried apart from its designated dog tags for too long."
- if(!set_name)
- set_name = tgui_input_text (src, "Name not found. Setting:", "Name:", max_length = MAX_MESSAGE_LEN, timeout = 0)
- if(!set_name) return
- if(!set_rank)
- set_rank = tgui_input_text (src, "Rank not found. Setting:", "Rank:", max_length = MAX_MESSAGE_LEN, timeout = 0)
- if(!set_rank) return
return
diff --git a/code/game/objects/items/sectorpatrol/cargo_items.dm b/code/game/objects/items/sectorpatrol/cargo_items.dm
index 09008e8dbb..ffe810c7c8 100644
--- a/code/game/objects/items/sectorpatrol/cargo_items.dm
+++ b/code/game/objects/items/sectorpatrol/cargo_items.dm
@@ -117,6 +117,7 @@
name = "book"
desc = "Sheets of paper with text and images bound together with a soft cover material."
desc_lore = "The printed word industry was quite literally saved by the sudden explosion of intergalactic travel. For the longest time, the written word remained the most trusted way to transfer information, news, and entertainment among the colonies. The ascent of the Civ, Mil and Corp Nets following the Colony Wars meant that most colonists with a permanent home got all these directly from Earth via electronic devices. Physical books, however, are still collected, used, and cherished by Spacers, who often find themselves out of the range of Liquid Data uplinks and can't sync with any of the general networks. Most colonies maintain a small 'printing' facility for visiting spacers, often offering access to a shared galaxy spanning repository from which any book can be accessed and printed on-site for a fee. Most books found on spaceships are likely to have been created this way. Using the book while its in your active hand will let you scan it for information, if there is any to gain."
+ icon = 'icons/obj/items/sp_cargo.dmi'
icon_state = "book"
flags_item = NOBLUDGEON
var/book_searched = 0
@@ -125,6 +126,7 @@
name = "bound notebook"
desc = "Handwritten notes printed on sheets of paper, bound together with a soft cover, much like a book."
desc_lore = "Notebook scanning is a relatively new service offered in the Neroid Sector for the past decade or so and pioneered by a small group of colonists calling themselves 'Bookworms'. The Bookworms formed a formal Corporation under the Corporate Standard and are the exclusive patent holders and distributors of scanner technology that seemingly seamlessly and without error scans even the most illegible of handwriting, parses and edits them into a standardized colony print format, uploads them to a shared, global, Liquid Data based repository and prints it out in the same way colony books are created, preserving the knowledge, musings, vulgar poetry and whatever else bored spacers write and doodle into their personal notebooks. Using the notebook while its in your active hand will let you scan it for information, if there is any to gain."
+ icon = 'icons/obj/items/sp_cargo.dmi'
icon_state = "book_rough"
flags_item = NOBLUDGEON
var/book_searched = 0
diff --git a/code/game/objects/structures/sectorpatrol/admin/admin_event_terminal.dm b/code/game/objects/structures/sectorpatrol/admin/admin_event_terminal.dm
index 9c8a84d53d..35ed431102 100644
--- a/code/game/objects/structures/sectorpatrol/admin/admin_event_terminal.dm
+++ b/code/game/objects/structures/sectorpatrol/admin/admin_event_terminal.dm
@@ -1,7 +1,10 @@
/obj/structure/eventterminal/admin_event_terminal
+ name = "local network terminal"
+ desc = "A standard computer terminal with the words 'LNT' imprinted on its side. Activated by standing in its proximity. It appears to be in standby mode."
+ desc_lore = "Local Network Terminals typically regulate local functions of a given area or are used to interface with bigger systems on a ship or installation. They distinction technically means that the terminal interfaces with the local AI somehow, but few outside of systems engineers use the term for its actual intended purpose, sometimes mistaking other terminal types for LNTs."
icon = 'icons/obj/structures/machinery/clio_term.dmi'
- plane = GAME_PLANE //These likely can be split since they arent complicated
-// req_access = list(ACCESS_SP_ADMIN)
+ plane = GAME_PLANE
+ req_access = list(ACCESS_SP_ADMIN)
/obj/structure/eventterminal/admin_event_terminal/attack_hand(mob/user as mob)
diff --git a/code/game/objects/structures/sectorpatrol/endpoint/002.dm b/code/game/objects/structures/sectorpatrol/endpoint/002.dm
index fbcfaa6e56..43d64e2c74 100644
--- a/code/game/objects/structures/sectorpatrol/endpoint/002.dm
+++ b/code/game/objects/structures/sectorpatrol/endpoint/002.dm
@@ -12,9 +12,14 @@
item_serial = "UACM-OVPST-D31-CARINT"
/obj/structure/eventterminal/puzzle02/cargoparse/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -57,8 +62,8 @@
terminal_speak("-XOXO Aly.")
puzzlebox_parser_mode = "HOME_INPUT"
if (puzzlebox_parser_mode == "HOME_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -153,8 +158,8 @@
terminal_speak("LIST to list available modes, HELP for help screen, EXIT to exit.")
puzzlebox_parser_mode = "MANIFEST_INPUT"
if (puzzlebox_parser_mode == "MANIFEST_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -288,8 +293,8 @@
terminal_speak("LIST to list available modes, HELP for help screen, EXIT to exit.")
puzzlebox_parser_mode = "MESSAGE_INPUT"
if (puzzlebox_parser_mode == "MESSAGE_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -386,9 +391,14 @@
item_serial = "UACM-OVPST-D31-SCN02LOGTERM"
/obj/structure/eventterminal/puzzle02/cargoparse/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -419,8 +429,8 @@
puzzlebox_parser_mode = "HOME_INPUT"
attack_hand(user)
if (puzzlebox_parser_mode == "HOME_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -491,8 +501,8 @@
terminal_speak("LIST to list available modes, HELP for help screen, EXIT to exit.")
puzzlebox_parser_mode = "MESSAGE_INPUT"
if (puzzlebox_parser_mode == "MESSAGE_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -583,8 +593,8 @@
puzzlebox_parser_mode = "RECORD_INPUT"
attack_hand(user)
if (puzzlebox_parser_mode == "RECORD_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -657,9 +667,14 @@
item_serial = "UACM-OVPST-D31-LDDIAG"
/obj/structure/eventterminal/puzzle02/ldmainframediag/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -704,8 +719,8 @@
puzzlebox_parser_mode = "HOME_INPUT"
attack_hand(user)
if (puzzlebox_parser_mode == "HOME_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -726,8 +741,9 @@
terminal_speak("In each chamber, first use the processor's terminal and run command 'pom.sync global_override' followed by a space and the serial number of THIS very terminal, which you should probably note down somewhere.")
terminal_speak("This should let you access the calibration port, or rather the hatch covering the port which you will need a screwdriver to open.")
terminal_speak("Once you can access the port, plug in your multitool and send a standard testing phrase to the terminal.")
+ terminal_speak("When the multitool is done and beeps, you need to remember to close the port or the terminal will not know you are done.")
terminal_speak("Check the terminals output. What you should see is digits going from zero to nine, followed by the 26 basic alphabet letters, lowercase then uppercase.")
- terminal_speak("You see ANYTHING else, close the port, use the processor's terminal and use command 'pom.calibrate' and again, the serial number of THIS terminal.")
+ terminal_speak("You see ANYTHING else, use the processor's terminal and use command 'pom.calibrate' and again, the serial number of THIS terminal.")
terminal_speak("Keep in mind that if you do it on the wrong terminal, it's going to be a while until you can use the command again, so don't just try and guess it. Or do, see if you're lucky. ")
terminal_speak("- XOXO, Aly.")
attack_hand(user)
@@ -777,8 +793,8 @@
terminal_speak("LIST to list available modes, HELP for help screen, EXIT to exit.")
puzzlebox_parser_mode = "MESSAGE_INPUT"
if (puzzlebox_parser_mode == "MESSAGE_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -874,6 +890,10 @@
desc_lore = "While using Liquid Data enables faster than light communication, practical applications have mostly been successful in utilizing it for large bursts instead of continuous communication. As such Liquid Data machines are typically of large sizes and usually clustered into pairs and constantly checked for integrity. This cluster seems to go against both these principles - it seems to be a trio, not a pair of computers and maintains a continuous connection to whatever its source is."
icon = 'icons/obj/structures/machinery/clio_bigboi.dmi'
puzzlebox_id = "LD_Mainframe"
+ bound_x = 64
+ bound_y = 32
+ density = TRUE
+ opacity = TRUE
var/puzzlebox_panel_open = FALSE
var/puzzlebox_panel_locked = TRUE
var/puzzlebox_panel_phrasepased = FALSE
@@ -883,7 +903,7 @@
/obj/structure/eventterminal/puzzle02/ldmainframe_master/proc/lockout()
puzzlebox_lockout = TRUE
- sleep(5 MINUTES)
+ sleep(2 MINUTES)
puzzlebox_lockout = FALSE
if(!puzzlebox_id) puzzlebox_id = "I forgot to set an ID. Oops."
log_game("[puzzlebox_id] has lifted its lockdown!")
@@ -894,9 +914,14 @@
/obj/structure/eventterminal/puzzle02/ldmainframe_master/correct/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -937,8 +962,8 @@
puzzlebox_user = null
return
if (puzzlebox_parser_mode == "HOME_INPUT" && puzzlebox_panel_phrasepased == FALSE)
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -1030,9 +1055,14 @@
/obj/structure/eventterminal/puzzle02/ldmainframe_master/incorrect/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -1073,8 +1103,8 @@
puzzlebox_user = null
return
if (puzzlebox_parser_mode == "HOME_INPUT" && puzzlebox_panel_phrasepased == FALSE)
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -1100,7 +1130,7 @@
return
if (puzzlebox_parser_input == "pom.calibrate UACM-OVPST-D31-LDDIAG")
terminal_speak("Deploying recalibration buffer.", 50)
- terminal_speak("Error: No effect on error flag. Either the wrong terminal was recalibrated, or more than one terminal is faulty. Calibration buffer resetting, ETA until completion: 5 minutes.")
+ terminal_speak("Error: No effect on error flag. Either the wrong terminal was recalibrated, or more than one terminal is faulty. Calibration buffer resetting, ETA until completion: 2 minutes.")
log_game("[key_name(usr)] used the debug phrase on the wrong terminal and triggered a lockout. Point and laugh.")
message_admins("[key_name(usr)] used the debug phrase on the wrong terminal and triggered a lockout. Point and laugh.")
for (var/obj/structure/eventterminal/puzzle02/ldmainframe_master/T in world)
diff --git a/code/game/objects/structures/sectorpatrol/endpoint/003.dm b/code/game/objects/structures/sectorpatrol/endpoint/003.dm
index f06da3b420..f6962f21dd 100644
--- a/code/game/objects/structures/sectorpatrol/endpoint/003.dm
+++ b/code/game/objects/structures/sectorpatrol/endpoint/003.dm
@@ -341,9 +341,14 @@
return
/obj/structure/eventterminal/puzzle03/historyterm/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(usr)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -407,8 +412,8 @@
puzzlebox_parser_mode = "HOME_INPUT"
attack_hand(user)
if (puzzlebox_parser_mode == "HOME_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
diff --git a/code/game/objects/structures/sectorpatrol/endpoint/004.dm b/code/game/objects/structures/sectorpatrol/endpoint/004.dm
index 7a6404dec8..27cacfebc1 100644
--- a/code/game/objects/structures/sectorpatrol/endpoint/004.dm
+++ b/code/game/objects/structures/sectorpatrol/endpoint/004.dm
@@ -15,9 +15,14 @@
//Crypt terminal
/obj/structure/eventterminal/puzzle04/crypt_doorlock/attack_hand(mob/user as mob)
- var/user_loc_start = get_turf(user)
if(!puzzlebox_user)
puzzlebox_user = usr.real_name
+ puzzlebox_user_loc = get_turf(usr)
+ var/user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
+ to_chat(user, narrate_body("You moved away from the console!"))
+ puzzlebox_user = null
+ return
if(puzzlebox_user != usr.real_name)
for (var/mob/living/carbon/human/h in range(2, src))
if (h.real_name == puzzlebox_user)
@@ -54,8 +59,8 @@
puzzlebox_parser_mode = "HOME_INPUT"
attack_hand(user)
if (puzzlebox_parser_mode == "HOME_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -125,8 +130,8 @@
terminal_speak("LIST to list available modes, HELP for help screen, EXIT to exit.")
puzzlebox_parser_mode = "MESSAGE_INPUT"
if (puzzlebox_parser_mode == "MESSAGE_INPUT")
- var/user_loc_current = get_turf(user)
- if (user_loc_start != user_loc_current)
+ user_loc_current = get_turf(user)
+ if (puzzlebox_user_loc != user_loc_current)
to_chat(user, narrate_body("You moved away from the console!"))
puzzlebox_user = null
return
@@ -294,10 +299,10 @@
/obj/item/cargo/book/uppmanual/attack_self(mob/user)
..()
- if(usr.a_intent != INTENT_GRAB)
+ if(usr.a_intent != INTENT_HELP)
to_chat(usr, SPAN_WARNING("You have no idea how to do that. If you want to read the book, use HELP intent."))
return
- if(usr.a_intent == INTENT_GRAB)
+ if(usr.a_intent == INTENT_HELP)
if(book_searched == 1)
to_chat(usr, narrate_body("It looks like multiple pages of this manual were scrambled during a previous search. If you were to make heads and tails of it, you're going to need an hour or two in relative peace to rearrange the pages in sequence again."))
return
@@ -318,16 +323,16 @@
/obj/item/cargo/book_handwritten/twejournal/attack_self(mob/user)
..()
- if(usr.a_intent != INTENT_GRAB)
+ if(usr.a_intent != INTENT_HELP)
to_chat(usr, SPAN_WARNING("You have no idea how to do that. If you want to read the book, use HELP intent."))
return
- if(usr.a_intent == INTENT_GRAB)
+ if(usr.a_intent == INTENT_HELP)
if(book_searched == 1)
to_chat(usr, narrate_body("The journal appears to be written in Japanese, but someone seems to have already gone through it and scrambled it pages. There is no time at present to restore it, but it will be available for further examination later."))
return
if(book_searched == 0)
user.visible_message(SPAN_NOTICE("[user] pages through a journal."), SPAN_INFO("You start to loook through the journal..."), SPAN_DANGER("Someone is flipping paper pages."))
- if(LANGUAGE_JAPANESE in usr.languages)
+ if(/datum/language/generated/japanese in usr.languages)
if(do_after(user, SEARCH_TIME_LONG, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
user.visible_message(SPAN_NOTICE("[user] finishes looking at the journal."), SPAN_INFO("You finish paging through the journal and take a moment to consider what you found..."), SPAN_DANGER("The paper page flipping noise stops."))
to_chat(usr, narrate_body("Your knowledge of Japanese comes in handy as you page through what turns out to be a journal of a Japanese born TWE navy office who has rather colorful things to say about their superiors. You do not have the time to examine this in full right now, but at a glance it seems like this officer was somehow involved with Task Force 14, which may explain the presence of this journal on the PST. You should keep this journal to fully examine it later."))
@@ -466,6 +471,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -481,13 +489,16 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
user.visible_message(SPAN_NOTICE("[user] finishes searching the bookcase."), SPAN_INFO("You finish searching through part of the bookcase and take a moment to think about your findings..."), SPAN_DANGER("The shuffling noise stops."))
to_chat(user, narrate_body("Some of the left-over books are carefully collected lists of items available for printing and purchase on various colonies across the Neroid sector. The lists are detailed, and certain items are underlined, but there isn't any time to properly analyze them at the moment. There are more books to look through."))
if(searchable_item == TRUE)
- to_chat(user, narrate_body("One of the books that was left behind unscathed turns out to be a plastic electronic folder. You pick it up and take it with you. There are still several other things to think about here."))
+ to_chat(user, narrate_body("One of the books that was left behind unscathed turns out to be a plastic electronic folder. You pick it up and take it with you."))
var/obj/item/cargo/efolder/folder/crypt_red/dud1/folder = new(get_turf(user))
user.put_in_active_hand(folder)
searchable_item = FALSE
@@ -496,6 +507,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -511,6 +525,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -521,6 +538,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(4)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -531,6 +551,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(5)
to_chat(user, narrate_body("There does not seem to be anything of note left on the bookshelf. If you want to start the search over, use the bookshelf in GRAB mode."))
searchable_used = FALSE
@@ -555,6 +578,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -575,6 +601,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -585,6 +614,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -595,6 +627,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -605,6 +640,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(4)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -626,6 +664,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(5)
to_chat(user, narrate_body("There does not seem to be anything of note left on the bookshelf. If you want to start the search over, use the bookshelf in GRAB mode."))
searchable_used = FALSE
@@ -651,6 +692,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -666,6 +710,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -681,6 +728,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -698,6 +748,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -713,6 +766,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(4)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -723,6 +779,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(5)
to_chat(user, narrate_body("There does not seem to be anything of note left on the bookshelf. If you want to start the search over, use the bookshelf in GRAB mode."))
searchable_used = FALSE
@@ -747,6 +806,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -762,6 +824,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -777,6 +842,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -792,6 +860,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -802,6 +873,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(4)
user.visible_message(SPAN_NOTICE("[user] starts to search the bookcase."), SPAN_INFO("You search through the bookcase..."), SPAN_DANGER("You hear shuffling and the sound of rustling paper."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -812,6 +886,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(5)
to_chat(user, narrate_body("There does not seem to be anything of note left on the bookshelf. If you want to start the search over, use the bookshelf in GRAB mode."))
searchable_used = FALSE
@@ -843,6 +920,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -858,6 +938,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -873,6 +956,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -883,6 +969,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -906,6 +995,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -921,6 +1013,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -931,6 +1026,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -946,6 +1044,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -975,6 +1076,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -995,6 +1099,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1005,6 +1112,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1016,6 +1126,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -1039,6 +1152,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1054,6 +1170,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1069,6 +1188,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1080,6 +1202,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -1110,6 +1235,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1130,6 +1258,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1145,6 +1276,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -1169,6 +1303,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1189,6 +1326,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the storage drawers."), SPAN_INFO("You search through the storage drawers..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1204,6 +1344,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("These drawers have been throughly searched. There is nothing else to find here. If you want to start the search over, use the drawers in GRAB mode."))
searchable_used = FALSE
@@ -1235,6 +1378,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1248,6 +1394,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1263,6 +1412,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("This chest has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1286,6 +1438,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1304,6 +1459,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1314,6 +1472,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("This chest has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1339,6 +1500,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1359,6 +1523,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1367,6 +1534,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1382,6 +1552,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("This chest has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1405,6 +1578,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1418,6 +1594,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1431,6 +1610,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the bunk chest."), SPAN_INFO("You search through the bunk chest..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1441,6 +1623,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("This chest has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1471,6 +1656,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1489,6 +1677,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1499,6 +1690,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("This locker has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1522,6 +1716,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1535,6 +1732,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1550,6 +1750,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
to_chat(user, narrate_body("This locker has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1573,6 +1776,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1586,6 +1792,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1594,6 +1803,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1609,6 +1821,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("This locker has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1632,6 +1847,9 @@
update_icon()
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
else
searchable_used = FALSE
return
@@ -1645,6 +1863,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(1)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1658,6 +1879,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(2)
user.visible_message(SPAN_NOTICE("[user] starts to search the locker."), SPAN_INFO("You search through the locker..."), SPAN_DANGER("You hear shuffling and the rustle of small objects."))
if(do_after(user, SEARCH_TIME_NORMAL, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_GENERIC))
@@ -1668,6 +1892,9 @@
searchable_step += 1
searchable_used = FALSE
return
+ to_chat(usr,SPAN_WARNING("You moved too far away."))
+ searchable_used = FALSE
+ return
if(3)
to_chat(user, narrate_body("This locker has been throughly searched. There is nothing else to find here. If you want to start the search over, use it in GRAB mode."))
searchable_used = FALSE
@@ -1700,7 +1927,7 @@
to_chat(usr, narrate_body("The reader does not react. It seems to be already playing something back."))
return
if(istype(W, /obj/item/cargo/efolder/folder_pid))
- var/obj/item/cargo/efolder/folder_pid/F
+ var/obj/item/cargo/efolder/folder_pid/F = W
switch(F.efolder_folder_id)
if("RED-33895-027-8032")
playing_log = TRUE
diff --git a/code/game/objects/structures/sectorpatrol/endpoint/005.dm b/code/game/objects/structures/sectorpatrol/endpoint/005.dm
index 020ab52b28..85b2bf68b8 100644
--- a/code/game/objects/structures/sectorpatrol/endpoint/005.dm
+++ b/code/game/objects/structures/sectorpatrol/endpoint/005.dm
@@ -32,11 +32,39 @@
name = "repressed echo"
langchat_color = "#b17e0f"
+/obj/structure/eventterminal/puzzle05/pythia
+
+ name = "modified LD mainframe"
+ desc = "A Liquid Data mainframe with clear signs of tampering and customization."
+ desc_lore = "Due to the unpredictability of Liquid Data, modifying or tampering with already working LD devices is typically discouraged and official research into the matter has been in a virtual standstill. Regardless, someone seems to have been not only able to open and modify this console, the did so without covering everything around it with toxic crystalline which is the typical outcome of such endeavors."
+ icon = 'icons/obj/structures/machinery/pythia.dmi'
+ icon_state = "center_off"
+ puzzlebox_id = "pythia_center"
+ density = TRUE
+ opacity = FALSE
+ plane = FLOOR_PLANE
+ bound_x = 32
+ bound_y = 32
+
+/obj/structure/eventterminal/puzzle05/pythia/left
+ icon_state = "left_off"
+ puzzlebox_id = "pythia_left"
+
+/obj/structure/eventterminal/puzzle05/pythia/right
+ icon_state = "right_off"
+ puzzlebox_id = "pythia_right"
+
/obj/structure/eventterminal/puzzle05/testament_of_sacrifice
+ icon = 'icons/obj/structures/machinery/tos.dmi'
+ icon_state = "tos"
name = "synthetic frame"
desc = "A female looking synthetic frame in what seems to be a white toga, sitting motionless on a chair. You see several wires protruding from its arms linked to the computers around it. Black crystals form out of its eyes and run down its cheeks. It looks offline. A purple upsilon letter is tattooed on the frame's forehead."
desc_lore = "While the frame itself is an unknown, the purple upsilon logo is reminiscent of the Upsilon Research Center, a Weyland-Yutani group specializing in artificial intelligence research. Its hard to recall much about them beyond that fact that supposedly they vanished from the Neroid Sector right as Weyland-Yutani was starting their Mercy initiative."
langchat_color = "#b10f5a"
+ bound_x = 160
+ opacity = FALSE
+ density = TRUE
+ plane = GAME_PLANE
var/pythia_talk
/obj/structure/eventterminal/puzzle05/testament_of_sacrifice/proc/pythiadelay()
@@ -124,4 +152,13 @@
puzzlebox_user = null
return
-
+/obj/structure/eventterminal/puzzle05/testament_of_sacrifice/proc/pythia_terminal_icons(str)
+ for(var/obj/structure/eventterminal/puzzle05/pythia/center in world)
+ center.icon_state = "[str]"
+ center.update_icon()
+ for(var/obj/structure/eventterminal/puzzle05/pythia/left/left in world)
+ left.icon_state = "[str]"
+ left.update_icon()
+ for(var/obj/structure/eventterminal/puzzle05/pythia/right/right in world)
+ right.icon_state = "[str]"
+ right.update_icon()
diff --git a/code/game/objects/structures/sectorpatrol/event_terminal.dm b/code/game/objects/structures/sectorpatrol/event_terminal.dm
index 58598eaecc..a6b1ee517b 100644
--- a/code/game/objects/structures/sectorpatrol/event_terminal.dm
+++ b/code/game/objects/structures/sectorpatrol/event_terminal.dm
@@ -13,7 +13,7 @@
var/puzzlebox_pythia_sign = "0"// For determining if this terminal had a Pythia episode
var/puzzlebox_id //for doors and lights etc
var/puzzlebox_user //Determines who can type if multiple users
-
+ var/puzzlebox_user_loc // Moving away check
//Cutscene tools - speaking, doors, lights, etc
//Emote and say moved to general objects and device defs
diff --git a/code/game/objects/structures/sectorpatrol/searchable/search_structures.dm b/code/game/objects/structures/sectorpatrol/searchable/search_structures.dm
index 5f90aa9f41..ec241f2968 100644
--- a/code/game/objects/structures/sectorpatrol/searchable/search_structures.dm
+++ b/code/game/objects/structures/sectorpatrol/searchable/search_structures.dm
@@ -3,6 +3,7 @@
desc = "Hello there! If you are in game then soemome f... Uh... You know."
icon = 'icons/obj/structures/sp_searchable.dmi'
icon_state = "default"
+ density = TRUE
var/searchable_step = 0
var/searchable_used = FALSE
var/searchable_item = TRUE
diff --git a/code/modules/gear_presets/uacm.dm b/code/modules/gear_presets/uacm.dm
index 5321e1854d..371bb1c6c6 100644
--- a/code/modules/gear_presets/uacm.dm
+++ b/code/modules/gear_presets/uacm.dm
@@ -74,3 +74,29 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/uacm/cmisrs(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE)
+
+/datum/equipment_preset/uacm/psteng
+ name = "UACM PST Station Engineer"
+ flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE
+
+ idtype = /obj/item/card/id/dogtag
+ assignment = JOB_UACM_PSTENG
+ rank = JOB_UACM_PSTENG
+ paygrade = "NO3"
+ role_comm_title = "PST-ENG"
+ skills = /datum/skills/CE
+ flags = EQUIPMENT_PRESET_EXTRA
+ languages = ALL_HUMAN_LANGUAGES
+
+ access = list(ACCESS_SP_OVPST_GENERAL_DEFAULT, ACCESS_SP_OVPST_SECURITY_DEFAULT, ACCESS_SP_OVPST_ENGINEERING_DEFAULT, ACCESS_SP_ADMIN)
+
+ minimap_icon = list("cic" = MINIMAP_ICON_COLOR_BRONZE)
+ minimap_background = MINIMAP_ICON_BACKGROUND_CIC
+
+/datum/equipment_preset/uacm/psteng/load_gear(mob/living/carbon/human/new_human)
+
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/uacm/jumpsuit_engie(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/uacm/engie(new_human), WEAR_HEAD)
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 54e105c5b3..8b9e828e04 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -60,7 +60,7 @@
output += ""
if (refresh)
close_browser(src, "playersetup")
- show_browser(src, output, null, "playersetup", "size=240x[round_start ? 500 : 610];can_close=0;can_minimize=0")
+ show_browser(src, output, null, "playersetup", "size=240x[round_start ? 400 : 510];can_close=0;can_minimize=0")
return
/mob/new_player/Topic(href, href_list[])
diff --git a/code/modules/shuttle/shuttles/sectorpatrol.dm b/code/modules/shuttle/shuttles/sectorpatrol.dm
index e520727c2c..a8e25b06dd 100644
--- a/code/modules/shuttle/shuttles/sectorpatrol.dm
+++ b/code/modules/shuttle/shuttles/sectorpatrol.dm
@@ -22,8 +22,8 @@
port_direction = EAST
width = 27
height = 9
- var/port_door
var/starboard_door
+ var/port_door
/obj/docking_port/mobile/emergency_response/l533/Initialize(mapload)
. = ..()
@@ -60,7 +60,6 @@
name = "Outer Veil PST Elevator Shaft E, Dock 31"
dir = NORTH
id = "ovpst_el-e_d31"
- roundstart_template = /datum/map_template/shuttle/pst_elevator_e
width = 11
height = 11
airlock_id = "e-d31"
@@ -82,48 +81,30 @@
port_direction = EAST
width = 11
height = 11
- var/north_door
- var/south_door
- var/east_door
- var/west_door
+ var/starboard_door
+ var/port_door
/obj/docking_port/mobile/emergency_response/pst_elevator_e/Initialize(mapload)
. = ..()
external_doors = list()
for(var/place in shuttle_areas)
for(var/obj/structure/machinery/door/air in place)
- if(air.id == "north_door")
- north_door = air
- external_doors += list(air)
- air.breakable = FALSE
- air.indestructible = TRUE
- air.unacidable = TRUE
- else if(air.id == "south_door")
- south_door = air
- external_doors += list(air)
- air.breakable = FALSE
- air.indestructible = TRUE
- air.unacidable = TRUE
- else if(air.id == "east_door")
- east_door = air
+ if(air.id == "starboard_door")
+ starboard_door = air
external_doors += list(air)
air.breakable = FALSE
air.indestructible = TRUE
air.unacidable = TRUE
- else if(air.id == "west_door")
- west_door = air
+ else if(air.id == "port_door")
+ port_door = air
external_doors += list(air)
air.breakable = FALSE
air.indestructible = TRUE
air.unacidable = TRUE
- if(!north_door)
- WARNING("No north door found for [src]")
- if(!south_door)
- WARNING("No south door found for [src]")
- if(!east_door)
- WARNING("No east door found for [src]")
- if(!west_door)
- WARNING("No west door found for [src]")
+ if(!port_door)
+ WARNING("No port door found for [src]")
+ if(!starboard_door)
+ WARNING("No starboard door found for [src]")
/datum/map_template/shuttle/pst_elevator_e
name = "Outer Veil PST Elevator E"
@@ -136,24 +117,72 @@
name = "Outer Veil PST Elevator Shaft D, Dormitories level 37"
dir = NORTH
id = "ovpst_el-d_drm"
- width = 9
- height = 9
- airlock_id = "e-drm"
+ width = 11
+ height = 11
+ airlock_id = "d-drm"
airlock_area = /area/ovpst/airlock/ele_d_drm
/obj/docking_port/stationary/emergency_response/external/pst_elevator_d_pin
name = "Outer Veil PST Elevator Shaft D, Pinnacle"
dir = NORTH
id = "ovpst_el-d_pin"
- width = 9
- height = 9
- airlock_id = "e-pin"
+ width = 11
+ height = 11
+ airlock_id = "d-pin"
airlock_area = /area/ovpst/airlock/ele_d_pin
-/datum/map_template/shuttle/pst_elevator_e
+/obj/docking_port/mobile/emergency_response/pst_elevator_d
+ name = "Outer Veil PST Elevator D"
+ id = "uacm_ovpst_ele-d"
+ preferred_direction = EAST
+ port_direction = EAST
+ width = 11
+ height = 11
+ var/starboard_door
+ var/port_door
+
+/obj/docking_port/mobile/emergency_response/pst_elevator_d/Initialize(mapload)
+ . = ..()
+ external_doors = list()
+ for(var/place in shuttle_areas)
+ for(var/obj/structure/machinery/door/air in place)
+ if(air.id == "starboard_door")
+ starboard_door = air
+ external_doors += list(air)
+ air.breakable = FALSE
+ air.indestructible = TRUE
+ air.unacidable = TRUE
+ else if(air.id == "port_door")
+ port_door = air
+ external_doors += list(air)
+ air.breakable = FALSE
+ air.indestructible = TRUE
+ air.unacidable = TRUE
+ if(!port_door)
+ WARNING("No port door found for [src]")
+ if(!starboard_door)
+ WARNING("No starboard door found for [src]")
+
+/datum/map_template/shuttle/pst_elevator_d
name = "Outer Veil PST Elevator d"
shuttle_id = "uacm_ovpst_ele-d"
-/area/shuttle/pst_elevator_e
+/area/shuttle/pst_elevator_d
name = "Outer Veil PST Elevator D"
+
+/obj/docking_port/stationary/emergency_response/pst_shaft_e
+ name = "OV-PST, Elevator Shaft E"
+ dir = NORTH
+ id = "pst_shaft_e"
+ roundstart_template = /datum/map_template/shuttle/pst_elevator_e
+ width = 11
+ height = 11
+
+/obj/docking_port/stationary/emergency_response/pst_shaft_d
+ name = "OV-PST, Elevator Shaft D"
+ dir = NORTH
+ id = "pst_shaft_d"
+ roundstart_template = /datum/map_template/shuttle/pst_elevator_d
+ width = 11
+ height = 11
diff --git a/icons/obj/items/clothing/cm_hats.dmi b/icons/obj/items/clothing/cm_hats.dmi
index ae311984e2..c192606536 100644
Binary files a/icons/obj/items/clothing/cm_hats.dmi and b/icons/obj/items/clothing/cm_hats.dmi differ
diff --git a/icons/obj/structures/machinery/pythia.dmi b/icons/obj/structures/machinery/pythia.dmi
new file mode 100644
index 0000000000..708b95b829
Binary files /dev/null and b/icons/obj/structures/machinery/pythia.dmi differ
diff --git a/icons/obj/structures/machinery/tos.dmi b/icons/obj/structures/machinery/tos.dmi
new file mode 100644
index 0000000000..df445043ce
Binary files /dev/null and b/icons/obj/structures/machinery/tos.dmi differ
diff --git a/maps/map_files/SectorPatrol/OuterVeilPST/ovpst.dmm b/maps/map_files/SectorPatrol/OuterVeilPST/ovpst.dmm
index ef00408eb3..786862a3f0 100644
--- a/maps/map_files/SectorPatrol/OuterVeilPST/ovpst.dmm
+++ b/maps/map_files/SectorPatrol/OuterVeilPST/ovpst.dmm
@@ -14,11 +14,10 @@
"bR" = (/obj/structure/window/framed/almayer/hull,/turf/open/floor/almayer{icon_state = "plate"},/area/ovpst/airlock/d31)
"ce" = (/obj/structure/bed/sofa/vert/grey/top,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"co" = (/turf/open/floor/almayer{icon_state = "orange"},/area/ovpst)
-"cH" = (/obj/effect/decal/cargo_stripes{icon_state = "nws"},/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{dir = 1; icon_state = "red"},/area/ovpst)
+"cH" = (/obj/effect/decal/cargo_stripes{icon_state = "nws"},/turf/open/floor/almayer{dir = 1; icon_state = "red"},/area/ovpst)
"cO" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"cT" = (/obj/structure/machinery/light/small{dir = 4; light_color = "#d3a7d4"},/obj/effect/step_trigger/message/seeonce/D31Scn2,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"db" = (/obj/structure/surface/table/reinforced/almayer_blend/north,/obj/structure/machinery/door/poddoor/shutters/almayer{id = "scn1_shutter"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"de" = (/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{dir = 4; icon_state = "emeraldcorner"},/area/ovpst)
"dK" = (/obj/docking_port/stationary/emergency_response/external/pst_dock31,/turf/open/space/basic,/area/space)
"dP" = (/obj/effect/decal/info_tag/pst/lby{pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- LBY - R37 -
Dorms Deck 37 entrance lobby"},/turf/open/floor/almayer{dir = 1; icon_state = "red"},/area/ovpst)
"eg" = (/obj/effect/decal/info_tag/pst/scn{dir = 1; pixel_x = -16; desc_lore = "The label SCN indicates doors and areas where computer systems actively scan its inhabitants and contents. This door leads to the secondary Dock 31 scanner, but official documentation does not specify what scan is performed here, only that it is a check that involves reviewing the biographies of scanned personnel. Areas like this need to be clearly marked due to privacy and personal data handling laws passed back in the UA in the aftermath of the Colony Wars."; desc = "UACM Outer Veil Primary Supply Terminal
- SCN -
Entrance Secondary Scanner D31-PT-SCN001 and EL-E Pathway"},/turf/open/floor/almayer{dir = 6; icon_state = "emerald"},/area/ovpst)
@@ -29,12 +28,14 @@
"eJ" = (/obj/structure/searchable/puzzle04/bunk_locker/full1,/turf/open/floor/almayer,/area/ovpst)
"eV" = (/obj/structure/searchable/puzzle04/bunk_chest/full4,/turf/open/floor/almayer,/area/ovpst)
"eW" = (/turf/closed/wall/almayer/outer,/area/ovpst/airlock/ele_e_pin)
+"eZ" = (/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_e_pin)
+"fa" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_outer{id = "e-d31"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_e_d31)
"fk" = (/obj/structure/bed/chair/modular/office{dir = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"fv" = (/obj/structure/machinery/light{dir = 8},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"fA" = (/obj/effect/decal/info_tag/pst/ele{dir = 1; desc = "UACM Outer Veil Primary Supply Terminal
- EL-E -
Primary Access Elevator - E"},/turf/open/floor/almayer{icon_state = "emeraldcorner"},/area/ovpst)
"fE" = (/obj/structure/sink{dir = 4; pixel_y = 3; pixel_x = 12},/obj/structure/mirror{pixel_y = 30},/obj/structure/machinery/light/small{dir = 4},/turf/open/floor/almayer{icon_state = "silverfull"},/area/ovpst)
"fO" = (/obj/effect/decal/info_tag/pst/t14{pixel_y = 16; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- T-14 -
Hideaway O37"},/turf/open/floor/almayer{icon_state = "blackcorner"; dir = 1},/area/ovpst)
-"fV" = (/obj/structure/ladder{id = "crypt1"; icon_state = "ladder10"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"fV" = (/obj/structure/ladder{id = "crypt1"; icon_state = "ladder10"; height = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"go" = (/obj/structure/window/framed/almayer,/turf/open/floor/almayer{dir = 2; icon_state = "redcorner"},/area/ovpst)
"gt" = (/turf/open/floor/almayer{dir = 8; icon_state = "emerald"},/area/ovpst)
"gR" = (/obj/effect/decal/info_tag/pst/sec{dir = 1; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- SEC - D01 -
Dock 31 Front Security Office."; desc_lore = "The label SEC indicates doors and areas that require an elevated security clearance, typically restricted for MPs and CMISRS agents who are assigned the security class D on the PST. D01 indicates this area requires general security clearance, available to anyone with proper certification but not requiring any formal rank. This door leads to a small office overseeing the intake of cargo and personnel via Dock 31."},/turf/open/floor/almayer{icon_state = "red"},/area/ovpst)
@@ -68,7 +69,7 @@
"kp" = (/turf/open/floor/almayer{dir = 9; icon_state = "emerald"},/area/ovpst)
"kt" = (/turf/open/floor/almayer{dir = 4; icon_state = "silver"},/area/ovpst)
"ku" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general{icon = 'icons/obj/structures/doors/personaldoor.dmi'; dir = 1},/turf/open/floor/almayer{icon_state = "silverfull"},/area/ovpst)
-"kw" = (/obj/structure/machinery/light/marker/admin/pythia/jubilant,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
+"kw" = (/obj/structure/machinery/light/marker/admin/pythia/jubilant,/obj/structure/eventterminal/puzzle05/testament_of_sacrifice{pixel_y = 27; pixel_x = 1},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"kx" = (/obj/structure/searchable/puzzle04/bookcase/full4,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"kC" = (/turf/open/floor/almayer{icon_state = "black"; dir = 1},/area/ovpst)
"kE" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general{icon = 'icons/obj/structures/doors/securedoor.dmi'; dir = 1},/turf/open/floor/almayer,/area/ovpst)
@@ -79,11 +80,11 @@
"lm" = (/obj/structure/machinery/conveyor{dir = 8},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"lq" = (/turf/open/floor/almayer/uscm/directional{dir = 10; icon_state = "logo_directional1"},/area/ovpst)
"lt" = (/obj/structure/eventterminal/admin_event_terminal{dir = 4; pixel_x = -9; pixel_y = 3; puzzlebox_id = "scn2"},/turf/open/floor/almayer{dir = 5; icon_state = "emerald"},/area/ovpst)
-"lx" = (/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{dir = 1; icon_state = "orange"},/area/ovpst)
+"lx" = (/obj/structure/machinery/light/marker/admin/pythia/triumphant,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"lB" = (/obj/structure/searchable/puzzle04/bunk_locker/full3,/turf/open/floor/almayer,/area/ovpst)
"lF" = (/turf/open/floor/almayer{dir = 1; icon_state = "orange"},/area/ovpst)
"lM" = (/obj/effect/step_trigger/message/seeonce/D31Scn2,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
-"lP" = (/obj/structure/machinery/telecomms/broadcaster/preset_cent,/obj/structure/machinery/telecomms/broadcaster/preset_left,/obj/structure/machinery/telecomms/broadcaster/preset_right,/obj/structure/machinery/telecomms/bus/preset_cent,/obj/structure/machinery/telecomms/bus/preset_four,/obj/structure/machinery/telecomms/bus/preset_one,/obj/structure/machinery/telecomms/bus/preset_three,/obj/structure/machinery/telecomms/bus/preset_two,/obj/structure/machinery/telecomms/hub/preset,/obj/structure/machinery/telecomms/hub/preset_cent,/obj/structure/machinery/telecomms/processor/preset_cent,/obj/structure/machinery/telecomms/processor/preset_four,/obj/structure/machinery/telecomms/processor/preset_one,/obj/structure/machinery/telecomms/processor/preset_three,/obj/structure/machinery/telecomms/processor/preset_two,/obj/structure/machinery/telecomms/receiver/preset,/obj/structure/machinery/telecomms/receiver/preset_cent,/obj/structure/machinery/telecomms/receiver/preset_left,/obj/structure/machinery/telecomms/relay/preset,/obj/structure/machinery/telecomms/relay/preset/centcom,/obj/structure/machinery/telecomms/relay/preset/telecomms,/obj/structure/machinery/telecomms/relay/preset/mining,/obj/structure/machinery/telecomms/relay/preset/station,/obj/structure/machinery/telecomms/relay/preset/station/prison,/obj/structure/machinery/telecomms/server/presets,/obj/structure/machinery/telecomms/server/presets/centcomm,/obj/structure/machinery/telecomms/server/presets/command,/obj/structure/machinery/telecomms/server/presets/common,/obj/structure/machinery/telecomms/server/presets/engineering,/obj/structure/machinery/telecomms/server/presets/medical,/obj/structure/machinery/telecomms/server/presets/security,/obj/structure/machinery/telecomms/server/presets/squads,/turf/open/floor/almayer{icon_state = "tcomms"},/area/space)
+"lP" = (/obj/structure/machinery/telecomms/broadcaster/preset_cent,/obj/structure/machinery/telecomms/broadcaster/preset_left,/obj/structure/machinery/telecomms/broadcaster/preset_right,/obj/structure/machinery/telecomms/bus/preset_cent,/obj/structure/machinery/telecomms/bus/preset_four,/obj/structure/machinery/telecomms/bus/preset_one,/obj/structure/machinery/telecomms/bus/preset_three,/obj/structure/machinery/telecomms/bus/preset_two,/obj/structure/machinery/telecomms/hub/preset,/obj/structure/machinery/telecomms/hub/preset_cent,/obj/structure/machinery/telecomms/processor/preset_cent,/obj/structure/machinery/telecomms/processor/preset_four,/obj/structure/machinery/telecomms/processor/preset_one,/obj/structure/machinery/telecomms/processor/preset_three,/obj/structure/machinery/telecomms/processor/preset_two,/obj/structure/machinery/telecomms/receiver/preset,/obj/structure/machinery/telecomms/receiver/preset_cent,/obj/structure/machinery/telecomms/receiver/preset_left,/obj/structure/machinery/telecomms/relay/preset,/obj/structure/machinery/telecomms/relay/preset/centcom,/obj/structure/machinery/telecomms/relay/preset/telecomms,/obj/structure/machinery/telecomms/relay/preset/mining,/obj/structure/machinery/telecomms/relay/preset/station,/obj/structure/machinery/telecomms/relay/preset/station/prison,/obj/structure/machinery/telecomms/server/presets,/obj/structure/machinery/telecomms/server/presets/centcomm,/obj/structure/machinery/telecomms/server/presets/command,/obj/structure/machinery/telecomms/server/presets/common,/obj/structure/machinery/telecomms/server/presets/engineering,/obj/structure/machinery/telecomms/server/presets/medical,/obj/structure/machinery/telecomms/server/presets/security,/obj/structure/machinery/telecomms/server/presets/squads,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"lV" = (/obj/effect/decal/info_tag/pst/t14{pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- T-14 - Hideaway O37
"},/turf/open/floor/almayer{icon_state = "black"; dir = 1},/area/ovpst)
"me" = (/obj/structure/searchable/puzzle04/drawers_smol/full2,/turf/open/floor/almayer,/area/ovpst)
"mh" = (/obj/structure/surface/modular/table,/obj/item/device/modular/lamp,/turf/open/floor/almayer,/area/ovpst)
@@ -106,10 +107,11 @@
"oI" = (/obj/effect/decal/info_tag/pst/cpu{dir = 4; desc_lore = "The label CPU indicates doors and areas related to the operation of ship AIs, which typically are also directly tied to the ships Twilight FTL drives and Liquid Data FTL communication systems. These areas are typically sealed to all but the highest-ranking command personnel on board a ship or station but may be sometimes unlocked by the AIs themselves if maintenance is required. The room behind the door leads to one of the PYTHIA scanner clusters which are somehow related to the secondary security scanner of the station, but no information is available about what the scanner is or why would it need what appears to be Liquid Data based communication systems. The presence of FTL comm protocols and Liquid Data explains the blue pathway and CPU designation at least."; desc = "UACM Outer Veil Primary Supply Terminal
- CPU -
Dock 31 Security Sub Processors PYTHIA Scanner Cluster D13-2"},/turf/open/floor/almayer{icon_state = "bluecorner"},/area/ovpst)
"oQ" = (/obj/structure/window/framed/almayer/hull,/turf/closed/wall/almayer/outer,/area/ovpst)
"oT" = (/obj/effect/decal/info_tag/pst/eng{pixel_y = 16; pixel_x = -16; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance Liquid data channels are wired all though the station and this door seems to lead to one of them. There is likely nothing but dusty, humming computers inside."; desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
LD Block T14 Access"},/turf/open/floor/almayer{dir = 1; icon_state = "orangecorner"},/area/ovpst)
-"pe" = (/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{dir = 4; icon_state = "orangecorner"},/area/ovpst)
+"pe" = (/obj/structure/machinery/light/marker/admin/pythia/repressed,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"po" = (/turf/open/floor/almayer{dir = 9; icon_state = "orange"},/area/ovpst)
-"ps" = (/obj/structure/machinery/door/poddoor/almayer{id = "e-d31"},/turf/open/floor/almayer{icon_state = "emeraldfull"},/area/ovpst/airlock/ele_e_d31)
+"ps" = (/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_e_d31)
"pt" = (/obj/structure/machinery/conveyor{dir = 8},/obj/structure/machinery/door/poddoor/almayer{id = "cargointake"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"pu" = (/obj/docking_port/stationary/emergency_response/pst_shaft_d,/turf/open/floor/almayer/empty,/area/ovpst)
"pH" = (/obj/structure/machinery/light{dir = 2},/turf/open/floor/almayer{icon_state = "blue"},/area/ovpst)
"pO" = (/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"pZ" = (/obj/structure/eventterminal/puzzle04/crypt_doorlock{pixel_y = 25},/turf/open/floor/almayer{icon_state = "purplecorner"; dir = 4},/area/ovpst)
@@ -117,6 +119,7 @@
"qg" = (/turf/closed/wall/almayer/outer,/area/space)
"qn" = (/obj/structure/machinery/light/small,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"qK" = (/turf/open/floor/almayer{icon_state = "purple"; dir = 1},/area/ovpst)
+"qL" = (/obj/structure/plasticflaps,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"qM" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"qP" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general/admin{icon = 'icons/obj/structures/doors/engidoor2.dmi'; dir = 2; locked = TRUE; icon_state = "door_closed"; id = "scn1_exit"; id_tag = "scn1_exit"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"qR" = (/obj/structure/machinery/door/poddoor/railing{dir = 8; id = "supply_elevator_railing"},/obj/effect/decal/cargo_stripes{icon_state = "e"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
@@ -124,15 +127,16 @@
"qW" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general{icon = 'icons/obj/structures/doors/Door2x1_secure2.dmi'; dir = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"qZ" = (/obj/effect/decal/info_tag/pst/eng{pixel_y = 16; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
Dorms Deck 37, Sector A, Maintenance Shaft"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance. These doors lead to maintenance shafts used to service issues with the dorms should ones arrive. Some of these passages may have other exits, but since no centralized map system exists for the PST, finding those is a matter of luck. "},/turf/open/floor/almayer{icon_state = "orange-silver"; dir = 1},/area/ovpst)
"rf" = (/obj/structure/machinery/conveyor{dir = 6},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"rj" = (/obj/structure/machinery/power/apc{dir = 4},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
+"rj" = (/obj/docking_port/stationary/emergency_response/external/pst_elevator_e_pinnacle,/turf/open/floor/almayer/empty,/area/ovpst/airlock/ele_e_pin)
+"rB" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_outer{id = "d-drm"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_drm)
"rI" = (/obj/structure/bed/sofa/south/grey/left,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"rP" = (/obj/effect/decal/info_tag/pst/elc{pixel_y = 0; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- EL-C - Elevator Shaft C
"},/turf/open/floor/almayer{icon_state = "red"},/area/ovpst)
"rR" = (/obj/effect/decal/info_tag/pst/ela{dir = 4; desc = "UACM Outer Veil Primary Supply Terminal
- EL-A - G01 - Elevator Shaft A
"},/turf/open/floor/almayer{dir = 6; icon_state = "blue"},/area/ovpst)
"rW" = (/obj/structure/machinery/door/poddoor/almayer/locked{dir = 8},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"so" = (/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
+"se" = (/obj/docking_port/stationary/emergency_response/pst_shaft_e,/turf/open/floor/almayer/empty,/area/ovpst)
"sq" = (/turf/closed/wall/almayer,/area/ovpst/airlock/ele_e_d31)
"sD" = (/turf/open/floor/plating/plating_catwalk,/area/ovpst)
-"sM" = (/obj/structure/machinery/door/poddoor/almayer{id = "e-pin"},/turf/open/floor/almayer{icon_state = "emeraldfull"},/area/ovpst/airlock/ele_e_pin)
+"sM" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_outer{id = "e-pin"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_e_pin)
"sV" = (/turf/open/floor/almayer/empty,/area/ovpst)
"th" = (/obj/effect/decal/info_tag/pst/ele{pixel_x = -16; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- EL-E -
Primary Access Elevator - E"},/turf/open/floor/almayer{dir = 1; icon_state = "emeraldcorner"},/area/ovpst)
"to" = (/obj/structure/machinery/light/small{dir = 1; light_id = "cargointake"},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
@@ -140,7 +144,7 @@
"uv" = (/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"uD" = (/turf/open/floor/almayer{icon_state = "red"},/area/ovpst)
"uG" = (/obj/effect/decal/info_tag/pst/cpu{pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- CPU -
Dock 31 Security Sub Processors PYTHIA Scanner Cluster D13-1"; desc_lore = "The label CPU indicates doors and areas related to the operation of ship AIs, which typically are also directly tied to the ships Twilight FTL drives and Liquid Data FTL communication systems. These areas are typically sealed to all but the highest-ranking command personnel on board a ship or station but may be sometimes unlocked by the AIs themselves if maintenance is required. The room behind the door leads to one of the PYTHIA scanner clusters which are somehow related to the secondary security scanner of the station, but no information is available about what the scanner is or why would it need what appears to be Liquid Data based communication systems. The presence of FTL comm protocols and Liquid Data explains the blue pathway and CPU designation at least."},/turf/open/floor/almayer{dir = 5; icon_state = "blue"},/area/ovpst)
-"uH" = (/obj/structure/machinery/door/poddoor/almayer{id = "e-drm"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_drm)
+"uH" = (/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_drm)
"uN" = (/obj/structure/bed/chair/office/dark,/turf/open/floor/almayer{dir = 6; icon_state = "red"},/area/ovpst)
"va" = (/obj/effect/decal/info_tag/pst/ofc{pixel_x = -16; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- OFC - G01 -
Entrance Orientation Offices, Memorial"; desc_lore = "The label OFC indicates office areas, which as the name suggests are typically areas with some specific, bureaucratic function assigned to them and can be anything from personal offices of high-ranking personnel to teaching rooms and spare, unused generic spaces. These doors lead to the entrance offices of the PST where new guests and permanent arrivals are briefed and welcomed, as well as the station's memorial."},/turf/open/floor/almayer{icon_state = "silvercorner"; dir = 1},/area/ovpst)
"vj" = (/turf/open/floor/plating/modular,/area/ovpst)
@@ -159,7 +163,7 @@
"wZ" = (/turf/open/floor/almayer{icon_state = "black"; dir = 8},/area/ovpst)
"xc" = (/obj/effect/decal/info_tag/pst/eng{dir = 4; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- ENG - G01 -
Dock 31 Security Sub Processors"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. G01 indicates that this area is open to anyone who is quartered on the station. Engineering doors with general access usually suggest that general maintenance equipment is available somewhere behind this door. This door leads to maintenance corridors related to the security scanning system of Dock 31 and usually are only accessed if an issue needs diagnostics. A maintenance room with equipment needed to diagnose issues with the security system should be somewhere at the end of this path."},/obj/structure/machinery/light{dir = 4},/turf/open/floor/almayer{dir = 4; icon_state = "orangecorner"},/area/ovpst)
"xv" = (/obj/structure/window/framed/almayer/hull,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"xA" = (/turf/closed/wall/almayer/outer,/area/event/metal)
+"xA" = (/obj/docking_port/stationary/emergency_response/external/pst_elevator_d_drm,/turf/open/floor/almayer/empty,/area/ovpst/airlock/ele_d_drm)
"xL" = (/obj/structure/machinery/door/poddoor/almayer/locked{dir = 4},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"xN" = (/turf/open/floor/almayer{icon_state = "black"; dir = 4},/area/ovpst)
"yb" = (/obj/structure/prop/almayer/ship_memorial,/turf/open/floor/holofloor/grass,/area/ovpst)
@@ -181,14 +185,14 @@
"Aq" = (/turf/open/floor/almayer{dir = 4; icon_state = "bluecorner"},/area/ovpst)
"AJ" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general{icon = 'icons/obj/structures/doors/securedoor.dmi'},/turf/open/floor/almayer{icon_state = "bluefull"},/area/ovpst)
"AM" = (/turf/open/floor/almayer/uscm/directional{dir = 9; icon_state = "logo_directional1"},/area/ovpst)
-"Bc" = (/obj/structure/ladder{id = "crypt1"; icon_state = "ladder01"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"Bc" = (/obj/structure/ladder{id = "crypt1"; icon_state = "ladder01"; height = 2},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"Be" = (/obj/structure/searchable/puzzle04/drawers_smol/full1,/turf/open/floor/almayer,/area/ovpst)
"Bi" = (/turf/open/floor/almayer{dir = 4; icon_state = "emeraldcorner"},/area/ovpst)
"Bu" = (/turf/open/floor/almayer{dir = 8; icon_state = "redcorner"},/area/ovpst)
"Bv" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general{icon = 'icons/obj/structures/doors/secdoor.dmi'},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"BF" = (/obj/effect/decal/info_tag/pst/sec{dir = 4; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- SEC - D01 - R37 -
Dorms Deck 37 Entrance Guest Clearance and Cargo Reception Station"},/turf/open/floor/almayer{dir = 4; icon_state = "redcorner"},/area/ovpst)
"BH" = (/obj/structure/machinery/light/small{dir = 8; light_id = "cargointake"},/turf/open/floor/almayer{icon_state = "plate"},/area/ovpst/airlock/d31)
-"BI" = (/obj/structure/machinery/power/apc{dir = 1},/obj/structure/machinery/light{dir = 1},/turf/open/floor/almayer{dir = 4; icon_state = "emeraldcorner"},/area/ovpst)
+"BI" = (/obj/structure/machinery/light{dir = 1},/turf/open/floor/almayer{dir = 4; icon_state = "emeraldcorner"},/area/ovpst)
"BR" = (/obj/structure/bed/chair/comfy/black,/obj/effect/decal/info_tag/pst/eld{dir = 8; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- EL-C - Elevator Shaft D
"},/turf/open/floor/almayer{dir = 8; icon_state = "silvercorner"},/area/ovpst)
"BU" = (/obj/structure/toilet{dir = 4; pixel_x = -1},/turf/open/floor/almayer{icon_state = "silverfull"},/area/ovpst)
"BV" = (/obj/effect/decal/info_tag/pst/ofc{dir = 8; pixel_x = -16; desc_lore = "The label OFC indicates office areas, which as the name suggests are typically areas with some specific, bureaucratic function assigned to them and can be anything from personal offices of high-ranking personnel to teaching rooms and spare, unused generic spaces. This door leads to one of the orientation offices, used to brief and greet new arrivals to the station."; desc = "UACM Outer Veil Primary Supply Terminal
- OFC -
Entrance Orientation Office"},/turf/open/floor/almayer{dir = 8; icon_state = "silvercorner"},/area/ovpst)
@@ -207,12 +211,15 @@
"Du" = (/obj/structure/machinery/conveyor{dir = 9},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"DF" = (/obj/effect/decal/info_tag/pst/sec{dir = 1; desc = "UACM Outer Veil Primary Supply Terminal
- SEC - D01 - R37 -
Dorms Deck 37 Entrance Guest Clearance and Cargo Reception Station"; desc_lore = "The label SEC indicates doors and areas that require an elevated security clearance, typically restricted for MPs and CMISRS agents. This door leads to the cargo and guest reception area, which can be accessed by anyone who also is registered in a dorm on this level. From this station, residents can authorize guest visits and receive cargo."},/turf/open/floor/almayer{icon_state = "red"},/area/ovpst)
"DM" = (/obj/structure/closet/secure_closet/sp/red/d01{icon_state = "red_class_d_locked"},/turf/open/floor/almayer{dir = 1; icon_state = "red"},/area/ovpst)
+"DP" = (/obj/structure/eventterminal/admin_event_terminal{icon = 'icons/obj/structures/machinery/clio_maint_dark.dmi'; pixel_y = 8; name = "closed maintenance terminal hatch"; desc = "A sliding hatch concealing a terminal used to perform local diagnostic tasks"; desc_lore = "Most space ships ultilize secondary terminals like these on a room-by-room basis as a failsafe meant to cover for the ship's central, AI-assisted maitenance system."; puzzlebox_id = "crypt_airlock"},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"DW" = (/obj/structure/searchable/puzzle04/bunk_chest/full2,/turf/open/floor/almayer,/area/ovpst)
"Eb" = (/obj/effect/decal/info_tag/pst/drm{dir = 4; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- DRM -
Dorms, Deck 37, Sector B"},/turf/open/floor/almayer{dir = 4; icon_state = "bluecorner"},/area/ovpst)
"Ep" = (/obj/structure/surface/modular/table/gray{icon_state = "table_metal_black"},/obj/structure/eventterminal/puzzle03/historyterm{dir = 4},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"Et" = (/obj/structure/eventterminal/puzzle05/pythia,/turf/open/floor/kutjevo/colors/blue/tile,/area/ovpst)
+"Ey" = (/obj/structure/eventterminal/puzzle05/pythia/right,/turf/open/floor/kutjevo/colors/blue/tile,/area/ovpst)
"EB" = (/turf/open/floor/almayer{icon_state = "blue2silver1"},/area/ovpst)
-"EE" = (/obj/structure/machinery/power/apc{dir = 1},/obj/effect/decal/info_tag/pst/eng{desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
Dock 31 Cargo Processing Subsystems Diagnostics and Maintenance Room"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance. G01 indicates that this area is open to anyone who is quartered on the station. Engineering doors with general access usually suggest that general maintenance equipment is available somewhere behind this door. The room past this door should have everything one needs to properly diagnose and possibly fix issues with the Dock 31 cargo processing system."; pixel_y = 16},/turf/open/floor/almayer{dir = 4; icon_state = "orangecorner"},/area/ovpst)
-"EF" = (/obj/structure/eventterminal/puzzle02/ldmainframe_master/correct{puzzlebox_id = "LD_Mainframe_1"; item_serial = "UACM-OVPST-D31-LDCPU-01"},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
+"EE" = (/obj/effect/decal/info_tag/pst/eng{desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
Dock 31 Cargo Processing Subsystems Diagnostics and Maintenance Room"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance. G01 indicates that this area is open to anyone who is quartered on the station. Engineering doors with general access usually suggest that general maintenance equipment is available somewhere behind this door. The room past this door should have everything one needs to properly diagnose and possibly fix issues with the Dock 31 cargo processing system."; pixel_y = 16},/turf/open/floor/almayer{dir = 4; icon_state = "orangecorner"},/area/ovpst)
+"EF" = (/obj/structure/eventterminal/puzzle02/ldmainframe_master/incorrect{puzzlebox_id = "LD_Mainframe_1"; item_serial = "UACM-OVPST-D31-LDCPU-01"},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"EL" = (/obj/structure/surface/modular/table,/turf/open/floor/almayer,/area/ovpst)
"EM" = (/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/delta{dir = 8},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst)
"ER" = (/obj/structure/bed/sofa/south/grey,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
@@ -223,10 +230,11 @@
"Fr" = (/turf/closed/wall/almayer,/area/ovpst/airlock/ele_e_pin)
"Fz" = (/turf/open/floor/almayer{dir = 1; icon_state = "redcorner"},/area/ovpst)
"FA" = (/obj/effect/decal/info_tag/pst/eng{dir = 1; desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
Dorms Deck 37, Sector A, Maintenance Shaft"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance. These doors lead to maintenance shafts used to service issues with the dorms should ones arrive. Some of these passages may have other exits, but since no centralized map system exists for the PST, finding those is a matter of luck. "},/turf/open/floor/almayer{icon_state = "white-orange"; dir = 2},/area/ovpst)
+"FW" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_outer{id = "d-pin"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_pin)
"Gf" = (/obj/effect/decal/cargo_stripes{icon_state = "se"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"Gk" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"GA" = (/obj/structure/machinery/door/airlock/almayer/uacm/ovpst/general{icon = 'icons/obj/structures/doors/securedoor.dmi'; dir = 1},/turf/open/floor/almayer{icon_state = "bluefull"},/area/ovpst)
-"GE" = (/obj/structure/ladder{id = "crypt2"; icon_state = "ladder10"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"GE" = (/obj/structure/ladder{id = "crypt2"; icon_state = "ladder10"; height = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"GJ" = (/turf/open/floor/almayer{dir = 4; icon_state = "red"},/area/ovpst)
"GM" = (/obj/structure/bed/chair/comfy/black,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"GN" = (/turf/open/floor/almayer{dir = 1; icon_state = "emeraldcorner"},/area/ovpst)
@@ -234,7 +242,6 @@
"Hp" = (/turf/open/floor/almayer{dir = 1; icon_state = "emerald"},/area/ovpst)
"Hs" = (/turf/open/floor/almayer/uscm/directional{dir = 6; icon_state = "logo_directional1"},/area/ovpst)
"HC" = (/obj/structure/machinery/door/poddoor/railing{id = "supply_elevator_railing"},/obj/effect/decal/cargo_stripes{icon_state = "s"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"HJ" = (/obj/structure/eventterminal/puzzle05/testament_of_sacrifice,/turf/open/floor/kutjevo/colors/blue/tile,/area/ovpst)
"Il" = (/obj/structure/foamed_metal,/obj/structure/foamed_metal,/turf/open/floor/plating,/area/ovpst)
"Is" = (/obj/structure/bed/chair/comfy/black,/turf/open/floor/almayer{dir = 4; icon_state = "silvercorner"},/area/ovpst)
"Iz" = (/obj/structure/machinery/light/marker/admin/pythia/main{pixel_x = -8},/turf/open/floor/kutjevo/colors/blue/tile,/area/ovpst)
@@ -264,7 +271,8 @@
"Md" = (/turf/open/floor/almayer{icon_state = "whitecorner"; dir = 8},/area/ovpst)
"Mt" = (/turf/open/floor/almayer{icon_state = "orangecorner"; dir = 8},/area/ovpst)
"ME" = (/obj/effect/decal/info_tag/pst/eng{pixel_y = 16; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
G01 -
Dock 31 Security Sub Processors Diagnostics and Maintenance Room"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. G01 indicates that this area is open to anyone who is quartered on the station. Engineering doors with general access usually suggest that general maintenance equipment is available somewhere behind this door. According to the label, the room behind this door should contain everything you need to diagnose and begin servicing issues with the security scanners."},/turf/open/floor/almayer{dir = 1; icon_state = "orangecorner"},/area/ovpst)
-"MG" = (/obj/structure/machinery/power/apc,/obj/structure/machinery/light/small,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
+"MG" = (/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_pin)
+"MH" = (/obj/structure/eventterminal/puzzle05/pythia/left,/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
"MJ" = (/obj/structure/bed/sofa/south/grey/right,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"MY" = (/obj/structure/searchable/puzzle04/drawers_misc/full2,/turf/open/floor/almayer,/area/ovpst)
"Nh" = (/turf/open/floor/almayer{icon_state = "blackcorner"; dir = 4},/area/ovpst)
@@ -286,11 +294,10 @@
"Pz" = (/turf/open/floor/almayer{dir = 10; icon_state = "emerald"},/area/ovpst)
"PO" = (/turf/open/floor/almayer{icon_state = "silver"; dir = 1},/area/ovpst)
"PR" = (/turf/open/floor/almayer{dir = 10; icon_state = "orange"},/area/ovpst)
-"PV" = (/obj/structure/ladder{id = "crypt2"; icon_state = "ladder01"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
+"PV" = (/obj/structure/ladder{id = "crypt2"; icon_state = "ladder01"; height = 2},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"Qk" = (/obj/effect/decal/info_tag/pst/elb{dir = 4; pixel_y = 16; desc = "UACM Outer Veil Primary Supply Terminal
- EL-B - G01 - Elevator Shaft B
"},/turf/open/floor/almayer{dir = 4; icon_state = "orangecorner"},/area/ovpst)
-"Qn" = (/obj/structure/machinery/power/apc{dir = 1},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"QG" = (/obj/structure/machinery/door/poddoor/almayer/locked{dir = 8},/turf/open/floor/almayer{dir = 1; icon_state = "emerald"},/area/ovpst)
-"QI" = (/obj/structure/machinery/door/poddoor/almayer{id = "d-pin"},/turf/open/floor/almayer{icon_state = "plating"; dir = 1},/area/ovpst/airlock/ele_d_pin)
+"QI" = (/turf/closed/wall/almayer,/area/ovpst/airlock/ele_d_pin)
"QM" = (/obj/structure/machinery/light/small{dir = 1},/turf/open/floor/almayer{dir = 9; icon_state = "orange"},/area/ovpst)
"Ra" = (/turf/open/floor/almayer/empty,/area/ovpst/airlock/ele_e_pin)
"Rl" = (/obj/item/light_bulb/marker/admin{name = "voicebox - log viewer"},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
@@ -311,7 +318,6 @@
"Tg" = (/turf/open/floor/almayer{dir = 4; icon_state = "orange"},/area/ovpst)
"Tm" = (/obj/structure/machinery/door/poddoor/almayer/locked,/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"TA" = (/obj/effect/decal/info_tag/pst/eng{dir = 1; pixel_y = 0; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- ENG -
Dorms Deck 37, Sector A, Maintenance Shaft"; desc_lore = "The label ENG indicates doors and areas related to controlling and maintaining the mechanical and computer elements of a colony, ship or station. These areas typically require an elevated engineering clearance. These doors lead to maintenance shafts used to service issues with the dorms should ones arrive. Some of these passages may have other exits, but since no centralized map system exists for the PST, finding those is a matter of luck. "},/turf/open/floor/almayer{icon_state = "orange"},/area/ovpst)
-"TB" = (/obj/structure/eventterminal/puzzle02/ldmainframe_master/incorrect{item_serial = "UACM-OVPST-D31-LDCPU-03"; puzzlebox_id = "LD_Mainframe_3"},/turf/open/floor/kutjevo/colors/blue/tile,/area/ovpst)
"TK" = (/obj/structure/foamed_metal,/turf/open/floor/plating,/area/ovpst)
"TQ" = (/turf/open/floor/almayer{icon_state = "emeraldfull"; dir = 1},/area/ovpst)
"TS" = (/turf/closed/wall/almayer/outer,/area/ovpst)
@@ -331,6 +337,7 @@
"Va" = (/turf/open/floor/almayer{icon_state = "white"},/area/ovpst)
"Vf" = (/obj/effect/decal/info_tag/pst/mup{pixel_y = 16; pixel_x = -16},/turf/closed/wall/almayer,/area/ovpst)
"Vj" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin{dir = 1},/turf/open/floor/almayer{dir = 1; icon_state = "red"},/area/ovpst)
+"Vl" = (/obj/docking_port/stationary/emergency_response/external/pst_elevator_d_pin,/turf/closed/wall/almayer,/area/ovpst/airlock/ele_d_pin)
"Vp" = (/obj/structure/bed/chair/modular/office{dir = 8},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
"Wg" = (/turf/open/floor/almayer/uscm/directional{dir = 8; icon_state = "logo_directional1"},/area/ovpst)
"Wx" = (/obj/structure/eventterminal/puzzle04/final_log{pixel_y = 25},/obj/structure/machinery/light/marker/admin{light_id = "final_log"; pixel_y = 16},/turf/open/floor/almayer{icon_state = "tcomms"},/area/ovpst)
@@ -349,7 +356,7 @@
"YY" = (/turf/open/floor/almayer{icon_state = "whitecorner"; dir = 1},/area/ovpst)
"Zg" = (/obj/effect/decal/info_tag/pst/mup{pixel_y = 16; pixel_x = -16; desc = "UACM Outer Veil Primary Supply Terminal
- MUP -
MUP 14-37"},/turf/open/floor/almayer{icon_state = "purplecorner"; dir = 1},/area/ovpst)
"Zh" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/open/floor/almayer{allow_construction = 0},/area/ovpst)
-"Zv" = (/turf/open/space/basic,/area/ovpst)
+"Zv" = (/obj/docking_port/stationary/emergency_response/external/pst_elevator_e_d31,/turf/open/floor/almayer/empty,/area/ovpst/airlock/ele_e_d31)
"ZB" = (/obj/structure/sink{dir = 8; pixel_y = 0; pixel_x = -9},/turf/open/floor/almayer{icon_state = "silverfull"},/area/ovpst)
"ZE" = (/obj/structure/searchable/puzzle04/bunk_chest/full1,/turf/open/floor/almayer,/area/ovpst)
"ZL" = (/turf/open/floor/almayer{icon_state = "sterile"},/area/ovpst)
@@ -376,46 +383,46 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSxvxvTSTS
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSrIMJpOpOrIERERERMJpOpOrIMJTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOhdhdhdhdhdhdhdhdhdpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTmTmTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOhdybhdybhdybybhdhdpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpONhkClVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAxvcepOhdhdhdhdhdhdhdhdhdpOcexvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSaSaSaSaSaSaSaSaSaSaIAIAIAIAIAIAIAIAIAIAxvIRpOpOpOpOpOpOpOpOpOpOpOIRxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIAxvIRpOpOpOpOpOpOpOpOpOpOpOIRxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOLVcoMtpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIAxvbopOpOpOpOpOpOpOpOpOpOpOboxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlhlhlhqPlhlhlhTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTmTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOhWVaVaMdpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDsDEZlFoTsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSlhlhlhlhlhlhyXpOlhlhlhlhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhsDlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSpOAqFizFpOlhRBZWlhZhZhGMGMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhTSIAIAIAIATSTSTSTSIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSEppOpOpOpOlhpOpOlhZhZhGMGMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhTSTSTSTSTSTSTmTmTSTSTSTSTSTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSqMnkqMqMvslhpOpOlhZhZhpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhioioioioHayLyLBXioioioioTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSqMqMqMqMOXlhBVSclhzxpOZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESaIAIAIAIAIAIAIAIAIAIATSpOpOpOpOaMpOLBaMpOLBZhZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIASaQIQIQIQIQIQIQIQIQISaIAIAIAIAIAIAIAIAIAIATSpOpOpOpOaMeqLBaMXyLBZhZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSCSlhkElhlhlhkElhlhlhkElhlhlhkElhlhlhkElhlhlhCSlhlhhrhdhdhdhdPePehdhdhdhdvJTSTSIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSHpHpygTQTQTQkpHpCETSxvoQTSoQvMoQTSoQxvoQTSGMGMGMGMIslhhZgYlhblpOZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlFqZRBYYioKBRBYYioKBRBYYioKBRBYYioKBRBYYZLEZlFCwpOhMPePePePePePePePePePeLKxLTSIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSaSaSaSaSaSaSaSaSaSaSaSaIAIAIAIAIAIAIAIAIAxvcepOhdhdhdhdhdhdhdhdhdpOcexvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIAxvIRpOpOpOpOpOpOpOpOpOpOpOIRxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIAxvIRpOpOpOpOpOpOpOpOpOpOpOIRxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOLVcoMtpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIAxvbopOpOpOpOpOpOpOpOpOpOpOboxvIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlhlhlhqPlhlhlhTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTmTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSpOpOpOpOpOhWVaVaMdpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDsDEZlFoTsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSlhlhlhlhlhlhyXpOlhlhlhlhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhsDlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSpOAqFizFpOlhRBZWlhZhZhGMGMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhTSIAIAIAIATSTSTSTSIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSEppOpOpOpOlhpOpOlhZhZhGMGMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhTSTSTSTSTSTSTmTmTSTSTSTSTSTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSqMnkqMqMvslhpOpOlhZhZhpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhioioioioHayLyLBXioioioioTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSqMqMqMqMOXlhBVSclhzxpOZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaSESESESESESESESESESESESaIAIAIAIAIAIAIAIAIATSpOpOpOpOaMpOLBaMpOLBZhZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIASaVlFWMGMGMGQIFWMGMGMGQISaIAIAIAIAIAIAIAIAIATSpOpOpOpOaMeqLBaMXyLBZhZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSCSlhkElhlhlhkElhlhlhkElhlhlhkElhlhlhkElhlhlhCSlhlhhrhdhdhdhdPePehdhdhdhdvJTSTSIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIATSHpHpygTQTQTQkpHpCETSTSoQTSoQvMoQTSoQxvoQTSGMGMGMGMIslhhZgYlhblpOZhpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlFqZRBYYioKBRBYYioKBRBYYioKBRBYYioKBRBYYZLEZlFCwpOhMPePePePePePePePePePeLKxLTSIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOygTQkppOpOpOrIERMJJMrIERMJJMrIERLAlhBRGMGMGMGMlhpOpOlhZhZhpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTAioiohWVaMdiohWVaMdiohWVaMdiohWVaMdiohWVaFAcoyFiGhMPePePePePePePePePePeLKrWTSIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOTQogogogogogogogogogogogogogkVmZpOLBpOoCpOpOlhpOpOlhZhZhqMqMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSCSlhlhlhkElhlhlhkElhlhlhkElhlhlhkElhlhlhkElhCSlhlhNshdhdhdhdPePehdhdhdhdEbTSTSIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOWFogPzSINISoLBvJaZwzpOlhpOpOlhZhZhqMqMTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIATSlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhEMlhlhlhlhlhlhlhlhlhlhcOpOlhlhlhlhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSTVTVTVTVTVTVTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiohdhdhdhdPePehdhdhdhdioTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOBiHpkpqUFelhitpOpOpOpOHaPOXnvapOpOpOvJTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSmRTVTBTVTBuvTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiopOpOpOXEuDuDDFuDBuioioTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOPzogZVpOPzogogogogogogEBaZaZaZaZrRREIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSkwuvHJIzuvwpTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhlhlhlhlhlhUPpOlhIKlhlhlhTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOBiHpkpqUFelhitpOpOpOpOHaPOXnvapOpOpOvJTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSMHTVEtTVEyuvTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhiopOpOpOXEuDuDDFuDBuioioTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOpOPzogZVpOPzogogogogogogEBaZaZaZaZrRREIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSkwuvTVIzuvwpTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhlhlhlhlhlhUPpOlhIKlhlhlhTSIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOGJUvAjAjAjAjAjAjAjAjAjAjAjAjAjAjjLVjNPAjAjAjAjAjAjzulFlFlFlFXMQGIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSsDsDsDsDsDsDTSIATSsDlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhvjvjvjlhsDlhlhpOpOpOpOUmAjdPemAjFzpOpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSrPuDuDUYUYuDuDuDuDTSoQoQTSoQoQoQTSoQoQoQTSFzpOpOLBLBXnLBXnblyGLBpOQkTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSuvuvsDsDuvuvTSIATSsDlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhsDlhlhpOpOpOpOpOpOkcgoBupOpOpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSjsjsjsjsjsjsjsjsjsTSIAIAIAIAIAIAIAIAIAIATSpOpOpOLBLBXnLBLBpOLBLBpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSuvuvsDsDuvuvTSIATSsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDlhlhpOpOpOpOpOpOGJBvOtpOpOpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSpOpOpOPOhZblblPOblblblpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSOKOKmjsDOKOKTSIATSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSpOpOpOpOpOpOBFlhlhemememTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSpOXnLBLBLBpOpOXnLBXnblUBblTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSuvuvsDsDuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOogpOpOFeogFeogpOpOpOpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSpOLBLBLBLBPOblXnblPOLBaMpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSTSTSTSTSTSTSTSTSTSTSuvuvsDsDuvuvTSZvTSTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOgtgtogFeZVpOhEpOlhlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSfvPOblHapOpOpOblpOPOhZHaCBTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSllZEiolhllDWiolhlhlhlhlhjgCOlhlhTSTSTSioioOslhioiomeTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOPzGNpOFeZVpOgtpOlhlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSioioiolhioioiolhlhuvuvWxCOCOuvuvuvlhlhioioISlhioioyWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSWAogogogogogogogoglhlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSpOfAogogogogogogogogogSIpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSioiomhlhmhPniolhlhuvuvCOCOCOCOuvuvlhlhioyWELlhioioELTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEuHuHuHuHuHuHuHuHuHwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIATSeWFrsMsMsMsMsMsMsMsMsMFreWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSioioSTlhioioiolhlhuvuvCOCOCOCOuvuvlhlhioioXFlhioioELTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSioioeJlhioiondlhlhuvuvuvCOCOuvuvuvlhlhioioMYlhioioyWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSkElhlhlhkElhlhlhlhlhlhlhTXCOlhVflhlhlhkElhlhlhkElhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSRBYYioKBRBYYiopOpOpOpOpZqKqKZgpOpOpOKBRBYYioKBRBYYioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSiohWVaMdiohWVaMdpOpOpOpOpOpOpOpOpOpOioiohWVaMdiohWVaTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSlhlhkElhlhlhkElhpOpOpOpOpORlRlRlpOeAlhlhlhkElhlhlhkETSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSlBioiolhKkioiolhpOpOpOpOpOpOpOpOpOhSlhZBKXKXlhioioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTShYioiolhioiohYlhpOpOKxpOpOpOKxpOpONElhlhlhKXlhELyWioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqIEIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSmhioiolhioiomhlhULbmUhpOpOpObmbmVpNElhWWCmKXlhELioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqIEIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSioioiolhioioiolhULLUbmpOpOpObmbmpOSglhlhlhKXlhyWioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEIEIEIEIEIEIEIEIEIEIEIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSlloliolhlleViolhpOpOpOpOpOpOfkpOpOkxlhWWCmKXlhBeioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAZvTSTSTSTSTSTSTSTSTSpOpOpOhuaaaaljpOpONElhlhlhlhlhlhlhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIATSrPuDuDUYUYuDuDuDuDTSTSoQTSoQoQoQTSoQoQoQTSFzpOpOLBLBXnLBXnblyGLBpOQkTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSpeuvsDsDuvlxTSIATSsDlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhlhsDlhlhpOpOpOpOpOpOkcgoBupOpOpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSTSjsjsjsjslhjsjsjsjsTSTSIAIAIAIAIAIAIAIAIATSpOpOpOLBLBXnLBLBpOLBLBpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSuvuvsDsDuvuvTSIATSsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDsDlhlhpOpOpOpOpOpOGJBvOtpOpOpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSpOpOpOPOhZblblPOblblblpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSOKOKmjsDOKOKTSIATSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSpOpOpOpOpOpOBFlhlhemememTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSpOXnLBLBLBpOpOXnLBXnblUBblTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIATSuvuvsDsDuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOogpOpOFeogFeogpOqLqLpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSpOLBLBLBLBPOblXnblPOLBaMpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSTSTSTSTSTSTSTSTSTSTSuvuvsDsDuvuvTSIATSTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOgtgtogFeZVpOhEpOlhlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSfvPOblHapOpOpOblpOPOhZHaCBTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSllZEiolhllDWiolhlhlhlhlhjgCOlhlhTSTSTSioioOslhioiomeTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOPzGNpOFeZVpOgtpOlhlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSioioiolhioioiolhlhuvuvWxCOCODPuvuvlhlhioioISlhioioyWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSWAogogogogogogogoglhlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSpOfAogogogogogogogogogSIpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSioiomhlhmhPniolhlhuvuvCOCOCOCOuvuvlhlhioyWELlhioioELTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIErBuHuHuHwtrBuHuHuHwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIATSeWFrsMeZeZeZFrsMeZeZeZFreWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSioioSTlhioioiolhlhuvuvCOCOCOCOuvuvlhlhioioXFlhioioELTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSioioeJlhioiondlhlhuvuvuvCOCOuvuvuvlhlhioioMYlhioioyWTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSkElhlhlhkElhlhlhlhlhlhlhTXCOlhVflhlhlhkElhlhlhkElhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSRBYYioKBRBYYiopOpOpOpOpZqKqKZgpOpOpOKBRBYYioKBRBYYioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSiohWVaMdiohWVaMdpOpOpOpOpOpOpOpOpOpOioiohWVaMdiohWVaTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSlhlhkElhlhlhkElhpOpOpOpOpORlRlRlpOeAlhlhlhkElhlhlhkETSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSlBioiolhKkioiolhpOpOpOpOpOpOpOpOpOhSlhZBKXKXlhioioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqwtlhpOTSIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATShYioiolhioiohYlhpOpOKxpOpOpOKxpOpONElhlhlhKXlhELyWioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEmqmqmqmqmqmqmqmqmqIEIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSmhioiolhioiomhlhULbmUhpOpOpObmbmVpNElhWWCmKXlhELioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIExAmqmqmqmqmqmqmqmqIEIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSioioiolhioioiolhULLUbmpOpOpObmbmpOSglhlhlhKXlhyWioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIEIEIEIEIEIEIEIEIEIEIEIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWRaRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSlloliolhlleViolhpOpOpOpOpOpOfkpOpOkxlhWWCmKXlhBeioioTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWrjRaRaRaRaRaRaRaRaRaRaeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIATSTSTSTSTSTSTSTSTSpOpOpOhuaaaaljpOpONElhlhlhlhlhlhlhlhTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAeWeWeWeWeWeWeWeWeWeWeWeWeWIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIATSTSTSTSlhJOpOlhlhlhlhlhlhlhlhlhlhlhTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIATSNhkCkCfOpOpOpOpOpOpOxNpOUIfVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOpOpOpOpOpOpOpOxNqWwZGETSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
@@ -429,19 +436,19 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qgqgqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
qglPqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqg
-qgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqg
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqg
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSsVsVsVsVsVsVsVsVsVsVsVTSsVsVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpusVsVsVsVsVsVsVsVsVsVTSsesVsVsVsVsVsVsVsVsVsVTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpKpKpKpKpKpKpKpKpKpKpKpKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
@@ -453,9 +460,9 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpaXaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSKpsqpspspspspspspspspssqKpTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOdeTQTQTQTQTQTQTQTQTQthpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAKpZvaXaXaXaXaXaXaXaXaXaXKpIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSKpsqfapspspssqfapspspssqKpTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOBiTQTQTQTQTQTQTQTQTQthpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOBiTQTQTQTQTQTQTQGNpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOpOpOBiTQTQTQTQTQGNpOpOpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSfvpOpOpOBiTQTQTQGNpOpOpOCBTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
@@ -464,19 +471,19 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSlhlhlhlhlhpOTQpOlhlhlhlhlhTSTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTKTKTKTKTKlhegTQPzlhTKTKTKTKTKTKTKlhuvuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTKIlIlTKTKlhwnwnwnlhTKTKTKTKTKTKTKlhEFuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlhlhlhlhlhlhuvuvuvlhlhlhlhlhlhlhlhlhuvMGuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpolxlFlFLclhOPlMcTSNQMlFlxlFUQlFXMlhlhlhGATSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSlhlhlhlhlhlhuvuvuvlhlhlhlhlhlhlhlhlhuvqnuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpolFlFlFLclhOPlMcTSNQMlFlFlFUQlFXMlhlhlhGATSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSiaXZpOpOTglhuvuvuvSNvrXZpOpOpOGkOblhlhAquGTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAxAPRcococoarlhwnwnwnlhPRcococococoarlhlhpOLKTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSPRcococoarlhwnwnwnlhPRcococococoarlhlhpOLKTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSlhlhlhlhqelhltTQCllhlhlhlhqelhlhlhlhlhpOLKTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSioioioioEEXMlhJHTQLVlhKKpOpeXMMEpOpOpOpOpOLKpOoIlhsouvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSioioioioEEXMlhJHTQLVlhKKpOEZXMMEpOpOpOpOpOLKpOoIlhuvuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOSckVzIkVvTUMPRtYarUMPRcocoarCpaZaZaZpHaZhGaZaoAJuvUfuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSpOktlhlhlhlhlhnRTQxclhlhlhlhlhlhlhlhlhlhpOLKlhlhlhqnuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSTSpOktlhTKlhpOQnpOTQSclhBUfElhTKTKTKTKTKlhpOLKTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSTSpOktlhTKlhpOpOpOTQSclhBUfElhTKTKTKTKTKlhpOLKTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSvBlhpOpOpOLNpOpOpOpOktlhTKlhpOpOpOTQmZCmKXKXlhTKTKTKTKTKlhFoaoTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSLRlhOukVkVkVkVkVkVkVwYlhTKlhgRBuyuTQCYlhlhlhlhlhlhlhTKlhlhlhGATSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSLRlhSNSNSNbQSNSNSNlhlhlhlhlhjilhlhoolhlhBZlhBZlhBZlhTKlhuvtouvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSrfptlmlmlmlmlmlmDuSNjecHDMoHAjSijqOjlhlhmKlhmKlhmKlhTKlhmRuvrjTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSrfptlmlmlmlmlmlmDuSNjecHDMoHAjSijqOjlhlhmKlhmKlhmKlhTKlhmRuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSTSTSTSTSTSTSTSTSnESNYLuDuDnGuDuNdbuvlhlhSGSuKXSuSGlhTKlhuvuvuvTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSnElhSNSNSNlhjiSNlhhDlhlhlhlhkulhlhTSTSTSTSTSTSTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIATSLRlhnhnhnhbCAjapBIHpyypOpOHaPOiPpOTSIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
@@ -499,7 +506,6 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
-qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAdKIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
@@ -508,5 +514,6 @@ qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
+qgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAqgIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAIA
qgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqgqg
"}
diff --git a/maps/shuttles/uacm_ovpst_ele-d.dmm b/maps/shuttles/uacm_ovpst_ele-d.dmm
index 209e850f1a..43aa06f0d8 100644
--- a/maps/shuttles/uacm_ovpst_ele-d.dmm
+++ b/maps/shuttles/uacm_ovpst_ele-d.dmm
@@ -1,17 +1,21 @@
-"a" = (/obj/structure/machinery/door/poddoor/almayer,/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/space)
-"s" = (/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/space)
-"t" = (/obj/structure/machinery/computer/shuttle/ert/big{dir = 4; icon_state = "retro"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/space)
-"J" = (/turf/closed/wall/almayer/outer,/area/space)
-"U" = (/turf/open/floor/almayer{icon_state = "outerhull"},/area/space)
+"a" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_inner{id = "port_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"i" = (/obj/docking_port/mobile/emergency_response/pst_elevator_d,/turf/closed/wall/almayer/outer,/area/shuttle/ert)
+"s" = (/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"t" = (/obj/structure/machinery/computer/shuttle/ert/big{dir = 4; icon_state = "retro"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"v" = (/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_inner{id = "starboard_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"J" = (/turf/closed/wall/almayer/outer,/area/shuttle/ert)
+"U" = (/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
(1,1,1) = {"
-JaaaaaaaJ
-JsssssssJ
-JssUUsssJ
-JssUsUssJ
-JtsUsUssJ
-JssUsUssJ
-JssUUsssJ
-JsssssssJ
-JaaaaaaaJ
+JvUUUJvUUUJ
+JsssssssssJ
+JsssssssssJ
+JsssUUssssJ
+JsssUsUsssJ
+JtssUsUsssJ
+JsssUsUsssJ
+JsssUUssssJ
+JsssssssssJ
+JsssssssssJ
+iaUUUJaUUUJ
"}
diff --git a/maps/shuttles/uacm_ovpst_ele-e.dmm b/maps/shuttles/uacm_ovpst_ele-e.dmm
index 5718cb2ce8..623ca3e51b 100644
--- a/maps/shuttles/uacm_ovpst_ele-e.dmm
+++ b/maps/shuttles/uacm_ovpst_ele-e.dmm
@@ -1,34 +1,33 @@
-"a" = (/obj/structure/catwalk,/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"b" = (/obj/effect/decal/cargo_stripes{icon_state = "ne"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"e" = (/obj/effect/decal/cargo_stripes{icon_state = "s"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"h" = (/obj/structure/bed/chair/dropship/passenger,/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"j" = (/obj/effect/decal/cargo_stripes{icon_state = "se"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"r" = (/obj/effect/decal/cargo_stripes{icon_state = "w"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"v" = (/obj/structure/catwalk,/obj/structure/machinery/door/poddoor/almayer{id = "south_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"w" = (/obj/effect/decal/cargo_stripes{icon_state = "e"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"x" = (/obj/structure/catwalk,/obj/structure/bed/chair/dropship/passenger{dir = 1},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"y" = (/turf/closed/wall/almayer/outer,/area/shuttle/pst_elevator_e)
-"C" = (/obj/structure/machinery/computer/shuttle/ert/big{dir = 1; icon_state = "retro"},/obj/structure/catwalk,/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"E" = (/obj/structure/catwalk,/obj/structure/machinery/door/poddoor/almayer{dir = 4; id = "west_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"G" = (/obj/structure/catwalk,/obj/structure/machinery/door/poddoor/almayer{id = "east_door"; dir = 8},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"J" = (/obj/effect/decal/cargo_stripes{icon_state = "nw"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"K" = (/obj/effect/decal/cargo_stripes{icon_state = "n"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"L" = (/obj/effect/decal/cargo_stripes{icon_state = "sw"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"Q" = (/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"V" = (/obj/structure/bed/chair/dropship/passenger{dir = 1},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
-"W" = (/obj/structure/catwalk,/obj/structure/machinery/door/poddoor/almayer{id = "north_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/pst_elevator_e)
-"Z" = (/obj/effect/decal/cargo_stripes{icon_state = "open"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/pst_elevator_e)
+"a" = (/obj/structure/catwalk,/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"b" = (/obj/effect/decal/cargo_stripes{icon_state = "ne"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"e" = (/obj/effect/decal/cargo_stripes{icon_state = "s"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"h" = (/obj/structure/bed/chair/dropship/passenger{dir = 8},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"j" = (/obj/effect/decal/cargo_stripes{icon_state = "se"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"r" = (/obj/effect/decal/cargo_stripes{icon_state = "w"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"v" = (/obj/structure/catwalk,/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_inner{id = "port_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"w" = (/obj/effect/decal/cargo_stripes{icon_state = "e"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"y" = (/turf/closed/wall/almayer/outer,/area/shuttle/ert)
+"C" = (/obj/structure/catwalk,/obj/structure/machinery/computer/shuttle/ert/big{dir = 8; icon_state = "retro"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"E" = (/obj/structure/catwalk,/obj/structure/bed/chair/dropship/passenger{dir = 4},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"J" = (/obj/effect/decal/cargo_stripes{icon_state = "nw"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"K" = (/obj/effect/decal/cargo_stripes{icon_state = "n"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"L" = (/obj/effect/decal/cargo_stripes{icon_state = "sw"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"Q" = (/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"V" = (/obj/structure/bed/chair/dropship/passenger{dir = 4},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
+"W" = (/obj/structure/catwalk,/obj/structure/machinery/door/airlock/multi_tile/uacm/general/admin/elevator_inner{id = "starboard_door"},/turf/open/floor/almayer{icon_state = "outerhull"},/area/shuttle/ert)
+"Y" = (/obj/docking_port/mobile/emergency_response/pst_elevator_e,/turf/closed/wall/almayer/outer,/area/shuttle/ert)
+"Z" = (/obj/effect/decal/cargo_stripes{icon_state = "open"},/turf/open/floor/almayer{allow_construction = 0; icon_state = "plate"},/area/shuttle/ert)
(1,1,1) = {"
-yWWWWWWWWWy
-EJKKbaJKKbG
-ErZZwarZZwG
-ErZZwarZZwG
-ELeejaLeejG
-EaaaaCaaaaG
-EhhhhxhhhhG
-EQQQQaQQQQG
-EQQQQaQQQQG
-EVVVVaVVVVG
-yvvvvvvvvvy
+yWaaayWaaay
+yVQJKKKbQhy
+yVQrZZZwQhy
+yVQrZZZwQhy
+yVQLeeejQhy
+yaaaaaaaECy
+yVQJKKKbQhy
+yVQrZZZwQhy
+yVQrZZZwQhy
+yVQLeeejQhy
+Yvaaayvaaay
"}
diff --git a/maps/shuttles/uacm_ovpst_transit_L-533.dmm b/maps/shuttles/uacm_ovpst_transit_L-533.dmm
index 32a56217b8..3ace57c752 100644
--- a/maps/shuttles/uacm_ovpst_transit_L-533.dmm
+++ b/maps/shuttles/uacm_ovpst_transit_L-533.dmm
@@ -95,15 +95,6 @@
},
/turf/template_noop,
/area/shuttle/ert)
-"ig" = (
-/obj/structure/prop/invuln/dropship_parts/lifeboat{
- name = "Shuttle L-533";
- desc = "A transit shuttle, fairly big for its size. Its markings designate it as L-533, a UACM vessel.";
- desc_lore = "Transit shuttles are typically maintained by space stations and other installations where docking for medium and large ships would be impractical or outright impossible. They are also typically used to drop off and pick up cargo and/or personnel from ships during their stay. L-533 has been part of its space stations since its fairly infamous start and little is known about its design.";
- icon_state = "26,5"
- },
-/turf/template_noop,
-/area/template_noop)
"iP" = (
/turf/closed/shuttle/lifeboat/transparent,
/area/shuttle/ert)
@@ -158,7 +149,7 @@
/area/shuttle/ert)
"lS" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat{
- id = "starboard_door";
+ id = "port_door";
throw_dir = 2
},
/turf/open/shuttle/lifeboat,
@@ -237,7 +228,7 @@
icon_state = "24,02"
},
/turf/template_noop,
-/area/template_noop)
+/area/shuttle/ert)
"su" = (
/obj/structure/prop/invuln/dropship_parts/lifeboat{
name = "Twilight Paradox jump jet M-60";
@@ -294,7 +285,7 @@
/area/shuttle/ert)
"uX" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat{
- id = "Boat2-D2";
+ id = "starboard_door";
throw_dir = 1
},
/turf/open/shuttle/lifeboat{
@@ -971,7 +962,7 @@ nn
WK
"}
(23,1,1) = {"
-ig
+gS
Fd
kC
ke