diff --git a/.travis.yml b/.travis.yml
index 09cefa27b3..7474eba31d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
-#pretending we're C because otherwise ruby will initialize, even with "language: dm".
-language: c
+language: generic
+os: linux
+dist: bionic
env:
global:
@@ -12,10 +13,14 @@ cache:
addons:
apt:
packages:
- - libc6-i386
+ - libc6:i386
- libgcc1:i386
- libstdc++6:i386
- - libssl-dev:i386
+ - libssl1.1:i386
+ - g++-7
+ - g++-7-multilib
+ - gcc-multilib
+ - zlib1g:i386
before_install:
- chmod -R +x ./tools/travis
@@ -27,6 +32,7 @@ before_script:
- shopt -s globstar
script:
+ - ldd librust_g.so
- ./tools/travis/compile_and_run.sh
# Build-specific settings
diff --git a/_build_dependencies.sh b/_build_dependencies.sh
index 835e8f81c2..be33811c98 100644
--- a/_build_dependencies.sh
+++ b/_build_dependencies.sh
@@ -4,7 +4,7 @@ export SPACEMANDMM_TAG=suite-1.4
# For NanoUI + TGUI
export NODE_VERSION=12
# For the scripts in tools
-export PHP_VERSION=5.6
+export PHP_VERSION=7.2
# Byond Major
export BYOND_MAJOR=513
# Byond Minor
diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm
index b68300eeb2..5ac591042b 100644
--- a/code/__defines/_compile_options.dm
+++ b/code/__defines/_compile_options.dm
@@ -7,10 +7,6 @@
2 for preloading absolutely everything;
*/
-#define RUST_G "rust_g" // If uncommented, we will use the rust-g (https://github.com/tgstation/rust-g) native library for fast
- // logging. This requires you to have the rust_g.dll or rust_g (renamed from librust_g.so) installed in the root folder or BYOND/bin
- // The define's value should be the name of library file.
-
// ZAS Compile Options
//#define ZASDBG // Uncomment to turn on super detailed ZAS debugging that probably won't even compile.
#define MULTIZAS // Uncomment to turn on Multi-Z ZAS Support!
diff --git a/code/__defines/dcs/flags.dm b/code/__defines/dcs/flags.dm
new file mode 100644
index 0000000000..128c9f1938
--- /dev/null
+++ b/code/__defines/dcs/flags.dm
@@ -0,0 +1,41 @@
+/// Return this from `/datum/component/Initialize` or `datum/component/OnTransfer` to have the component be deleted if it's applied to an incorrect type.
+/// `parent` must not be modified if this is to be returned.
+/// This will be noted in the runtime logs
+#define COMPONENT_INCOMPATIBLE 1
+/// Returned in PostTransfer to prevent transfer, similar to `COMPONENT_INCOMPATIBLE`
+#define COMPONENT_NOTRANSFER 2
+
+/// Return value to cancel attaching
+#define ELEMENT_INCOMPATIBLE 1
+
+// /datum/element flags
+/// Causes the detach proc to be called when the host object is being deleted
+#define ELEMENT_DETACH (1 << 0)
+/**
+ * Only elements created with the same arguments given after `id_arg_index` share an element instance
+ * The arguments are the same when the text and number values are the same and all other values have the same ref
+ */
+#define ELEMENT_BESPOKE (1 << 1)
+
+// How multiple components of the exact same type are handled in the same datum
+/// old component is deleted (default)
+#define COMPONENT_DUPE_HIGHLANDER 0
+/// duplicates allowed
+#define COMPONENT_DUPE_ALLOWED 1
+/// new component is deleted
+#define COMPONENT_DUPE_UNIQUE 2
+/// old component is given the initialization args of the new
+#define COMPONENT_DUPE_UNIQUE_PASSARGS 4
+/// each component of the same type is consulted as to whether the duplicate should be allowed
+#define COMPONENT_DUPE_SELECTIVE 5
+
+//Redirection component init flags
+#define REDIRECT_TRANSFER_WITH_TURF 1
+
+//Arch
+#define ARCH_PROB "probability" //Probability for each item
+#define ARCH_MAXDROP "max_drop_amount" //each item's max drop amount
+
+//Ouch my toes!
+#define CALTROP_BYPASS_SHOES 1
+#define CALTROP_IGNORE_WALKERS 2
diff --git a/code/__defines/dcs/helpers.dm b/code/__defines/dcs/helpers.dm
new file mode 100644
index 0000000000..144e94f1fe
--- /dev/null
+++ b/code/__defines/dcs/helpers.dm
@@ -0,0 +1,15 @@
+/// Used to trigger signals and call procs registered for that signal
+/// The datum hosting the signal is automaticaly added as the first argument
+/// Returns a bitfield gathered from all registered procs
+/// Arguments given here are packaged in a list and given to _SendSignal
+#define SEND_SIGNAL(target, sigtype, arguments...) ( !target.comp_lookup || !target.comp_lookup[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) )
+
+#define SEND_GLOBAL_SIGNAL(sigtype, arguments...) ( SEND_SIGNAL(SSdcs, sigtype, ##arguments) )
+
+/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
+#define AddElement(arguments...) _AddElement(list(##arguments))
+/// A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
+#define RemoveElement(arguments...) _RemoveElement(list(##arguments))
+
+/// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments
+#define AddComponent(arguments...) _AddComponent(list(##arguments))
diff --git a/code/__defines/dcs/signals.dm b/code/__defines/dcs/signals.dm
new file mode 100644
index 0000000000..26b1d2d44a
--- /dev/null
+++ b/code/__defines/dcs/signals.dm
@@ -0,0 +1,732 @@
+// All signals. Format:
+// When the signal is called: (signal arguments)
+// All signals send the source datum of the signal as the first argument
+
+// global signals
+// These are signals which can be listened to by any component on any parent
+// start global signals with "!", this used to be necessary but now it's just a formatting choice
+
+///from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
+#define COMSIG_GLOB_NEW_Z "!new_z"
+/// called after a successful var edit somewhere in the world: (list/args)
+#define COMSIG_GLOB_VAR_EDIT "!var_edit"
+/// called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)
+#define COMSIG_GLOB_EXPLOSION "!explosion"
+/// mob was created somewhere : (mob)
+#define COMSIG_GLOB_MOB_CREATED "!mob_created"
+/// mob died somewhere : (mob , gibbed)
+#define COMSIG_GLOB_MOB_DEATH "!mob_death"
+/// global living say plug - use sparingly: (mob/speaker , message)
+#define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special"
+/// called by datum/cinematic/play() : (datum/cinematic/new_cinematic)
+#define COMSIG_GLOB_PLAY_CINEMATIC "!play_cinematic"
+ #define COMPONENT_GLOB_BLOCK_CINEMATIC (1<<0)
+/// ingame button pressed (/obj/machinery/button/button)
+#define COMSIG_GLOB_BUTTON_PRESSED "!button_pressed"
+
+/// signals from globally accessible objects
+
+///from SSsun when the sun changes position : (azimuth)
+#define COMSIG_SUN_MOVED "sun_moved"
+
+//////////////////////////////////////////////////////////////////
+
+// /datum signals
+/// when a component is added to a datum: (/datum/component)
+#define COMSIG_COMPONENT_ADDED "component_added"
+/// before a component is removed from a datum because of RemoveComponent: (/datum/component)
+#define COMSIG_COMPONENT_REMOVING "component_removing"
+/// before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
+#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted"
+/// just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
+#define COMSIG_PARENT_QDELETING "parent_qdeleting"
+/// generic topic handler (usr, href_list)
+#define COMSIG_TOPIC "handle_topic"
+
+/// fires on the target datum when an element is attached to it (/datum/element)
+#define COMSIG_ELEMENT_ATTACH "element_attach"
+/// fires on the target datum when an element is attached to it (/datum/element)
+#define COMSIG_ELEMENT_DETACH "element_detach"
+
+// /atom signals
+///from base of atom/proc/Initialize(): sent any time a new atom is created
+#define COMSIG_ATOM_CREATED "atom_created"
+//from SSatoms InitAtom - Only if the atom was not deleted or failed initialization
+#define COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE "atom_init_success"
+///from base of atom/attackby(): (/obj/item, /mob/living, params)
+#define COMSIG_PARENT_ATTACKBY "atom_attackby"
+///Return this in response if you don't want afterattack to be called
+ #define COMPONENT_NO_AFTERATTACK (1<<0)
+///from base of atom/attack_hulk(): (/mob/living/carbon/human)
+#define COMSIG_ATOM_HULK_ATTACK "hulk_attack"
+///from base of atom/animal_attack(): (/mob/user)
+#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal"
+///from base of atom/examine(): (/mob)
+#define COMSIG_PARENT_EXAMINE "atom_examine"
+///from base of atom/get_examine_name(): (/mob, list/overrides)
+#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name"
+ //Positions for overrides list
+ #define EXAMINE_POSITION_ARTICLE (1<<0)
+ #define EXAMINE_POSITION_BEFORE (1<<1)
+ //End positions
+ #define COMPONENT_EXNAME_CHANGED (1<<0)
+///from base of atom/update_icon(): ()
+#define COMSIG_ATOM_UPDATE_ICON "atom_update_icon"
+ #define COMSIG_ATOM_NO_UPDATE_ICON_STATE (1<<0)
+ #define COMSIG_ATOM_NO_UPDATE_OVERLAYS (1<<1)
+///from base of atom/update_overlays(): (list/new_overlays)
+#define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays"
+///from base of atom/update_icon(): (signalOut, did_anything)
+#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon"
+///from base of atom/Entered(): (atom/movable/entering, /atom)
+#define COMSIG_ATOM_ENTERED "atom_entered"
+///from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc)
+#define COMSIG_ATOM_EXIT "atom_exit"
+ #define COMPONENT_ATOM_BLOCK_EXIT (1<<0)
+///from base of atom/Exited(): (atom/movable/exiting, atom/newloc)
+#define COMSIG_ATOM_EXITED "atom_exited"
+///from base of atom/Bumped(): (/atom/movable)
+#define COMSIG_ATOM_BUMPED "atom_bumped"
+///from base of atom/ex_act(): (severity, target)
+#define COMSIG_ATOM_EX_ACT "atom_ex_act"
+///from base of atom/emp_act(): (severity)
+#define COMSIG_ATOM_EMP_ACT "atom_emp_act"
+///from base of atom/fire_act(): (exposed_temperature, exposed_volume)
+#define COMSIG_ATOM_FIRE_ACT "atom_fire_act"
+///from base of atom/bullet_act(): (/obj/projectile, def_zone)
+#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act"
+///from base of atom/blob_act(): (/obj/structure/blob)
+#define COMSIG_ATOM_BLOB_ACT "atom_blob_act"
+///from base of atom/acid_act(): (acidpwr, acid_volume)
+#define COMSIG_ATOM_ACID_ACT "atom_acid_act"
+///from base of atom/emag_act(): (/mob/user)
+#define COMSIG_ATOM_EMAG_ACT "atom_emag_act"
+///from base of atom/rad_act(intensity)
+#define COMSIG_ATOM_RAD_ACT "atom_rad_act"
+///from base of atom/narsie_act(): ()
+#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act"
+///from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
+#define COMSIG_ATOM_RCD_ACT "atom_rcd_act"
+///from base of atom/singularity_pull(): (S, current_size)
+#define COMSIG_ATOM_SING_PULL "atom_sing_pull"
+///from obj/machinery/bsa/full/proc/fire(): ()
+#define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass"
+ #define COMSIG_ATOM_BLOCKS_BSA_BEAM (1<<0)
+///from base of atom/set_light(): (l_range, l_power, l_color)
+#define COMSIG_ATOM_SET_LIGHT "atom_set_light"
+///from base of atom/setDir(): (old_dir, new_dir)
+#define COMSIG_ATOM_DIR_CHANGE "atom_dir_change"
+///from base of atom/handle_atom_del(): (atom/deleted)
+#define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del"
+///from base of atom/has_gravity(): (turf/location, list/forced_gravities)
+#define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity"
+///from proc/get_rad_contents(): ()
+#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe"
+ #define COMPONENT_BLOCK_RADIATION (1<<0)
+///from base of datum/radiation_wave/radiate(): (strength)
+#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam"
+ #define COMPONENT_BLOCK_CONTAMINATION (1<<0)
+///from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width)
+#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass"
+ #define COMPONENT_RAD_WAVE_HANDLED (1<<0)
+///from internal loop in atom/movable/proc/CanReach(): (list/next)
+#define COMSIG_ATOM_CANREACH "atom_can_reach"
+ #define COMPONENT_BLOCK_REACH (1<<0)
+///from base of atom/screwdriver_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act"
+///from base of atom/wrench_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_WRENCH_ACT "atom_wrench_act"
+///from base of atom/multitool_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_MULTITOOL_ACT "atom_multitool_act"
+///from base of atom/welder_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_WELDER_ACT "atom_welder_act"
+///from base of atom/wirecutter_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_WIRECUTTER_ACT "atom_wirecutter_act"
+///from base of atom/crowbar_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_CROWBAR_ACT "atom_crowbar_act"
+///from base of atom/analyser_act(): (mob/living/user, obj/item/I)
+#define COMSIG_ATOM_ANALYSER_ACT "atom_analyser_act"
+ #define COMPONENT_BLOCK_TOOL_ATTACK (1<<0)
+///called when teleporting into a protected turf: (channel, turf/origin)
+#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport"
+ #define COMPONENT_BLOCK_TELEPORT (1<<0)
+///called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)
+#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view"
+///called when an atom starts orbiting another atom: (atom)
+#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin"
+///called when an atom stops orbiting another atom: (atom)
+#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop"
+/////////////////
+///from base of atom/attack_ghost(): (mob/dead/observer/ghost)
+#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost"
+///from base of atom/attack_hand(): (mob/user)
+#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand"
+///from base of atom/attack_paw(): (mob/user)
+#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw"
+ #define COMPONENT_NO_ATTACK_HAND (1<<0) //works on all 3.
+//This signal return value bitflags can be found in __DEFINES/misc.dm
+
+///called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
+#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact"
+///called on a movable (NOT living) when someone starts pulling it (atom/movable/puller, state, force)
+#define COMSIG_ATOM_START_PULL "movable_start_pull"
+///called on /living when someone starts pulling it (atom/movable/puller, state, force)
+#define COMSIG_LIVING_START_PULL "living_start_pull"
+
+/////////////////
+
+///from base of area/Entered(): (/area)
+#define COMSIG_ENTER_AREA "enter_area"
+///from base of area/Exited(): (/area)
+#define COMSIG_EXIT_AREA "exit_area"
+///from base of atom/Click(): (location, control, params, mob/user)
+#define COMSIG_CLICK "atom_click"
+///from base of atom/ShiftClick(): (/mob)
+#define COMSIG_CLICK_SHIFT "shift_click"
+ #define COMPONENT_ALLOW_EXAMINATE (1<<0) //Allows the user to examinate regardless of client.eye.
+///from base of atom/CtrlClickOn(): (/mob)
+#define COMSIG_CLICK_CTRL "ctrl_click"
+///from base of atom/AltClick(): (/mob)
+#define COMSIG_CLICK_ALT "alt_click"
+///from base of atom/CtrlShiftClick(/mob)
+#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click"
+///from base of atom/MouseDrop(): (/atom/over, /mob/user)
+#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto"
+ #define COMPONENT_NO_MOUSEDROP (1<<0)
+///from base of atom/MouseDrop_T: (/atom/from, /mob/user)
+#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto"
+
+// /area signals
+
+///from base of area/Entered(): (atom/movable/M)
+#define COMSIG_AREA_ENTERED "area_entered"
+///from base of area/Exited(): (atom/movable/M)
+#define COMSIG_AREA_EXITED "area_exited"
+
+// /turf signals
+
+///from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps)
+#define COMSIG_TURF_CHANGE "turf_change"
+///from base of atom/has_gravity(): (atom/asker, list/forced_gravities)
+#define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity"
+///from base of turf/New(): (turf/source, direction)
+#define COMSIG_TURF_MULTIZ_NEW "turf_multiz_new"
+
+// /atom/movable signals
+
+///from base of atom/movable/Moved(): (/atom)
+#define COMSIG_MOVABLE_PRE_MOVE "movable_pre_move"
+ #define COMPONENT_MOVABLE_BLOCK_PRE_MOVE (1<<0)
+///from base of atom/movable/Moved(): (/atom, dir)
+#define COMSIG_MOVABLE_MOVED "movable_moved"
+///from base of atom/movable/Cross(): (/atom/movable)
+#define COMSIG_MOVABLE_CROSS "movable_cross"
+///from base of atom/movable/Crossed(): (/atom/movable)
+#define COMSIG_MOVABLE_CROSSED "movable_crossed"
+///when we cross over something (calling Crossed() on that atom)
+#define COMSIG_CROSSED_MOVABLE "crossed_movable"
+///from base of atom/movable/Uncross(): (/atom/movable)
+#define COMSIG_MOVABLE_UNCROSS "movable_uncross"
+ #define COMPONENT_MOVABLE_BLOCK_UNCROSS (1<<0)
+///from base of atom/movable/Uncrossed(): (/atom/movable)
+#define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed"
+///from base of atom/movable/Bump(): (/atom)
+#define COMSIG_MOVABLE_BUMP "movable_bump"
+///from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)
+#define COMSIG_MOVABLE_IMPACT "movable_impact"
+ #define COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH (1<<0) //if true, flip if the impact will push what it hits
+ #define COMPONENT_MOVABLE_IMPACT_NEVERMIND (1<<1) //return true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on
+///from base of mob/living/hitby(): (mob/living/target, hit_zone)
+#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone"
+///from base of atom/movable/buckle_mob(): (mob, force)
+#define COMSIG_MOVABLE_BUCKLE "buckle"
+///from base of atom/movable/unbuckle_mob(): (mob, force)
+#define COMSIG_MOVABLE_UNBUCKLE "unbuckle"
+///from base of atom/movable/throw_at(): (list/args)
+#define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw"
+ #define COMPONENT_CANCEL_THROW (1<<0)
+///from base of atom/movable/throw_at(): (datum/thrownthing, spin)
+#define COMSIG_MOVABLE_POST_THROW "movable_post_throw"
+///from base of atom/movable/onTransitZ(): (old_z, new_z)
+#define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit"
+///called when the movable is placed in an unaccessible area, used for stationloving: ()
+#define COMSIG_MOVABLE_SECLUDED_LOCATION "movable_secluded"
+///from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode))
+#define COMSIG_MOVABLE_HEAR "movable_hear"
+ #define HEARING_MESSAGE 1
+ #define HEARING_SPEAKER 2
+// #define HEARING_LANGUAGE 3
+ #define HEARING_RAW_MESSAGE 4
+ /* #define HEARING_RADIO_FREQ 5
+ #define HEARING_SPANS 6
+ #define HEARING_MESSAGE_MODE 7 */
+
+///called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
+#define COMSIG_MOVABLE_DISPOSING "movable_disposing"
+
+// /mob signals
+
+///from base of /mob/Login(): ()
+#define COMSIG_MOB_LOGIN "mob_login"
+///from base of /mob/Logout(): ()
+#define COMSIG_MOB_LOGOUT "mob_logout"
+///from base of mob/death(): (gibbed)
+#define COMSIG_MOB_DEATH "mob_death"
+///from base of mob/set_stat(): (new_stat)
+#define COMSIG_MOB_STATCHANGE "mob_statchange"
+///from base of mob/clickon(): (atom/A, params)
+#define COMSIG_MOB_CLICKON "mob_clickon"
+///from base of mob/MiddleClickOn(): (atom/A)
+#define COMSIG_MOB_MIDDLECLICKON "mob_middleclickon"
+///from base of mob/AltClickOn(): (atom/A)
+#define COMSIG_MOB_ALTCLICKON "mob_altclickon"
+ #define COMSIG_MOB_CANCEL_CLICKON (1<<0)
+
+///from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
+#define COMSIG_MOB_ALLOWED "mob_allowed"
+///from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)
+#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic"
+ #define COMPONENT_BLOCK_MAGIC (1<<0)
+///from base of mob/create_mob_hud(): ()
+#define COMSIG_MOB_HUD_CREATED "mob_hud_created"
+///from base of atom/attack_hand(): (mob/user)
+#define COMSIG_MOB_ATTACK_HAND "mob_attack_hand"
+///from base of /obj/item/attack(): (mob/M, mob/user)
+#define COMSIG_MOB_ITEM_ATTACK "mob_item_attack"
+ #define COMPONENT_ITEM_NO_ATTACK (1<<0)
+///from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)
+#define COMSIG_MOB_APPLY_DAMGE "mob_apply_damage"
+///from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
+#define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack"
+///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, proxiumity_flag, click_parameters)
+#define COMSIG_MOB_ITEM_ATTACK_QDELETED "mob_item_attack_qdeleted"
+///from base of mob/RangedAttack(): (atom/A, params)
+#define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged"
+///from base of /mob/throw_item(): (atom/target)
+#define COMSIG_MOB_THROW "mob_throw"
+///from base of /mob/verb/examinate(): (atom/target)
+#define COMSIG_MOB_EXAMINATE "mob_examinate"
+///from base of /mob/update_sight(): ()
+#define COMSIG_MOB_UPDATE_SIGHT "mob_update_sight"
+////from /mob/living/say(): ()
+#define COMSIG_MOB_SAY "mob_say"
+ #define COMPONENT_UPPERCASE_SPEECH (1<<0)
+ // used to access COMSIG_MOB_SAY argslist
+ #define SPEECH_MESSAGE 1
+ // #define SPEECH_BUBBLE_TYPE 2
+ #define SPEECH_SPANS 3
+ /* #define SPEECH_SANITIZE 4
+ #define SPEECH_LANGUAGE 5
+ #define SPEECH_IGNORE_SPAM 6
+ #define SPEECH_FORCED 7 */
+
+///from /mob/say_dead(): (mob/speaker, message)
+#define COMSIG_MOB_DEADSAY "mob_deadsay"
+ #define MOB_DEADSAY_SIGNAL_INTERCEPT (1<<0)
+///from /mob/living/emote(): ()
+#define COMSIG_MOB_EMOTE "mob_emote"
+///from base of mob/swap_hand(): (obj/item)
+#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands"
+ #define COMPONENT_BLOCK_SWAP (1<<0)
+
+// /mob/living signals
+
+///from base of mob/living/resist() (/mob/living)
+#define COMSIG_LIVING_RESIST "living_resist"
+///from base of mob/living/IgniteMob() (/mob/living)
+#define COMSIG_LIVING_IGNITED "living_ignite"
+///from base of mob/living/ExtinguishMob() (/mob/living)
+#define COMSIG_LIVING_EXTINGUISHED "living_extinguished"
+///from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
+#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act"
+///sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
+#define COMSIG_LIVING_SHOCK_PREVENTED "living_shock_prevented"
+///sent by stuff like stunbatons and tasers: ()
+#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock"
+///from base of mob/living/revive() (full_heal, admin_revive)
+#define COMSIG_LIVING_REVIVE "living_revive"
+///from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
+#define COMSIG_LIVING_REGENERATE_LIMBS "living_regen_limbs"
+///from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
+#define COMSIG_LIVING_ATTACH_LIMB "living_attach_limb"
+ #define COMPONENT_NO_ATTACH (1<<0)
+///sent from borg recharge stations: (amount, repairs)
+#define COMSIG_PROCESS_BORGCHARGER_OCCUPANT "living_charge"
+///sent when a mob/login() finishes: (client)
+#define COMSIG_MOB_CLIENT_LOGIN "comsig_mob_client_login"
+///sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)
+#define COMSIG_BORG_SAFE_DECONSTRUCT "borg_safe_decon"
+
+//ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS!
+
+///from base of mob/living/Stun() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_STUN "living_stun"
+///from base of mob/living/Knockdown() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown"
+///from base of mob/living/Paralyze() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_PARALYZE "living_paralyze"
+///from base of mob/living/Immobilize() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_IMMOBILIZE "living_immobilize"
+///from base of mob/living/Unconscious() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_UNCONSCIOUS "living_unconscious"
+///from base of mob/living/Sleeping() (amount, update, ignore)
+#define COMSIG_LIVING_STATUS_SLEEP "living_sleeping"
+ #define COMPONENT_NO_STUN (1<<0) //For all of them
+///from base of /mob/living/can_track(): (mob/user)
+#define COMSIG_LIVING_CAN_TRACK "mob_cantrack"
+ #define COMPONENT_CANT_TRACK (1<<0)
+
+// /mob/living/carbon signals
+
+///from base of mob/living/carbon/soundbang_act(): (list(intensity))
+#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang"
+///from /item/organ/proc/Insert() (/obj/item/organ/)
+#define COMSIG_CARBON_GAIN_ORGAN "carbon_gain_organ"
+///from /item/organ/proc/Remove() (/obj/item/organ/)
+#define COMSIG_CARBON_LOSE_ORGAN "carbon_lose_organ"
+///from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)
+#define COMSIG_CARBON_EQUIP_HAT "carbon_equip_hat"
+///from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)
+#define COMSIG_CARBON_UNEQUIP_HAT "carbon_unequip_hat"
+///defined twice, in carbon and human's topics, fired when interacting with a valid embedded_object to pull it out (mob/living/carbon/target, /obj/item, /obj/item/bodypart/L)
+#define COMSIG_CARBON_EMBED_RIP "item_embed_start_rip"
+///called when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item)
+#define COMSIG_CARBON_EMBED_REMOVAL "item_embed_remove_safe"
+
+// /mob/living/simple_animal/hostile signals
+#define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget"
+ #define COMPONENT_HOSTILE_NO_ATTACK (1<<0)
+
+// /obj signals
+
+///from base of obj/deconstruct(): (disassembled)
+#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct"
+///called in /obj/structure/setAnchored(): (value)
+#define COMSIG_OBJ_SETANCHORED "obj_setanchored"
+///from base of code/game/machinery
+#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench"
+///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide
+#define COMSIG_OBJ_HIDE "obj_hide"
+///called in /obj/update_icon()
+#define COMSIG_OBJ_UPDATE_ICON "obj_update_icon"
+
+// /obj/machinery signals
+
+///from /obj/machinery/obj_break(damage_flag): (damage_flag)
+#define COMSIG_MACHINERY_BROKEN "machinery_broken"
+///from base power_change() when power is lost
+#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost"
+///from base power_change() when power is restored
+#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored"
+
+// /obj/item signals
+
+///from base of obj/item/attack(): (/mob/living/target, /mob/living/user)
+#define COMSIG_ITEM_ATTACK "item_attack"
+///from base of obj/item/attack_self(): (/mob)
+#define COMSIG_ITEM_ATTACK_SELF "item_attack_self"
+ #define COMPONENT_NO_INTERACT (1<<0)
+///from base of obj/item/attack_obj(): (/obj, /mob)
+#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj"
+ #define COMPONENT_NO_ATTACK_OBJ (1<<0)
+///from base of obj/item/pre_attack(): (atom/target, mob/user, params)
+#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack"
+ #define COMPONENT_NO_ATTACK (1<<0)
+///from base of obj/item/afterattack(): (atom/target, mob/user, params)
+#define COMSIG_ITEM_AFTERATTACK "item_afterattack"
+///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)
+#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted"
+///from base of obj/item/equipped(): (/mob/equipper, slot)
+#define COMSIG_ITEM_EQUIPPED "item_equip"
+///from base of obj/item/dropped(): (mob/user)
+#define COMSIG_ITEM_DROPPED "item_drop"
+///from base of obj/item/pickup(): (/mob/taker)
+#define COMSIG_ITEM_PICKUP "item_pickup"
+///from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)
+#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone"
+///return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user)
+#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul"
+///called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user)
+#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval"
+ #define COMPONENT_BLOCK_MARK_RETRIEVAL (1<<0)
+///from base of obj/item/hit_reaction(): (list/args)
+#define COMSIG_ITEM_HIT_REACT "item_hit_react"
+///called on item when crossed by something (): (/atom/movable, mob/living/crossed)
+#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed"
+///called on item when microwaved (): (obj/machinery/microwave/M)
+#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act"
+///from base of item/sharpener/attackby(): (amount, max)
+#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act"
+ #define COMPONENT_BLOCK_SHARPEN_APPLIED (1<<0)
+ #define COMPONENT_BLOCK_SHARPEN_BLOCKED (1<<1)
+ #define COMPONENT_BLOCK_SHARPEN_ALREADY (1<<2)
+ #define COMPONENT_BLOCK_SHARPEN_MAXED (1<<3)
+///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user)
+#define COMSIG_TOOL_IN_USE "tool_in_use"
+///from base of [/obj/item/proc/tool_start_check]: (mob/living/user)
+#define COMSIG_TOOL_START_USE "tool_start_use"
+///from [/obj/item/proc/disableEmbedding]:
+#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed"
+///from [/obj/effect/mine/proc/triggermine]:
+#define COMSIG_MINE_TRIGGERED "minegoboom"
+
+// /obj/item signals for economy
+///called when an item is sold by the exports subsystem
+#define COMSIG_ITEM_SOLD "item_sold"
+///called when a wrapped up structure is opened by hand
+#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped"
+#define COMSIG_ITEM_UNWRAPPED "item_unwrapped"
+///called when a wrapped up item is opened by hand
+ #define COMSIG_ITEM_SPLIT_VALUE (1<<0)
+///called when getting the item's exact ratio for cargo's profit.
+#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits"
+///called when getting the item's exact ratio for cargo's profit, without selling the item.
+#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry"
+
+// /obj/item/clothing signals
+
+///from base of obj/item/clothing/shoes/proc/step_action(): ()
+#define COMSIG_SHOES_STEP_ACTION "shoes_step_action"
+///from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit)
+#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle"
+
+// /obj/item/implant signals
+///from base of /obj/item/implant/proc/activate(): ()
+#define COMSIG_IMPLANT_ACTIVATED "implant_activated"
+///from base of /obj/item/implant/proc/implant(): (list/args)
+#define COMSIG_IMPLANT_IMPLANTING "implant_implanting"
+ #define COMPONENT_STOP_IMPLANTING (1<<0)
+///called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant)
+#define COMSIG_IMPLANT_OTHER "implant_other"
+ //#define COMPONENT_STOP_IMPLANTING (1<<0) //The name makes sense for both
+ #define COMPONENT_DELETE_NEW_IMPLANT (1<<1)
+ #define COMPONENT_DELETE_OLD_IMPLANT (1<<2)
+///called on implants being implanted into someone with an uplink implant: (datum/component/uplink)
+#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists"
+ //This uses all return values of COMSIG_IMPLANT_OTHER
+
+// /obj/item/pda signals
+
+///called on pda when the user changes the ringtone: (mob/living/user, new_ringtone)
+#define COMSIG_PDA_CHANGE_RINGTONE "pda_change_ringtone"
+ #define COMPONENT_STOP_RINGTONE_CHANGE (1<<0)
+#define COMSIG_PDA_CHECK_DETONATE "pda_check_detonate"
+ #define COMPONENT_PDA_NO_DETONATE (1<<0)
+
+// /obj/item/radio signals
+
+///called from base of /obj/item/radio/proc/set_frequency(): (list/args)
+#define COMSIG_RADIO_NEW_FREQUENCY "radio_new_frequency"
+
+// /obj/item/pen signals
+
+///called after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user)
+#define COMSIG_PEN_ROTATED "pen_rotated"
+
+// /obj/item/gun signals
+
+///called in /obj/item/gun/process_fire (user, target, params, zone_override)
+#define COMSIG_MOB_FIRED_GUN "mob_fired_gun"
+
+// /obj/item/grenade signals
+
+///called in /obj/item/gun/process_fire (user, target, params, zone_override)
+#define COMSIG_GRENADE_PRIME "grenade_prime"
+///called in /obj/item/gun/process_fire (user, target, params, zone_override)
+#define COMSIG_GRENADE_ARMED "grenade_armed"
+
+// /obj/projectile signals (sent to the firer)
+
+///from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
+#define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit"
+///from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle)
+#define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit"
+///from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)
+#define COMSIG_PROJECTILE_BEFORE_FIRE "projectile_before_fire"
+///from the base of /obj/projectile/proc/fire(): ()
+#define COMSIG_PROJECTILE_FIRE "projectile_fire"
+///sent to targets during the process_hit proc of projectiles
+#define COMSIG_PROJECTILE_PREHIT "com_proj_prehit"
+///sent to targets during the process_hit proc of projectiles
+#define COMSIG_PROJECTILE_RANGE_OUT "projectile_range_out"
+///sent when trying to force an embed (mainly for projectiles, only used in the embed element)
+#define COMSIG_EMBED_TRY_FORCE "item_try_embed"
+
+///sent to targets during the process_hit proc of projectiles
+#define COMSIG_PELLET_CLOUD_INIT "pellet_cloud_init"
+
+// /obj/mecha signals
+
+///sent from mecha action buttons to the mecha they're linked to
+#define COMSIG_MECHA_ACTION_ACTIVATE "mecha_action_activate"
+
+// /mob/living/carbon/human signals
+
+///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity)
+#define COMSIG_HUMAN_EARLY_UNARMED_ATTACK "human_early_unarmed_attack"
+///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity)
+#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack"
+///from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker)
+#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby"
+///Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)
+#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit"
+///Whenever EquipRanked is called, called after job is set
+#define COMSIG_JOB_RECEIVED "job_received"
+
+// /datum/species signals
+
+///from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
+#define COMSIG_SPECIES_GAIN "species_gain"
+///from datum/species/on_species_loss(): (datum/species/lost_species)
+#define COMSIG_SPECIES_LOSS "species_loss"
+
+// /datum/song signals
+
+///sent to the instrument when a song starts playing
+#define COMSIG_SONG_START "song_start"
+///sent to the instrument when a song stops playing
+#define COMSIG_SONG_END "song_end"
+
+/*******Component Specific Signals*******/
+//Janitor
+
+///(): Returns bitflags of wet values.
+#define COMSIG_TURF_IS_WET "check_turf_wet"
+///(max_strength, immediate, duration_decrease = INFINITY): Returns bool.
+#define COMSIG_TURF_MAKE_DRY "make_turf_try"
+///called on an object to clean it of cleanables. Usualy with soap: (num/strength)
+#define COMSIG_COMPONENT_CLEAN_ACT "clean_act"
+
+//Creamed
+
+///called when you wash your face at a sink: (num/strength)
+#define COMSIG_COMPONENT_CLEAN_FACE_ACT "clean_face_act"
+
+//Food
+
+///from base of obj/item/reagent_containers/food/snacks/attack(): (mob/living/eater, mob/feeder)
+#define COMSIG_FOOD_EATEN "food_eaten"
+
+//Gibs
+
+///from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)
+#define COMSIG_GIBS_STREAK "gibs_streak"
+
+//Mood
+
+///called when you send a mood event from anywhere in the code.
+#define COMSIG_ADD_MOOD_EVENT "add_mood"
+///Mood event that only RnD members listen for
+#define COMSIG_ADD_MOOD_EVENT_RND "RND_add_mood"
+///called when you clear a mood event from anywhere in the code.
+#define COMSIG_CLEAR_MOOD_EVENT "clear_mood"
+
+//NTnet
+
+///called on an object by its NTNET connection component on receive. (sending_id(number), sending_netname(text), data(datum/netdata))
+#define COMSIG_COMPONENT_NTNET_RECEIVE "ntnet_receive"
+
+//Nanites
+
+///() returns TRUE if nanites are found
+#define COMSIG_HAS_NANITES "has_nanites"
+///() returns TRUE if nanites have stealth
+#define COMSIG_NANITE_IS_STEALTHY "nanite_is_stealthy"
+///() deletes the nanite component
+#define COMSIG_NANITE_DELETE "nanite_delete"
+///(list/nanite_programs) - makes the input list a copy the nanites' program list
+#define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs"
+///(amount) Returns nanite amount
+#define COMSIG_NANITE_GET_VOLUME "nanite_get_volume"
+///(amount) Sets current nanite volume to the given amount
+#define COMSIG_NANITE_SET_VOLUME "nanite_set_volume"
+///(amount) Adjusts nanite volume by the given amount
+#define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust"
+///(amount) Sets maximum nanite volume to the given amount
+#define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume"
+///(amount(0-100)) Sets cloud ID to the given amount
+#define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud"
+///(method) Modify cloud sync status. Method can be toggle, enable or disable
+#define COMSIG_NANITE_SET_CLOUD_SYNC "nanite_set_cloud_sync"
+///(amount) Sets safety threshold to the given amount
+#define COMSIG_NANITE_SET_SAFETY "nanite_set_safety"
+///(amount) Sets regeneration rate to the given amount
+#define COMSIG_NANITE_SET_REGEN "nanite_set_regen"
+///(code(1-9999)) Called when sending a nanite signal to a mob.
+#define COMSIG_NANITE_SIGNAL "nanite_signal"
+///(comm_code(1-9999), comm_message) Called when sending a nanite comm signal to a mob.
+#define COMSIG_NANITE_COMM_SIGNAL "nanite_comm_signal"
+///(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected
+#define COMSIG_NANITE_SCAN "nanite_scan"
+///(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs
+#define COMSIG_NANITE_UI_DATA "nanite_ui_data"
+///(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component
+#define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program"
+ ///Installation successful
+ #define COMPONENT_PROGRAM_INSTALLED (1<<0)
+ ///Installation failed, but there are still nanites
+ #define COMPONENT_PROGRAM_NOT_INSTALLED (1<<1)
+///(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component
+#define COMSIG_NANITE_SYNC "nanite_sync"
+
+// /datum/component/storage signals
+
+///() - returns bool.
+#define COMSIG_CONTAINS_STORAGE "is_storage"
+///(obj/item/inserting, mob/user, silent, force) - returns bool
+#define COMSIG_TRY_STORAGE_INSERT "storage_try_insert"
+///(mob/show_to, force) - returns bool.
+#define COMSIG_TRY_STORAGE_SHOW "storage_show_to"
+///(mob/hide_from) - returns bool
+#define COMSIG_TRY_STORAGE_HIDE_FROM "storage_hide_from"
+///returns bool
+#define COMSIG_TRY_STORAGE_HIDE_ALL "storage_hide_all"
+///(newstate)
+#define COMSIG_TRY_STORAGE_SET_LOCKSTATE "storage_lock_set_state"
+///() - returns bool. MUST CHECK IF STORAGE IS THERE FIRST!
+#define COMSIG_IS_STORAGE_LOCKED "storage_get_lockstate"
+///(type, atom/destination, amount = INFINITY, check_adjacent, force, mob/user, list/inserted) - returns bool - type can be a list of types.
+#define COMSIG_TRY_STORAGE_TAKE_TYPE "storage_take_type"
+///(type, amount = INFINITY, force = FALSE). Force will ignore max_items, and amount is normally clamped to max_items.
+#define COMSIG_TRY_STORAGE_FILL_TYPE "storage_fill_type"
+///(obj, new_loc, force = FALSE) - returns bool
+#define COMSIG_TRY_STORAGE_TAKE "storage_take_obj"
+///(loc) - returns bool - if loc is null it will dump at parent location.
+#define COMSIG_TRY_STORAGE_QUICK_EMPTY "storage_quick_empty"
+///(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE)
+#define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory"
+///(obj/item/insertion_candidate, mob/user, silent) - returns bool
+#define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip"
+
+// /datum/component/two_handed signals
+
+///from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)
+#define COMSIG_TWOHANDED_WIELD "twohanded_wield"
+ #define COMPONENT_TWOHANDED_BLOCK_WIELD (1<<0)
+///from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)
+#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield"
+
+// /datum/action signals
+
+///from base of datum/action/proc/Trigger(): (datum/action)
+#define COMSIG_ACTION_TRIGGER "action_trigger"
+ #define COMPONENT_ACTION_BLOCK_TRIGGER (1<<0)
+
+//Xenobio hotkeys
+
+///from slime CtrlClickOn(): (/mob)
+#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl"
+///from slime AltClickOn(): (/mob)
+#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt"
+///from slime ShiftClickOn(): (/mob)
+#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift"
+///from turf ShiftClickOn(): (/mob)
+#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift"
+///from turf AltClickOn(): (/mob)
+#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt"
+///from monkey CtrlClickOn(): (/mob)
+#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl"
+
+///SSalarm signals
+#define COMSIG_TRIGGERED_ALARM "ssalarm_triggered"
+#define COMSIG_CANCELLED_ALARM "ssalarm_cancelled"
diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm
index 3056e6a8a6..82b1eabc60 100644
--- a/code/__defines/misc.dm
+++ b/code/__defines/misc.dm
@@ -155,6 +155,8 @@
#define MAT_METALHYDROGEN "mhydrogen"
#define MAT_OSMIUM "osmium"
#define MAT_GRAPHITE "graphite"
+#define MAT_LEATHER "leather"
+#define MAT_CHITIN "chitin"
#define SHARD_SHARD "shard"
#define SHARD_SHRAPNEL "shrapnel"
diff --git a/code/__defines/rust_g.dm b/code/__defines/rust_g.dm
new file mode 100644
index 0000000000..9c9e2637ce
--- /dev/null
+++ b/code/__defines/rust_g.dm
@@ -0,0 +1,103 @@
+// rust_g.dm - DM API for rust_g extension library
+//
+// To configure, create a `rust_g.config.dm` and set what you care about from
+// the following options:
+//
+// #define RUST_G "path/to/rust_g"
+// Override the .dll/.so detection logic with a fixed path or with detection
+// logic of your own.
+//
+// #define RUSTG_OVERRIDE_BUILTINS
+// Enable replacement rust-g functions for certain builtins. Off by default.
+
+#ifndef RUST_G
+// Default automatic RUST_G detection.
+// On Windows, looks in the standard places for `rust_g.dll`.
+// On Linux, looks in `.`, `$LD_LIBRARY_PATH`, and `~/.byond/bin` for either of
+// `librust_g.so` (preferred) or `rust_g` (old).
+
+/* This comment bypasses grep checks */ /var/__rust_g
+
+/proc/__detect_rust_g()
+ if (world.system_type == UNIX)
+ if (fexists("./librust_g.so"))
+ // No need for LD_LIBRARY_PATH badness.
+ return __rust_g = "./librust_g.so"
+ else if (fexists("./rust_g"))
+ // Old dumb filename.
+ return __rust_g = "./rust_g"
+ else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/rust_g"))
+ // Old dumb filename in `~/.byond/bin`.
+ return __rust_g = "rust_g"
+ else
+ // It's not in the current directory, so try others
+ return __rust_g = "librust_g.so"
+ else
+ return __rust_g = "rust_g"
+
+#define RUST_G (__rust_g || __detect_rust_g())
+#endif
+
+#define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET"
+#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB"
+#define RUSTG_JOB_ERROR "JOB PANICKED"
+
+#define rustg_dmi_strip_metadata(fname) call(RUST_G, "dmi_strip_metadata")(fname)
+#define rustg_dmi_create_png(path, width, height, data) call(RUST_G, "dmi_create_png")(path, width, height, data)
+
+#define rustg_noise_get_at_coordinates(seed, x, y) call(RUST_G, "noise_get_at_coordinates")(seed, x, y)
+
+#define rustg_file_read(fname) call(RUST_G, "file_read")(fname)
+#define rustg_file_exists(fname) call(RUST_G, "file_exists")(fname)
+#define rustg_file_write(text, fname) call(RUST_G, "file_write")(text, fname)
+#define rustg_file_append(text, fname) call(RUST_G, "file_append")(text, fname)
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define file2text(fname) rustg_file_read("[fname]")
+#define text2file(text, fname) rustg_file_append(text, "[fname]")
+#endif
+
+#define rustg_git_revparse(rev) call(RUST_G, "rg_git_revparse")(rev)
+#define rustg_git_commit_date(rev) call(RUST_G, "rg_git_commit_date")(rev)
+
+#define rustg_hash_string(algorithm, text) call(RUST_G, "hash_string")(algorithm, text)
+#define rustg_hash_file(algorithm, fname) call(RUST_G, "hash_file")(algorithm, fname)
+
+#define RUSTG_HASH_MD5 "md5"
+#define RUSTG_HASH_SHA1 "sha1"
+#define RUSTG_HASH_SHA256 "sha256"
+#define RUSTG_HASH_SHA512 "sha512"
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing))
+#endif
+
+#define rustg_json_is_valid(text) (call(RUST_G, "json_is_valid")(text) == "true")
+
+#define rustg_log_write(fname, text, format) call(RUST_G, "log_write")(fname, text, format)
+/proc/rustg_log_close_all() return call(RUST_G, "log_close_all")()
+
+#define rustg_url_encode(text) call(RUST_G, "url_encode")(text)
+#define rustg_url_decode(text) call(RUST_G, "url_decode")(text)
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define url_encode(text) rustg_url_encode(text)
+#define url_decode(text) rustg_url_decode(text)
+#endif
+
+#define RUSTG_HTTP_METHOD_GET "get"
+#define RUSTG_HTTP_METHOD_PUT "put"
+#define RUSTG_HTTP_METHOD_DELETE "delete"
+#define RUSTG_HTTP_METHOD_PATCH "patch"
+#define RUSTG_HTTP_METHOD_HEAD "head"
+#define RUSTG_HTTP_METHOD_POST "post"
+#define rustg_http_request_blocking(method, url, body, headers) call(RUST_G, "http_request_blocking")(method, url, body, headers)
+#define rustg_http_request_async(method, url, body, headers) call(RUST_G, "http_request_async")(method, url, body, headers)
+#define rustg_http_check_request(req_id) call(RUST_G, "http_check_request")(req_id)
+
+#define rustg_sql_connect_pool(options) call(RUST_G, "sql_connect_pool")(options)
+#define rustg_sql_query_async(handle, query, params) call(RUST_G, "sql_query_async")(handle, query, params)
+#define rustg_sql_query_blocking(handle, query, params) call(RUST_G, "sql_query_blocking")(handle, query, params)
+#define rustg_sql_connected(handle) call(RUST_G, "sql_connected")(handle)
+#define rustg_sql_disconnect_pool(handle) call(RUST_G, "sql_disconnect_pool")(handle)
+#define rustg_sql_check_query(job_id) call(RUST_G, "sql_check_query")("[job_id]")
diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm
index 54362278d4..8909238db2 100644
--- a/code/__defines/species_languages_vr.dm
+++ b/code/__defines/species_languages_vr.dm
@@ -9,6 +9,7 @@
#define LANGUAGE_DAEMON "Daemon"
#define LANGUAGE_ENOCHIAN "Enochian"
#define LANGUAGE_VESPINAE "Vespinae"
+#define LANGUAGE_SPACER "Spacer"
#define LANGUAGE_CHIMPANZEE "Chimpanzee"
#define LANGUAGE_NEAERA "Neaera"
diff --git a/code/__defines/vv.dm b/code/__defines/vv.dm
index e71d6e2f8f..70ae1ff035 100644
--- a/code/__defines/vv.dm
+++ b/code/__defines/vv.dm
@@ -50,6 +50,7 @@
#define VV_HK_EXPOSE "expose"
#define VV_HK_CALLPROC "proc_call"
#define VV_HK_MARK "mark"
+#define VV_HK_ADDCOMPONENT "addcomponent"
// /atom
#define VV_HK_ATOM_EXPLODE "turf_explode"
diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm
index 757555f037..3bef9b4f15 100644
--- a/code/_helpers/logging.dm
+++ b/code/_helpers/logging.dm
@@ -1,25 +1,17 @@
//print an error message to world.log
-// Fall back to using old format if we are not using rust-g
-#ifdef RUST_G
- #define WRITE_LOG(log, text) call(RUST_G, "log_write")(log, text)
-#else
- #define WRITE_LOG(log, text) log << "\[[time_stamp()]][text]"
-#endif
+//This is an external call, "true" and "false" are how rust parses out booleans
+#define WRITE_LOG(log, text) rustg_log_write(log, text, "true")
+#define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false")
/* For logging round startup. */
/proc/start_log(log)
- #ifndef RUST_G
- log = file(log)
- #endif
WRITE_LOG(log, "START: Starting up [log_path].")
return log
/* Close open log handles. This should be called as late as possible, and no logging should hapen after. */
/proc/shutdown_logging()
- #ifdef RUST_G
- call(RUST_G, "log_close_all")()
- #endif
+ rustg_log_close_all()
/proc/error(msg)
to_world_log("## ERROR: [msg]")
diff --git a/code/_helpers/sorts/comparators.dm b/code/_helpers/sorts/comparators.dm
index f4a8c575c9..704042531a 100644
--- a/code/_helpers/sorts/comparators.dm
+++ b/code/_helpers/sorts/comparators.dm
@@ -61,4 +61,7 @@
/proc/cmp_recipe_complexity_dsc(datum/recipe/A, datum/recipe/B)
var/a_score = LAZYLEN(A.items) + LAZYLEN(A.reagents) + LAZYLEN(A.fruit)
var/b_score = LAZYLEN(B.items) + LAZYLEN(B.reagents) + LAZYLEN(B.fruit)
- return b_score - a_score
\ No newline at end of file
+ return b_score - a_score
+
+/proc/cmp_typepaths_asc(A, B)
+ return sorttext("[B]","[A]")
\ No newline at end of file
diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm
index 77019ab7b9..52dada1cf9 100644
--- a/code/_helpers/type2type.dm
+++ b/code/_helpers/type2type.dm
@@ -381,3 +381,19 @@
. += copytext(text, last_found, found)
last_found = found + delim_len
while (found)
+
+/proc/type2parent(child)
+ var/string_type = "[child]"
+ var/last_slash = findlasttext(string_type, "/")
+ if(last_slash == 1)
+ switch(child)
+ if(/datum)
+ return null
+ if(/obj || /mob)
+ return /atom/movable
+ if(/area || /turf)
+ return /atom
+ else
+ return /datum
+
+ return text2path(copytext(string_type, 1, last_slash))
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index eba949e02d..00ad3a0a58 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -1605,3 +1605,7 @@ GLOBAL_REAL_VAR(list/stack_trace_storage)
// Third one is the text that will be clickable.
/proc/href(href_src, list/href_params, href_text)
return "[href_text]"
+
+/proc/CallAsync(datum/source, proctype, list/arguments)
+ set waitfor = FALSE
+ return call(source, proctype)(arglist(arguments))
\ No newline at end of file
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 98f6023e7d..6a4579f191 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -114,11 +114,12 @@
trigger_aiming(TARGET_CAN_CLICK)
return 1
- // VOREStation Addition Start: inbelly interaction
+ // VOREStation Addition Start: inbelly item interaction
if(isbelly(loc) && (loc == A.loc))
if(W)
- to_chat(src, "The firm confines prevent that kind of dexterity!") //Only hand-based interactions in bellies
- return
+ var/resolved = W.resolve_attackby(A,src)
+ if(!resolved && A && W)
+ W.afterattack(A, src, 1, params) // 1: clicking something Adjacent
else
if(ismob(A)) // No instant mob attacking
setClickCooldown(get_attack_speed())
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 8f34599fba..ddfe620570 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -21,6 +21,8 @@ avoid code duplication. This includes items that may sometimes act as a standard
// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
/obj/item/proc/attack_self(mob/user)
+ if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_SELF, user) & COMPONENT_NO_INTERACT)
+ return
return
// Called at the start of resolve_attackby(), before the actual attack.
@@ -35,10 +37,13 @@ avoid code duplication. This includes items that may sometimes act as a standard
// No comment
/atom/proc/attackby(obj/item/W, mob/user, var/attack_modifier, var/click_parameters)
- return
+ if(SEND_SIGNAL(src, COMSIG_PARENT_ATTACKBY, W, user, click_parameters) & COMPONENT_NO_AFTERATTACK)
+ return TRUE
+ return FALSE
/atom/movable/attackby(obj/item/W, mob/user, var/attack_modifier, var/click_parameters)
- if(!(W.flags & NOBLUDGEON))
+ . = ..()
+ if(!. && !(W.flags & NOBLUDGEON))
visible_message("[src] has been hit by [user] with [W].")
/mob/living/attackby(obj/item/I, mob/user, var/attack_modifier, var/click_parameters)
diff --git a/code/_onclick/observer_vr.dm b/code/_onclick/observer_vr.dm
deleted file mode 100644
index b81ea955a4..0000000000
--- a/code/_onclick/observer_vr.dm
+++ /dev/null
@@ -1,21 +0,0 @@
-/obj/item/device/paicard/attack_ghost(mob/user as mob)
- if(src.pai != null) //Have a person in them already?
- user.examinate(src)
- return
- var/choice = input(user, "You sure you want to inhabit this PAI?") in list("Yes", "No")
- var/pai_name = input(user, "Choose your character's name", "Character Name") as text
- var/actual_pai_name = sanitize_name(pai_name)
- var/pai_key
- if (isnull(pai_name))
- return
- if(choice == "Yes")
- pai_key = user.key
- else
- return
- var/turf/location = get_turf(src)
- var/obj/item/device/paicard/card = new(location)
- var/mob/living/silicon/pai/pai = new(card)
- qdel(src)
- pai.key = pai_key
- card.setPersonality(pai)
- pai.SetName(actual_pai_name)
\ No newline at end of file
diff --git a/code/controllers/subsystems/dcs.dm b/code/controllers/subsystems/dcs.dm
new file mode 100644
index 0000000000..104c3eef31
--- /dev/null
+++ b/code/controllers/subsystems/dcs.dm
@@ -0,0 +1,54 @@
+PROCESSING_SUBSYSTEM_DEF(dcs)
+ name = "Datum Component System"
+ flags = SS_NO_INIT
+ wait = 1 SECONDS
+
+ var/list/elements_by_type = list()
+
+/datum/controller/subsystem/processing/dcs/Recover()
+ comp_lookup = SSdcs.comp_lookup
+
+/datum/controller/subsystem/processing/dcs/proc/GetElement(list/arguments)
+ var/datum/element/eletype = arguments[1]
+ var/element_id = eletype
+
+ if(!ispath(eletype, /datum/element))
+ CRASH("Attempted to instantiate [eletype] as a /datum/element")
+
+ if(initial(eletype.element_flags) & ELEMENT_BESPOKE)
+ element_id = GetIdFromArguments(arguments)
+
+ . = elements_by_type[element_id]
+ if(.)
+ return
+ . = elements_by_type[element_id] = new eletype
+
+/****
+ * Generates an id for bespoke elements when given the argument list
+ * Generating the id here is a bit complex because we need to support named arguments
+ * Named arguments can appear in any order and we need them to appear after ordered arguments
+ * We assume that no one will pass in a named argument with a value of null
+ **/
+/datum/controller/subsystem/processing/dcs/proc/GetIdFromArguments(list/arguments)
+ var/datum/element/eletype = arguments[1]
+ var/list/fullid = list("[eletype]")
+ var/list/named_arguments = list()
+ for(var/i in initial(eletype.id_arg_index) to length(arguments))
+ var/key = arguments[i]
+ var/value
+ if(istext(key))
+ value = arguments[key]
+ if(!(istext(key) || isnum(key)))
+ key = REF(key)
+ key = "[key]" // Key is stringified so numbers dont break things
+ if(!isnull(value))
+ if(!(istext(value) || isnum(value)))
+ value = REF(value)
+ named_arguments["[key]"] = value
+ else
+ fullid += "[key]"
+
+ if(length(named_arguments))
+ named_arguments = sortList(named_arguments)
+ fullid += named_arguments
+ return list2params(fullid)
diff --git a/code/controllers/subsystems/garbage.dm b/code/controllers/subsystems/garbage.dm
index 9938fa20eb..5573b23ae8 100644
--- a/code/controllers/subsystems/garbage.dm
+++ b/code/controllers/subsystems/garbage.dm
@@ -284,9 +284,12 @@ SUBSYSTEM_DEF(garbage)
if(isnull(D.gc_destroyed))
+ if(SEND_SIGNAL(D, COMSIG_PARENT_PREQDELETED, force)) // Give the components a chance to prevent their parent from being deleted
+ return
D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED
var/start_time = world.time
var/start_tick = world.tick_usage
+ SEND_SIGNAL(D, COMSIG_PARENT_QDELETING, force) // Let the (remaining) components know about the result of Destroy
var/hint = D.Destroy(force) // Let our friend know they're about to get fucked up.
if(world.time != start_time)
I.slept_destroy++
diff --git a/code/datums/components/README.md b/code/datums/components/README.md
new file mode 100644
index 0000000000..03f7d3a587
--- /dev/null
+++ b/code/datums/components/README.md
@@ -0,0 +1,9 @@
+# Datum Component System (DCS)
+
+## Concept
+
+Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening.
+
+See [this thread](https://tgstation13.org/phpBB/viewtopic.php?f=5&t=22674) for an introduction to the system as a whole.
+
+### See/Define signals and their arguments in [__DEFINES\dcs\signals.dm](../../__DEFINES/dcs/signals.dm)
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
new file mode 100644
index 0000000000..4ada8af23b
--- /dev/null
+++ b/code/datums/components/_component.dm
@@ -0,0 +1,537 @@
+/**
+ * # Component
+ *
+ * The component datum
+ *
+ * A component should be a single standalone unit
+ * of functionality, that works by receiving signals from it's parent
+ * object to provide some single functionality (i.e a slippery component)
+ * that makes the object it's attached to cause people to slip over.
+ * Useful when you want shared behaviour independent of type inheritance
+ */
+/datum/component
+ /**
+ * Defines how duplicate existing components are handled when added to a datum
+ *
+ * See [COMPONENT_DUPE_*][COMPONENT_DUPE_ALLOWED] definitions for available options
+ */
+ var/dupe_mode = COMPONENT_DUPE_HIGHLANDER
+
+ /**
+ * The type to check for duplication
+ *
+ * `null` means exact match on `type` (default)
+ *
+ * Any other type means that and all subtypes
+ */
+ var/dupe_type
+
+ /// The datum this components belongs to
+ var/datum/parent
+
+ /**
+ * Only set to true if you are able to properly transfer this component
+ *
+ * At a minimum [RegisterWithParent][/datum/component/proc/RegisterWithParent] and [UnregisterFromParent][/datum/component/proc/UnregisterFromParent] should be used
+ *
+ * Make sure you also implement [PostTransfer][/datum/component/proc/PostTransfer] for any post transfer handling
+ */
+ var/can_transfer = FALSE
+
+/**
+ * Create a new component.
+ *
+ * Additional arguments are passed to [Initialize()][/datum/component/proc/Initialize]
+ *
+ * Arguments:
+ * * datum/P the parent datum this component reacts to signals from
+ */
+/datum/component/New(list/raw_args)
+ parent = raw_args[1]
+ var/list/arguments = raw_args.Copy(2)
+ if(Initialize(arglist(arguments)) == COMPONENT_INCOMPATIBLE)
+ stack_trace("Incompatible [type] assigned to a [parent.type]! args: [json_encode(arguments)]")
+ qdel(src, TRUE, TRUE)
+ return
+
+ _JoinParent(parent)
+
+/**
+ * Called during component creation with the same arguments as in new excluding parent.
+ *
+ * Do not call `qdel(src)` from this function, `return COMPONENT_INCOMPATIBLE` instead
+ */
+/datum/component/proc/Initialize(...)
+ return
+
+/**
+ * Properly removes the component from `parent` and cleans up references
+ *
+ * Arguments:
+ * * force - makes it not check for and remove the component from the parent
+ * * silent - deletes the component without sending a [COMSIG_COMPONENT_REMOVING] signal
+ */
+/datum/component/Destroy(force=FALSE, silent=FALSE)
+ if(!force && parent)
+ _RemoveFromParent()
+ if(!silent)
+ SEND_SIGNAL(parent, COMSIG_COMPONENT_REMOVING, src)
+ parent = null
+ return ..()
+
+/**
+ * Internal proc to handle behaviour of components when joining a parent
+ */
+/datum/component/proc/_JoinParent()
+ var/datum/P = parent
+ //lazy init the parent's dc list
+ var/list/dc = P.datum_components
+ if(!dc)
+ P.datum_components = dc = list()
+
+ //set up the typecache
+ var/our_type = type
+ for(var/I in _GetInverseTypeList(our_type))
+ var/test = dc[I]
+ if(test) //already another component of this type here
+ var/list/components_of_type
+ if(!length(test))
+ components_of_type = list(test)
+ dc[I] = components_of_type
+ else
+ components_of_type = test
+ if(I == our_type) //exact match, take priority
+ var/inserted = FALSE
+ for(var/J in 1 to components_of_type.len)
+ var/datum/component/C = components_of_type[J]
+ if(C.type != our_type) //but not over other exact matches
+ components_of_type.Insert(J, I)
+ inserted = TRUE
+ break
+ if(!inserted)
+ components_of_type += src
+ else //indirect match, back of the line with ya
+ components_of_type += src
+ else //only component of this type, no list
+ dc[I] = src
+
+ RegisterWithParent()
+
+/**
+ * Internal proc to handle behaviour when being removed from a parent
+ */
+/datum/component/proc/_RemoveFromParent()
+ var/datum/P = parent
+ var/list/dc = P.datum_components
+ for(var/I in _GetInverseTypeList())
+ var/list/components_of_type = dc[I]
+ if(length(components_of_type)) //
+ var/list/subtracted = components_of_type - src
+ if(subtracted.len == 1) //only 1 guy left
+ dc[I] = subtracted[1] //make him special
+ else
+ dc[I] = subtracted
+ else //just us
+ dc -= I
+ if(!dc.len)
+ P.datum_components = null
+
+ UnregisterFromParent()
+
+/**
+ * Register the component with the parent object
+ *
+ * Use this proc to register with your parent object
+ *
+ * Overridable proc that's called when added to a new parent
+ */
+/datum/component/proc/RegisterWithParent()
+ return
+
+/**
+ * Unregister from our parent object
+ *
+ * Use this proc to unregister from your parent object
+ *
+ * Overridable proc that's called when removed from a parent
+ * *
+ */
+/datum/component/proc/UnregisterFromParent()
+ return
+
+/**
+ * Register to listen for a signal from the passed in target
+ *
+ * This sets up a listening relationship such that when the target object emits a signal
+ * the source datum this proc is called upon, will recieve a callback to the given proctype
+ * Return values from procs registered must be a bitfield
+ *
+ * Arguments:
+ * * datum/target The target to listen for signals from
+ * * sig_type_or_types Either a string signal name, or a list of signal names (strings)
+ * * proctype The proc to call back when the signal is emitted
+ * * override If a previous registration exists you must explicitly set this
+ */
+/datum/proc/RegisterSignal(datum/target, sig_type_or_types, proctype, override = FALSE)
+ if(QDELETED(src) || QDELETED(target))
+ return
+
+ var/list/procs = signal_procs
+ if(!procs)
+ signal_procs = procs = list()
+ if(!procs[target])
+ procs[target] = list()
+ var/list/lookup = target.comp_lookup
+ if(!lookup)
+ target.comp_lookup = lookup = list()
+
+ var/list/sig_types = islist(sig_type_or_types) ? sig_type_or_types : list(sig_type_or_types)
+ for(var/sig_type in sig_types)
+ if(!override && procs[target][sig_type])
+ stack_trace("[sig_type] overridden. Use override = TRUE to suppress this warning")
+
+ procs[target][sig_type] = proctype
+
+ if(!lookup[sig_type]) // Nothing has registered here yet
+ lookup[sig_type] = src
+ else if(lookup[sig_type] == src) // We already registered here
+ continue
+ else if(!length(lookup[sig_type])) // One other thing registered here
+ lookup[sig_type] = list(lookup[sig_type]=TRUE)
+ lookup[sig_type][src] = TRUE
+ else // Many other things have registered here
+ lookup[sig_type][src] = TRUE
+
+ signal_enabled = TRUE
+
+/**
+ * Stop listening to a given signal from target
+ *
+ * Breaks the relationship between target and source datum, removing the callback when the signal fires
+ *
+ * Doesn't care if a registration exists or not
+ *
+ * Arguments:
+ * * datum/target Datum to stop listening to signals from
+ * * sig_typeor_types Signal string key or list of signal keys to stop listening to specifically
+ */
+/datum/proc/UnregisterSignal(datum/target, sig_type_or_types)
+ var/list/lookup = target.comp_lookup
+ if(!signal_procs || !signal_procs[target] || !lookup)
+ return
+ if(!islist(sig_type_or_types))
+ sig_type_or_types = list(sig_type_or_types)
+ for(var/sig in sig_type_or_types)
+ if(!signal_procs[target][sig])
+ continue
+ switch(length(lookup[sig]))
+ if(2)
+ lookup[sig] = (lookup[sig]-src)[1]
+ if(1)
+ stack_trace("[target] ([target.type]) somehow has single length list inside comp_lookup")
+ if(src in lookup[sig])
+ lookup -= sig
+ if(!length(lookup))
+ target.comp_lookup = null
+ break
+ if(0)
+ lookup -= sig
+ if(!length(lookup))
+ target.comp_lookup = null
+ break
+ else
+ lookup[sig] -= src
+
+ signal_procs[target] -= sig_type_or_types
+ if(!signal_procs[target].len)
+ signal_procs -= target
+
+/**
+ * Called on a component when a component of the same type was added to the same parent
+ *
+ * See [/datum/component/var/dupe_mode]
+ *
+ * `C`'s type will always be the same of the called component
+ */
+/datum/component/proc/InheritComponent(datum/component/C, i_am_original)
+ return
+
+
+/**
+ * Called on a component when a component of the same type was added to the same parent with [COMPONENT_DUPE_SELECTIVE]
+ *
+ * See [/datum/component/var/dupe_mode]
+ *
+ * `C`'s type will always be the same of the called component
+ *
+ * return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component
+ */
+/datum/component/proc/CheckDupeComponent(datum/component/C, ...)
+ return
+
+
+/**
+ * Callback Just before this component is transferred
+ *
+ * Use this to do any special cleanup you might need to do before being deregged from an object
+ */
+/datum/component/proc/PreTransfer()
+ return
+
+/**
+ * Callback Just after a component is transferred
+ *
+ * Use this to do any special setup you need to do after being moved to a new object
+ *
+ * Do not call `qdel(src)` from this function, `return COMPONENT_INCOMPATIBLE` instead
+ */
+/datum/component/proc/PostTransfer()
+ return COMPONENT_INCOMPATIBLE //Do not support transfer by default as you must properly support it
+
+/**
+ * Internal proc to create a list of our type and all parent types
+ */
+/datum/component/proc/_GetInverseTypeList(our_type = type)
+ //we can do this one simple trick
+ var/current_type = parent_type
+ . = list(our_type, current_type)
+ //and since most components are root level + 1, this won't even have to run
+ while (current_type != /datum/component)
+ current_type = type2parent(current_type)
+ . += current_type
+
+/**
+ * Internal proc to handle most all of the signaling procedure
+ *
+ * Will runtime if used on datums with an empty component list
+ *
+ * Use the [SEND_SIGNAL] define instead
+ */
+/datum/proc/_SendSignal(sigtype, list/arguments)
+ var/target = comp_lookup[sigtype]
+ if(!length(target))
+ var/datum/C = target
+ if(!C.signal_enabled)
+ return NONE
+ var/proctype = C.signal_procs[src][sigtype]
+ return NONE | CallAsync(C, proctype, arguments)
+ . = NONE
+ for(var/I in target)
+ var/datum/C = I
+ if(!C.signal_enabled)
+ continue
+ var/proctype = C.signal_procs[src][sigtype]
+ . |= CallAsync(C, proctype, arguments)
+
+// The type arg is casted so initial works, you shouldn't be passing a real instance into this
+/**
+ * Return any component assigned to this datum of the given type
+ *
+ * This will throw an error if it's possible to have more than one component of that type on the parent
+ *
+ * Arguments:
+ * * datum/component/c_type The typepath of the component you want to get a reference to
+ */
+/datum/proc/GetComponent(datum/component/c_type)
+ // RETURN_TYPE(c_type)
+ if(initial(c_type.dupe_mode) == COMPONENT_DUPE_ALLOWED || initial(c_type.dupe_mode) == COMPONENT_DUPE_SELECTIVE)
+ stack_trace("GetComponent was called to get a component of which multiple copies could be on an object. This can easily break and should be changed. Type: \[[c_type]\]")
+ var/list/dc = datum_components
+ if(!dc)
+ return null
+ . = dc[c_type]
+ if(length(.))
+ return .[1]
+
+// The type arg is casted so initial works, you shouldn't be passing a real instance into this
+/**
+ * Return any component assigned to this datum of the exact given type
+ *
+ * This will throw an error if it's possible to have more than one component of that type on the parent
+ *
+ * Arguments:
+ * * datum/component/c_type The typepath of the component you want to get a reference to
+ */
+/datum/proc/GetExactComponent(datum/component/c_type)
+ // RETURN_TYPE(c_type)
+ if(initial(c_type.dupe_mode) == COMPONENT_DUPE_ALLOWED || initial(c_type.dupe_mode) == COMPONENT_DUPE_SELECTIVE)
+ stack_trace("GetComponent was called to get a component of which multiple copies could be on an object. This can easily break and should be changed. Type: \[[c_type]\]")
+ var/list/dc = datum_components
+ if(!dc)
+ return null
+ var/datum/component/C = dc[c_type]
+ if(C)
+ if(length(C))
+ C = C[1]
+ if(C.type == c_type)
+ return C
+ return null
+
+/**
+ * Get all components of a given type that are attached to this datum
+ *
+ * Arguments:
+ * * c_type The component type path
+ */
+/datum/proc/GetComponents(c_type)
+ var/list/dc = datum_components
+ if(!dc)
+ return null
+ . = dc[c_type]
+ if(!length(.))
+ return list(.)
+
+/**
+ * Creates an instance of `new_type` in the datum and attaches to it as parent
+ *
+ * Sends the [COMSIG_COMPONENT_ADDED] signal to the datum
+ *
+ * Returns the component that was created. Or the old component in a dupe situation where [COMPONENT_DUPE_UNIQUE] was set
+ *
+ * If this tries to add a component to an incompatible type, the component will be deleted and the result will be `null`. This is very unperformant, try not to do it
+ *
+ * Properly handles duplicate situations based on the `dupe_mode` var
+ */
+/datum/proc/_AddComponent(list/raw_args)
+ var/new_type = raw_args[1]
+ var/datum/component/nt = new_type
+ var/dm = initial(nt.dupe_mode)
+ var/dt = initial(nt.dupe_type)
+
+ var/datum/component/old_comp
+ var/datum/component/new_comp
+
+ if(ispath(nt))
+ if(nt == /datum/component)
+ CRASH("[nt] attempted instantiation!")
+ else
+ new_comp = nt
+ nt = new_comp.type
+
+ raw_args[1] = src
+
+ if(dm != COMPONENT_DUPE_ALLOWED)
+ if(!dt)
+ old_comp = GetExactComponent(nt)
+ else
+ old_comp = GetComponent(dt)
+ if(old_comp)
+ switch(dm)
+ if(COMPONENT_DUPE_UNIQUE)
+ if(!new_comp)
+ new_comp = new nt(raw_args)
+ if(!QDELETED(new_comp))
+ old_comp.InheritComponent(new_comp, TRUE)
+ QDEL_NULL(new_comp)
+ if(COMPONENT_DUPE_HIGHLANDER)
+ if(!new_comp)
+ new_comp = new nt(raw_args)
+ if(!QDELETED(new_comp))
+ new_comp.InheritComponent(old_comp, FALSE)
+ QDEL_NULL(old_comp)
+ if(COMPONENT_DUPE_UNIQUE_PASSARGS)
+ if(!new_comp)
+ var/list/arguments = raw_args.Copy(2)
+ arguments.Insert(1, null, TRUE)
+ old_comp.InheritComponent(arglist(arguments))
+ else
+ old_comp.InheritComponent(new_comp, TRUE)
+ if(COMPONENT_DUPE_SELECTIVE)
+ var/list/arguments = raw_args.Copy()
+ arguments[1] = new_comp
+ var/make_new_component = TRUE
+ for(var/i in GetComponents(new_type))
+ var/datum/component/C = i
+ if(C.CheckDupeComponent(arglist(arguments)))
+ make_new_component = FALSE
+ QDEL_NULL(new_comp)
+ break
+ if(!new_comp && make_new_component)
+ new_comp = new nt(raw_args)
+ else if(!new_comp)
+ new_comp = new nt(raw_args) // There's a valid dupe mode but there's no old component, act like normal
+ else if(!new_comp)
+ new_comp = new nt(raw_args) // Dupes are allowed, act like normal
+
+ if(!old_comp && !QDELETED(new_comp)) // Nothing related to duplicate components happened and the new component is healthy
+ SEND_SIGNAL(src, COMSIG_COMPONENT_ADDED, new_comp)
+ return new_comp
+ return old_comp
+
+/**
+ * Get existing component of type, or create it and return a reference to it
+ *
+ * Use this if the item needs to exist at the time of this call, but may not have been created before now
+ *
+ * Arguments:
+ * * component_type The typepath of the component to create or return
+ * * ... additional arguments to be passed when creating the component if it does not exist
+ */
+/datum/proc/LoadComponent(component_type, ...)
+ . = GetComponent(component_type)
+ if(!.)
+ return _AddComponent(args)
+
+/**
+ * Removes the component from parent, ends up with a null parent
+ */
+/datum/component/proc/RemoveComponent()
+ if(!parent)
+ return
+ var/datum/old_parent = parent
+ PreTransfer()
+ _RemoveFromParent()
+ parent = null
+ SEND_SIGNAL(old_parent, COMSIG_COMPONENT_REMOVING, src)
+
+/**
+ * Transfer this component to another parent
+ *
+ * Component is taken from source datum
+ *
+ * Arguments:
+ * * datum/component/target Target datum to transfer to
+ */
+/datum/proc/TakeComponent(datum/component/target)
+ if(!target || target.parent == src)
+ return
+ if(target.parent)
+ target.RemoveComponent()
+ target.parent = src
+ var/result = target.PostTransfer()
+ switch(result)
+ if(COMPONENT_INCOMPATIBLE)
+ var/c_type = target.type
+ qdel(target)
+ CRASH("Incompatible [c_type] transfer attempt to a [type]!")
+
+ if(target == AddComponent(target))
+ target._JoinParent()
+
+/**
+ * Transfer all components to target
+ *
+ * All components from source datum are taken
+ *
+ * Arguments:
+ * * /datum/target the target to move the components to
+ */
+/datum/proc/TransferComponents(datum/target)
+ var/list/dc = datum_components
+ if(!dc)
+ return
+ var/comps = dc[/datum/component]
+ if(islist(comps))
+ for(var/datum/component/I in comps)
+ if(I.can_transfer)
+ target.TakeComponent(I)
+ else
+ var/datum/component/C = comps
+ if(C.can_transfer)
+ target.TakeComponent(comps)
+
+/**
+ * Return the object that is the host of any UI's that this component has
+ */
+/datum/component/tgui_host()
+ return parent
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index d806728f5d..1f9feeeacf 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -6,6 +6,10 @@
/datum
var/gc_destroyed //Time when this object was destroyed.
var/list/active_timers //for SStimer
+ var/list/datum_components //for /datum/components
+ var/list/comp_lookup
+ var/list/signal_procs
+ var/signal_enabled = FALSE
var/weakref/weakref // Holder of weakref instance pointing to this datum
var/datum_flags = NONE
@@ -30,6 +34,38 @@
weakref = null // Clear this reference to ensure it's kept for as brief duration as possible.
+ //BEGIN: ECS SHIT
+ signal_enabled = FALSE
+
+ var/list/dc = datum_components
+ if(dc)
+ var/all_components = dc[/datum/component]
+ if(length(all_components))
+ for(var/I in all_components)
+ var/datum/component/C = I
+ qdel(C, FALSE, TRUE)
+ else
+ var/datum/component/C = all_components
+ qdel(C, FALSE, TRUE)
+ dc.Cut()
+
+ var/list/lookup = comp_lookup
+ if(lookup)
+ for(var/sig in lookup)
+ var/list/comps = lookup[sig]
+ if(length(comps))
+ for(var/i in comps)
+ var/datum/component/comp = i
+ comp.UnregisterSignal(src, sig)
+ else
+ var/datum/component/comp = comps
+ comp.UnregisterSignal(src, sig)
+ comp_lookup = lookup = null
+
+ for(var/target in signal_procs)
+ UnregisterSignal(target, signal_procs[target])
+ //END: ECS SHIT
+
tag = null
SStgui.close_uis(src)
return QDEL_HINT_QUEUE
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index aa28473fa3..95db63ff33 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -26,6 +26,7 @@
VV_DROPDOWN_OPTION(VV_HK_MARK, "Mark Object")
VV_DROPDOWN_OPTION(VV_HK_DELETE, "Delete")
VV_DROPDOWN_OPTION(VV_HK_EXPOSE, "Show VV To Player")
+ VV_DROPDOWN_OPTION(VV_HK_ADDCOMPONENT, "Add Component/Element")
//This proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks!
//href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables!
@@ -58,6 +59,34 @@
usr.client.mark_datum(src)
IF_VV_OPTION(VV_HK_CALLPROC)
usr.client.callproc_datum(src)
+ IF_VV_OPTION(VV_HK_ADDCOMPONENT)
+ if(!check_rights(NONE))
+ return
+ var/list/names = list()
+ var/list/componentsubtypes = sortTim(subtypesof(/datum/component), /proc/cmp_typepaths_asc)
+ names += "---Components---"
+ names += componentsubtypes
+ names += "---Elements---"
+ names += sortTim(subtypesof(/datum/element), /proc/cmp_typepaths_asc)
+ var/result = input(usr, "Choose a component/element to add","better know what ur fuckin doin pal") as null|anything in names
+ if(!usr || !result || result == "---Components---" || result == "---Elements---")
+ return
+ if(QDELETED(src))
+ to_chat(usr, "That thing doesn't exist anymore!", confidential = TRUE)
+ return
+ var/list/lst = usr.client.get_callproc_args()
+ if(!lst)
+ return
+ var/datumname = "error"
+ lst.Insert(1, result)
+ if(result in componentsubtypes)
+ datumname = "component"
+ _AddComponent(lst)
+ else
+ datumname = "element"
+ _AddElement(lst)
+ log_admin("[key_name(usr)] has added [result] [datumname] to [key_name(src)].")
+ message_admins("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(src)].")
/datum/proc/vv_get_header()
. = list()
diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm
new file mode 100644
index 0000000000..caf02b65b9
--- /dev/null
+++ b/code/datums/elements/_element.dm
@@ -0,0 +1,55 @@
+/**
+ * A holder for simple behaviour that can be attached to many different types
+ *
+ * Only one element of each type is instanced during game init.
+ * Otherwise acts basically like a lightweight component.
+ */
+/datum/element
+ /// Option flags for element behaviour
+ var/element_flags = NONE
+ /**
+ * The index of the first attach argument to consider for duplicate elements
+ *
+ * Is only used when flags contains [ELEMENT_BESPOKE]
+ *
+ * This is infinity so you must explicitly set this
+ */
+ var/id_arg_index = INFINITY
+
+/// Activates the functionality defined by the element on the given target datum
+/datum/element/proc/Attach(datum/target)
+ // SHOULD_CALL_PARENT(1)
+ if(type == /datum/element)
+ return ELEMENT_INCOMPATIBLE
+ SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src)
+ if(element_flags & ELEMENT_DETACH)
+ RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE)
+
+/// Deactivates the functionality defines by the element on the given datum
+/datum/element/proc/Detach(datum/source, force)
+ SEND_SIGNAL(source, COMSIG_ELEMENT_DETACH, src)
+ // SHOULD_CALL_PARENT(1)
+ UnregisterSignal(source, COMSIG_PARENT_QDELETING)
+
+/datum/element/Destroy(force)
+ if(!force)
+ return QDEL_HINT_LETMELIVE
+ SSdcs.elements_by_type -= type
+ return ..()
+
+//DATUM PROCS
+
+/// Finds the singleton for the element type given and attaches it to src
+/datum/proc/_AddElement(list/arguments)
+ var/datum/element/ele = SSdcs.GetElement(arguments)
+ arguments[1] = src
+ if(ele.Attach(arglist(arguments)) == ELEMENT_INCOMPATIBLE)
+ CRASH("Incompatible [arguments[1]] assigned to a [type]! args: [json_encode(args)]")
+
+/**
+ * Finds the singleton for the element type given and detaches it from src
+ * You only need additional arguments beyond the type if you're using [ELEMENT_BESPOKE]
+ */
+/datum/proc/_RemoveElement(list/arguments)
+ var/datum/element/ele = SSdcs.GetElement(arguments)
+ ele.Detach(src)
diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm
index 4619acd3b5..855f4c5213 100644
--- a/code/datums/looping_sounds/item_sounds.dm
+++ b/code/datums/looping_sounds/item_sounds.dm
@@ -27,3 +27,19 @@
/datum/looping_sound/geiger/stop()
. = ..()
last_radiation = 0
+
+/datum/looping_sound/small_motor
+ start_sound = 'sound/items/small_motor/motor_start_nopull.ogg'
+ start_length = 2 SECONDS
+ mid_sounds = list(
+ 'sound/items/small_motor/motor_idle.ogg',
+ 'sound/items/small_motor/motor_fast.ogg',
+ 'sound/items/small_motor/motor_faster.ogg'
+ )
+ mid_length = 1.9 SECONDS //someone make this loop better please, i'm no good at sound. the clips should be 2 seconds exact but there's a gap if it's set to 2
+ end_sound = 'sound/items/small_motor/motor_end.ogg'
+ var/speed = 1
+
+/datum/looping_sound/small_motor/get_sound(starttime)
+ speed = clamp(speed, 1, 3)
+ return ..(starttime, mid_sounds[speed])
\ No newline at end of file
diff --git a/code/datums/observation/moved.dm b/code/datums/observation/moved.dm
index 311f9673f6..3cd61c1cc6 100644
--- a/code/datums/observation/moved.dm
+++ b/code/datums/observation/moved.dm
@@ -25,11 +25,6 @@ GLOBAL_DATUM_INIT(moved_event, /decl/observ/moved, new)
/********************
* Movement Handling *
********************/
-
-/atom/Entered(var/atom/movable/am, var/atom/old_loc)
- . = ..()
- GLOB.moved_event.raise_event(am, old_loc, am.loc)
-
/atom/movable/Entered(var/atom/movable/am, atom/old_loc)
. = ..()
if(GLOB.moved_event.has_listeners(am))
diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm
index 5d2bc99089..165c5fbfef 100644
--- a/code/datums/supplypacks/engineering.dm
+++ b/code/datums/supplypacks/engineering.dm
@@ -151,6 +151,13 @@
containername = "Singularity Generator crate"
access = access_ce
+/datum/supply_pack/eng/engine/tesla_gen
+ name = "Tesla Generator crate"
+ contains = list(/obj/machinery/the_singularitygen/tesla)
+ containertype = /obj/structure/closet/crate/secure/einstein
+ containername = "Tesla Generator crate"
+ access = access_ce
+
/datum/supply_pack/eng/engine/collector
name = "Collector crate"
contains = list(/obj/machinery/power/rad_collector = 3)
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index a12a80e6ec..5a06c3450b 100755
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -358,6 +358,13 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "\improper Thunderdome (Observer.)"
icon_state = "purple"
+/area/virtual_reality
+ name = "Virtual Reality"
+ icon_state = "Virtual_Reality"
+ dynamic_lighting = 0
+ requires_power = 0
+ flags = AREA_FLAG_IS_NOT_PERSISTENT
+
//ENEMY
//names are used
diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm
index 657568479e..d9a132cd4f 100644
--- a/code/game/area/Space Station 13 areas_vr.dm
+++ b/code/game/area/Space Station 13 areas_vr.dm
@@ -6,6 +6,12 @@
//Rouguelike Mining
/area/asteroid/rogue
+ has_gravity = 0
+ requires_power = 1
+ always_unpowered = 1
+ power_light = 0
+ power_equip = 0
+ power_environ = 0
var/asteroid_spawns = list()
var/mob_spawns = list()
var/shuttle_area //It would be neat if this were more dynamic, but eh.
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index b56db48dab..5ec5af0e6b 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -210,6 +210,7 @@
if(user.client?.prefs.examine_text_mode == EXAMINE_MODE_SWITCH_TO_PANEL)
user.client.statpanel = "Examine" // Switch to stat panel
+ SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, output)
return output
// Don't make these call bicon or anything, these are what bicon uses. They need to return an icon.
@@ -223,6 +224,7 @@
//called to set the atom's dir and used to add behaviour to dir-changes
/atom/proc/set_dir(new_dir)
+ SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, new_dir)
. = new_dir != dir
dir = new_dir
@@ -631,3 +633,17 @@
/atom/proc/speech_bubble(bubble_state = "", bubble_loc = src, list/bubble_recipients = list())
return
+
+/atom/Entered(atom/movable/AM, atom/old_loc)
+ . = ..()
+ GLOB.moved_event.raise_event(AM, old_loc, AM.loc)
+ SEND_SIGNAL(src, COMSIG_ATOM_ENTERED, AM, old_loc)
+
+/atom/Exit(atom/movable/AM, atom/new_loc)
+ . = ..()
+ if(SEND_SIGNAL(src, COMSIG_ATOM_EXIT, AM, new_loc) & COMPONENT_ATOM_BLOCK_EXIT)
+ return FALSE
+
+/atom/Exited(atom/movable/AM, atom/new_loc)
+ . = ..()
+ SEND_SIGNAL(src, COMSIG_ATOM_EXITED, AM, new_loc)
\ No newline at end of file
diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index 3ed52d317c..b3a183e9f9 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -304,8 +304,8 @@ var/global/list/datum/dna/gene/dna_genes[0]
// Getter version of above.
/datum/dna/proc/GetUIValueRange(var/block,var/maxvalue)
if (block<=0) return 0
- var/value = GetUIValue(block)
- return round(0.5 + (value / 4095) * maxvalue)
+ var/value = ((GetUIValue(block) / 4095) * maxvalue)
+ return round(0.5 + value)
// Is the UI gene "on" or "off"?
// For UI, this is simply a check of if the value is > 2050.
@@ -390,8 +390,8 @@ var/global/list/datum/dna/gene/dna_genes[0]
// Getter version of above.
/datum/dna/proc/GetSEValueRange(var/block,var/maxvalue)
if (block<=0) return 0
- var/value = GetSEValue(block)
- return round(1 +(value / 4095)*maxvalue)
+ var/value = ((GetSEValue(block) / 4095) * maxvalue)
+ return round(0.5 + value)
// Is the block "on" (1) or "off" (0)? (Un-assigned genes are always off.)
/datum/dna/proc/GetSEState(var/block)
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index eb0ad7000c..908651abf9 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -331,7 +331,7 @@
connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir))
if(connected)
break
- VARSET_IN(src, injector_ready, TRUE, 25 SECONDS)
+ VARSET_IN(src, injector_ready, TRUE, 25 SECONDS)
/obj/machinery/computer/scan_consolenew/proc/all_dna_blocks(var/list/buffer)
var/list/arr = list()
diff --git a/code/game/jobs/job/assistant_vr.dm b/code/game/jobs/job/assistant_vr.dm
index b3cf186d99..c775a79608 100644
--- a/code/game/jobs/job/assistant_vr.dm
+++ b/code/game/jobs/job/assistant_vr.dm
@@ -19,7 +19,7 @@
alt_titles = list("Intern" = /datum/alt_title/intern,
"Apprentice Engineer" = /datum/alt_title/intern_eng,
"Medical Intern" = /datum/alt_title/intern_med,
- "Lab Assistant" = /datum/alt_title/intern_sci,
+ "Research Intern" = /datum/alt_title/intern_sci,
"Security Cadet" = /datum/alt_title/intern_sec,
"Jr. Cargo Tech" = /datum/alt_title/intern_crg,
"Server" = /datum/alt_title/server)
@@ -33,7 +33,7 @@
/datum/alt_title/intern_eng
title = "Apprentice Engineer"
title_blurb = "An Apprentice Engineer attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \
- often in training to become an Engineer. A Technical Assistant has no real authority."
+ often in training to become an Engineer. An Apprentice Engineer has no real authority."
title_outfit = /decl/hierarchy/outfit/job/assistant/engineer
/datum/alt_title/intern_med
@@ -43,9 +43,9 @@
title_outfit = /decl/hierarchy/outfit/job/assistant/medic
/datum/alt_title/intern_sci
- title = "Lab Assistant"
- title_blurb = "A Lab Assistant attempts to provide whatever the Research department needs. They are not proper Scientists, and are \
- often in training to become a Scientist. A Lab Assistant has no real authority."
+ title = "Research Intern"
+ title_blurb = "A Research Intern attempts to provide whatever the Research department needs. They are not proper Scientists, and are \
+ often in training to become a Scientist. A Research Intern has no real authority."
title_outfit = /decl/hierarchy/outfit/job/assistant/scientist
/datum/alt_title/intern_sec
@@ -65,11 +65,6 @@
title_blurb = "A Server helps out kitchen and diner staff with various tasks, primarily food delivery. A Server has no real authority."
title_outfit = /decl/hierarchy/outfit/job/service/server
-
-//////////////////////////////////
-// Visitor
-//////////////////////////////////
-
/datum/job/intern/New()
..()
if(config)
@@ -82,11 +77,17 @@
else
return list()
+
+//////////////////////////////////
+// Visitor
+//////////////////////////////////
+
/datum/job/assistant // Visitor
title = USELESS_JOB
supervisors = "nobody! You don't work here"
job_description = "A Visitor is just there to visit the place. They have no real authority or responsibility."
timeoff_factor = 0
+ alt_titles = list("Guest" = /datum/alt_title/guest, "Traveler" = /datum/alt_title/traveler)
/datum/job/assistant/New()
..()
@@ -96,3 +97,9 @@
/datum/job/assistant/get_access()
return list()
+
+/datum/alt_title/guest
+ title = "Guest"
+
+/datum/alt_title/traveler
+ title = "Traveler"
diff --git a/code/game/jobs/job/captain_vr.dm b/code/game/jobs/job/captain_vr.dm
index 4cf8da4183..d2b830ad7b 100644
--- a/code/game/jobs/job/captain_vr.dm
+++ b/code/game/jobs/job/captain_vr.dm
@@ -2,6 +2,14 @@
disallow_jobhop = TRUE
pto_type = PTO_CIVILIAN
dept_time_required = 80 //Pending something more complicated
+ alt_titles = list("Overseer"= /datum/alt_title/overseer, "Facility Director" = /datum/alt_title/facility_director, "Chief Supervisor" = /datum/alt_title/chief_supervisor)
+
+/datum/alt_title/facility_director
+ title = "Facility Director"
+
+/datum/alt_title/chief_supervisor
+ title = "Chief Supervisor"
+
/datum/job/hop
disallow_jobhop = TRUE
@@ -10,8 +18,8 @@
departments_managed = list(DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO, DEPARTMENT_PLANET)
dept_time_required = 60
- alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro,
- "Deputy Director" = /datum/alt_title/deputy_director)
+ alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro, "Deputy Manager" = /datum/alt_title/deputy_manager, "Staff Manager" = /datum/alt_title/staff_manager,
+ "Facility Steward" = /datum/alt_title/facility_steward)
access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers,
access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads,
@@ -26,9 +34,30 @@
access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
access_hop, access_RC_announce, access_keycard_auth)
-/datum/alt_title/deputy_director
- title = "Deputy Director"
+/datum/alt_title/deputy_manager
+ title = "Deputy Manager"
+
+/datum/alt_title/staff_manager
+ title = "Staff Manager"
+
+/datum/alt_title/facility_steward
+ title = "Facility Steward"
+
/datum/job/secretary
disallow_jobhop = TRUE
- pto_type = PTO_CIVILIAN
\ No newline at end of file
+ pto_type = PTO_CIVILIAN
+ alt_titles = list("Command Liaison" = /datum/alt_title/command_liaison, "Bridge Secretary" = /datum/alt_title/bridge_secretary,
+ "Command Assistant" = /datum/alt_title/command_assistant, "Command Intern" = /datum/alt_title/command_intern)
+
+/datum/alt_title/command_liaison
+ title = "Command Liaison"
+
+/datum/alt_title/bridge_secretary
+ title = "Bridge Secretary"
+
+/datum/alt_title/command_assistant
+ title = "Command Assistant"
+
+/datum/alt_title/command_intern
+ title = "Command Intern"
\ No newline at end of file
diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm
index 4529c7c79a..beb4f477f8 100644
--- a/code/game/jobs/job/civilian_vr.dm
+++ b/code/game/jobs/job/civilian_vr.dm
@@ -1,34 +1,104 @@
/datum/job/bartender
pto_type = PTO_CIVILIAN
+ alt_titles = list("Barkeeper" = /datum/alt_title/barkeeper, "Barmaid" = /datum/alt_title/barmaid, "Barista" = /datum/alt_title/barista, "Mixologist" = /datum/alt_title/mixologist)
+
+/datum/alt_title/barkeeper
+ title = "Barkeeper"
+
+/datum/alt_title/barmaid
+ title = "Barmaid"
+
+/datum/alt_title/mixologist
+ title = "Mixologist"
+
/datum/job/chef
total_positions = 2 //IT TAKES A LOT TO MAKE A STEW
spawn_positions = 2 //A PINCH OF SALT AND LAUGHTER, TOO
pto_type = PTO_CIVILIAN
+ alt_titles = list("Sous-chef" = /datum/alt_title/souschef,"Cook" = /datum/alt_title/cook, "Kitchen Worker" = /datum/alt_title/kitchen_worker)
+
+/datum/alt_title/souschef
+ title = "Sous-chef"
+
+/datum/alt_title/kitchen_worker
+ title = "Kitchen Worker"
+ title_blurb = "A Kitchen Worker has the same duties, though they may be less experienced."
+
/datum/job/hydro
spawn_positions = 2
pto_type = PTO_CIVILIAN
+ alt_titles = list("Hydroponicist" = /datum/alt_title/hydroponicist, "Cultivator" = /datum/alt_title/cultivator, "Farmer" = /datum/alt_title/farmer,
+ "Gardener" = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit)
+
+/datum/alt_title/hydroponicist
+ title = "Hydroponicist"
+
+/datum/alt_title/cultivator
+ title = "Cultivator"
+
+/datum/alt_title/farmer
+ title = "Farmer"
+
+/datum/alt_title/florsit
+ title = "Florist"
+ title_blurb = "A Florist may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere."
+
/datum/job/qm
pto_type = PTO_CARGO
dept_time_required = 20
+ alt_titles = list("Supply Chief" = /datum/alt_title/supply_chief, "Logistics Manager" = /datum/alt_title/logistics_manager)
+
+/datum/alt_title/logistics_manager
+ title = "Logistics Manager"
+
/datum/job/cargo_tech
total_positions = 3
spawn_positions = 3
pto_type = PTO_CARGO
+ alt_titles = list("Cargo Loader" = /datum/alt_title/cargo_loader, "Cargo Handler" = /datum/alt_title/cargo_handler, "Supply Courier" = /datum/alt_title/supply_courier,
+ "Disposals Sorter" = /datum/alt_title/disposal_sorter)
+
+/datum/alt_title/supply_courier
+ title = "Supply Courier"
+ title_blurb = "A Supply Courier is usually tasked with devlivering packages or cargo directly to whoever requires it."
+
+/datum/alt_title/cargo_loader
+ title = "Cargo Loader"
+ title_blurb = "A Cargo Loader is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle."
+
+/datum/alt_title/cargo_handler
+ title = "Cargo Handler"
+ title_blurb = "A Cargo Loader is usually tasked with more menial labor within Supply department, such as loading and unloading supply shuttle."
+
+/datum/alt_title/disposal_sorter
+ title = "Disposals Sorter"
+ title_blurb = "A Disposals Sorter is usually tasked with operating disposals delivery system, sorting the trash and tagging parcels for delivery."
+
/datum/job/mining
total_positions = 4
spawn_positions = 4
pto_type = PTO_CARGO
+ alt_titles = list("Deep Space Miner" = /datum/alt_title/deep_space_miner, "Drill Technician" = /datum/alt_title/drill_tech, "Prospector" = /datum/alt_title/prospector)
+
+/datum/alt_title/deep_space_miner
+ title = "Deep Space Miner"
+ title_blurb = "A Deep Space Miner specializes primarily in mining operations in zero-g environments, mostly in asteroid and debris fields."
+
+/datum/alt_title/prospector
+ title = "Prospector"
+
/datum/job/janitor //Lots of janitor substations on station.
total_positions = 3
spawn_positions = 3
- alt_titles = list("Custodian" = /datum/alt_title/custodian, "Sanitation Technician" = /datum/alt_title/sanitation_tech, "Maid" = /datum/alt_title/maid)
pto_type = PTO_CIVILIAN
+ alt_titles = list("Custodian" = /datum/alt_title/custodian, "Sanitation Technician" = /datum/alt_title/sanitation_tech,
+ "Maid" = /datum/alt_title/maid, "Garbage Collector" = /datum/alt_title/garbage_collector)
/datum/alt_title/sanitation_tech
title = "Sanitation Technician"
@@ -36,26 +106,73 @@
/datum/alt_title/maid
title = "Maid"
+/datum/alt_title/garbage_collector
+ title = "Garbage Collector"
+ title_blurb = "A Garbage Collector keeps the station clean, though focuses moreso on collecting larger trash, with wet cleaning being secondary task."
+
+
/datum/job/librarian
total_positions = 2
spawn_positions = 2
- alt_titles = list("Journalist" = /datum/alt_title/journalist, "Writer" = /datum/alt_title/writer, "Historian" = /datum/alt_title/historian, "Professor" = /datum/alt_title/professor)
+ alt_titles = list("Journalist" = /datum/alt_title/journalist, "Reporter" = /datum/alt_title/reporter, "Writer" = /datum/alt_title/writer,
+ "Historian" = /datum/alt_title/historian, "Archivist" = /datum/alt_title/archivist, "Professor" = /datum/alt_title/professor,
+ "Academic" = /datum/alt_title/academic, "Philosopher" = /datum/alt_title/philosopher)
pto_type = PTO_CIVILIAN
+/datum/alt_title/reporter
+ title = "Reporter"
+ title_blurb = "The Reporter uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera."
+
/datum/alt_title/historian
title = "Historian"
title_blurb = "The Historian uses the Library as a base of operation to record any important events occuring on station."
+/datum/alt_title/archivist
+ title = "Archivist"
+ title_blurb = "The Archivist uses the Library as a base of operation to record any important events occuring on station."
+
/datum/alt_title/professor
title = "Professor"
title_blurb = "The Professor uses the Library as a base of operations to share their vast knowledge with the crew."
+/datum/alt_title/academic
+ title = "Academic"
+ title_blurb = "The Academic uses the Library as a base of operations to share their vast knowledge with the crew."
+
+/datum/alt_title/philosopher
+ title = "Philosopher"
+ title_blurb = "The Philosopher uses the Library as a base of operation to ruminate on nature of life and other great questions, and share their opinions with the crew."
+
+
/datum/job/lawyer
disallow_jobhop = TRUE
pto_type = PTO_CIVILIAN
+ alt_titles = list("Internal Affairs Liaison" = /datum/alt_title/ia_liaison, "Internal Affairs Delegate" = /datum/alt_title/ia_delegate,
+ "Internal Affairs Investigator" = /datum/alt_title/ia_investigator)
+
+/datum/alt_title/ia_liaison
+ title = "Internal Affairs Liaison"
+
+/datum/alt_title/ia_delegate
+ title = "Internal Affairs Delegate"
+
+/datum/alt_title/ia_investigator
+ title = "Internal Affairs Investigator"
+
/datum/job/chaplain
pto_type = PTO_CIVILIAN
+ alt_titles = list("Missionary" = /datum/alt_title/missionary, "Preacher" = /datum/alt_title/preacher, "Counselor" = /datum/alt_title/counselor, "Guru" = /datum/alt_title/guru)
+
+/datum/alt_title/guru
+ title = "Guru"
+ title_blurb = "The Guru primarily tries to offer spiritual guidance to those who come seeking it."
+
+/datum/alt_title/missionary
+ title = "Missionary"
+
+/datum/alt_title/preacher
+ title = "Preacher"
@@ -79,17 +196,43 @@
outfit_type = /decl/hierarchy/outfit/job/assistant
job_description = "An entertainer does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic."
- alt_titles = list("Performer" = /datum/alt_title/performer, "Musician" = /datum/alt_title/musician, "Stagehand" = /datum/alt_title/stagehand)
+ alt_titles = list("Performer" = /datum/alt_title/performer, "Musician" = /datum/alt_title/musician, "Stagehand" = /datum/alt_title/stagehand,
+ "Actor" = /datum/alt_title/actor, "Dancer" = /datum/alt_title/dancer, "Singer" = /datum/alt_title/singer,
+ "Magician" = /datum/alt_title/magician, "Comedian" = /datum/alt_title/comedian, "Tragedian" = /datum/alt_title/tragedian)
// Entertainer Alt Titles
+/datum/alt_title/actor
+ title = "Actor"
+ title_blurb = "An Actor is someone who acts out a role! Whatever sort of character it is, get into it and impress people with power of comedy and tragedy!"
+
/datum/alt_title/performer
title = "Performer"
- title_blurb = "A Performer is someone who performs! Acting, dancing, wrestling, etc!"
+ title_blurb = "A Performer is someone who performs! Whatever sort of performance will come to your mind, the world's a stage!"
/datum/alt_title/musician
title = "Musician"
- title_blurb = "A Musician is someone who makes music! Singing, playing instruments, slam poetry, it's your call!"
+ title_blurb = "A Musician is someone who makes music with a wide variety of musical instruments!"
/datum/alt_title/stagehand
title = "Stagehand"
- title_blurb = "A Stagehand typically performs everything the rest of the entertainers don't. Operate lights, shutters, windows, or narrate through your voicebox!"
\ No newline at end of file
+ title_blurb = "A Stagehand typically performs everything the rest of the entertainers don't. Operate lights, shutters, windows, or narrate through your voicebox!"
+
+/datum/alt_title/dancer
+ title = "Dancer"
+ title_blurb = "A Dancer is someone who impresses people through power of their own body! From waltz to breakdance, as long as crowd as cheering!"
+
+/datum/alt_title/singer
+ title = "Singer"
+ title_blurb = "A Singer is someone with gift of melodious voice! Impress people with your vocal range!"
+
+/datum/alt_title/magician
+ title = "Magician"
+ title_blurb = "A Magician is someone who awes those around them with impossible! Show off your repertoire of magic tricks, while keeping the secret hidden!"
+
+/datum/alt_title/comedian
+ title = "Comedian"
+ title_blurb = "A Comedian will focus on making people laugh with the power of wit! Telling jokes, stand-up comedy, you are here to make others smile!"
+
+/datum/alt_title/tragedian
+ title = "Tragedian"
+ title_blurb = "A Tragedian will focus on making people think about life and world around them! Life is a tragedy, and who's better to convey its emotions than you?"
\ No newline at end of file
diff --git a/code/game/jobs/job/engineering_vr.dm b/code/game/jobs/job/engineering_vr.dm
index e0f106ac80..8799aa3905 100644
--- a/code/game/jobs/job/engineering_vr.dm
+++ b/code/game/jobs/job/engineering_vr.dm
@@ -12,10 +12,38 @@
access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
access_heads, access_construction,
access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload)
+ alt_titles = list("Head Engineer" = /datum/alt_title/head_engineer, "Foreman" = /datum/alt_title/foreman, "Maintenance Manager" = /datum/alt_title/maintenance_manager)
+
+/datum/alt_title/head_engineer
+ title = "Head Engineer"
+
+/datum/alt_title/foreman
+ title = "Foreman"
+
+/datum/alt_title/maintenance_manager
+ title = "Maintenance Manager"
+
/datum/job/engineer
pto_type = PTO_ENGINEERING
+ alt_titles = list("Maintenance Technician" = /datum/alt_title/maint_tech, "Engine Technician" = /datum/alt_title/engine_tech,
+ "Electrician" = /datum/alt_title/electrician, "Construction Engineer" = /datum/alt_title/construction_engi)
+
+/datum/alt_title/construction_engi
+ title = "Construction Engineer"
+ title_blurb = "A Construction Engineer fulfills similar duties to other engineers, but usually occupies spare time with construction of extra facilities in dedicated areas or \
+ as additions to station layout."
+
+
/datum/job/atmos
spawn_positions = 3
- pto_type = PTO_ENGINEERING
\ No newline at end of file
+ pto_type = PTO_ENGINEERING
+ alt_titles = list("Atmospherics Maintainer" = /datum/alt_title/atmos_maint, "Disposals Technician" = /datum/alt_title/disposals_tech)
+
+/datum/alt_title/atmos_maint
+ title = "Atmospherics Maintainer"
+
+/datum/alt_title/disposals_tech
+ title = "Disposals Technician"
+ title_blurb = "A Disposals Technician is an Atmospheric Technician still and can fulfill all the same duties, although specializes more in disposals delivery system's operations and configurations."
\ No newline at end of file
diff --git a/code/game/jobs/job/exploration_vr.dm b/code/game/jobs/job/exploration_vr.dm
index d555c531a2..0e6e003f7d 100644
--- a/code/game/jobs/job/exploration_vr.dm
+++ b/code/game/jobs/job/exploration_vr.dm
@@ -29,6 +29,8 @@ var/const/SAR =(1<<14)
color = "#bab421"
sorting_order = 2 // Same as cargo in importance.
+
+
/datum/job/pathfinder
title = "Pathfinder"
flag = PATHFINDER
@@ -50,9 +52,14 @@ var/const/SAR =(1<<14)
minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_gateway)
outfit_type = /decl/hierarchy/outfit/job/pathfinder
job_description = "The Pathfinder's job is to lead and manage expeditions, and is the primary authority on all off-station expeditions."
+ alt_titles = list("Expedition Lead" = /datum/alt_title/expedition_lead, "Exploration Manager" = /datum/alt_title/exploration_manager)
+
+/datum/alt_title/expedition_lead
+ title = "Expedition Lead"
+
+/datum/alt_title/exploration_manager
+ title = "Exploration Manager"
-/datum/alt_title/pathfinder
- title = "Pathfinder"
/datum/job/pilot
title = "Pilot"
@@ -71,9 +78,15 @@ var/const/SAR =(1<<14)
minimal_access = list(access_pilot)
outfit_type = /decl/hierarchy/outfit/job/pilot
job_description = "A Pilot flies the various shuttles in the Virgo-Erigone System."
+ alt_titles = list("Co-Pilot" = /datum/alt_title/co_pilot, "Navigator" = /datum/alt_title/navigator)
+
+/datum/alt_title/co_pilot
+ title = "Co-Pilot"
+ title_blurb = "A Co-Pilot is there primarily to assist main pilot as well as learn from them"
+
+/datum/alt_title/navigator
+ title = "Navigator"
-/datum/alt_title/pilot
- title = "Pilot"
/datum/job/explorer
title = "Explorer"
@@ -91,9 +104,14 @@ var/const/SAR =(1<<14)
minimal_access = list(access_explorer, access_external_airlocks, access_eva)
outfit_type = /decl/hierarchy/outfit/job/explorer2
job_description = "An Explorer searches for interesting things, and returns them to the station."
+ alt_titles = list("Surveyor" = /datum/alt_title/surveyor, "Offsite Scout" = /datum/alt_title/offsite_scout)
+
+/datum/alt_title/surveyor
+ title = "Surveyor"
+
+/datum/alt_title/offsite_scout
+ title = "Offsite Scout"
-/datum/alt_title/explorer
- title = "Explorer"
/datum/job/sar
title = "Field Medic"
@@ -112,24 +130,7 @@ var/const/SAR =(1<<14)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_pilot)
outfit_type = /decl/hierarchy/outfit/job/medical/sar
job_description = "A Field medic works as the field doctor of expedition teams."
+ alt_titles = list("Expedition Medic" = /datum/alt_title/expedition_medic)
-/datum/alt_title/field_medic
- title = "Field Medic"
-
-/datum/job/offduty_exploration
- title = "Off-duty Explorer"
- latejoin_only = TRUE
- timeoff_factor = -1
- total_positions = -1
- faction = "Station"
- departments = list(DEPARTMENT_OFFDUTY)
- supervisors = "nobody! Enjoy your time off"
- selection_color = "#999440"
- access = list(access_maint_tunnels, access_external_airlocks)
- minimal_access = list(access_maint_tunnels, access_external_airlocks)
- outfit_type = /decl/hierarchy/outfit/job/assistant/explorer
- job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
- pto_type = PTO_EXPLORATION
-
-/datum/alt_title/offduty_exp
- title = "Off-duty Explorer"
\ No newline at end of file
+/datum/alt_title/expedition_medic
+ title = "Expedition Medic"
diff --git a/code/game/jobs/job/medical_vr.dm b/code/game/jobs/job/medical_vr.dm
index 72286ca880..2679137cf0 100644
--- a/code/game/jobs/job/medical_vr.dm
+++ b/code/game/jobs/job/medical_vr.dm
@@ -10,16 +10,71 @@
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads,
access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
access_keycard_auth, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels)
+ alt_titles = list("Chief Physician" = /datum/alt_title/chief_physician, "Medical Director" = /datum/alt_title/medical_director, "Healthcare Manager" = /datum/alt_title/healthcare_manager)
+
+/datum/alt_title/chief_physician
+ title = "Chief Physician"
+
+/datum/alt_title/medical_director
+ title = "Medical Director"
+
+/datum/alt_title/healthcare_manager
+ title = "Healthcare Manager"
+
/datum/job/doctor
spawn_positions = 5
pto_type = PTO_MEDICAL
+ alt_titles = list("Physician" = /datum/alt_title/physician, "Medical Practitioner" = /datum/alt_title/medical_practitioner, "Surgeon" = /datum/alt_title/surgeon,
+ "Emergency Physician" = /datum/alt_title/emergency_physician, "Nurse" = /datum/alt_title/nurse, "Orderly" = /datum/alt_title/orderly,
+ "Virologist" = /datum/alt_title/virologist)
+
+
+/datum/alt_title/physician
+ title = "Physician"
+
+/datum/alt_title/medical_practitioner
+ title = "Medical Practitioner"
+
+/datum/alt_title/orderly
+ title = "Orderly"
+ title_blurb = "An Orderly acts as Medbay's general helping hand, assisting any doctor that might need some form of help, as well as handling manual \
+ and dirty labor around the department."
+ title_outfit = /decl/hierarchy/outfit/job/medical/doctor/nurse
+
/datum/job/chemist
pto_type = PTO_MEDICAL
+ alt_titles = list("Pharmacist" = /datum/alt_title/pharmacist, "Pharmacologist" = /datum/alt_title/pharmacologist)
+
+/datum/alt_title/pharmacologist
+ title = "Pharmacologist"
+ title_blurb = "A Pharmacologist focuses on the chemical needs of the Medical Department, primarily specializing in producing more advanced forms of medicine."
+
/datum/job/psychiatrist
pto_type = PTO_MEDICAL
+ alt_titles = list("Psychologist" = /datum/alt_title/psychologist, "Psychoanalyst" = /datum/alt_title/psychoanalyst, "Psychotherapist" = /datum/alt_title/psychotherapist)
+
+/datum/alt_title/psychoanalyst
+ title = "Psychoanalyst"
+ title_blurb = "A Psychoanalyst provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \
+ called upon to determine whatever ails the mentally unwell, frequently under Security supervision."
+ title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist
+
+/datum/alt_title/psychotherapist
+ title = "Psychotherapist"
+ title_blurb = "A Psychotherapist provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \
+ called upon to determine whatever ails the mentally unwell, frequently under Security supervision."
+ title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist
+
/datum/job/paramedic
- pto_type = PTO_MEDICAL
\ No newline at end of file
+ pto_type = PTO_MEDICAL
+ alt_titles = list("Emergency Medical Technician" = /datum/alt_title/emt, "Medical Responder" = /datum/alt_title/medical_responder)
+
+/datum/alt_title/medical_responder
+ title = "Medical Responder"
+ title_blurb = "A Medical Responder is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \
+ own. They are capable of keeping a patient stabilized until they reach the hands of someone with more training."
+ title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt
\ No newline at end of file
diff --git a/code/game/jobs/job/offduty_vr.dm b/code/game/jobs/job/offduty_vr.dm
index 416543956c..9a1b5ce954 100644
--- a/code/game/jobs/job/offduty_vr.dm
+++ b/code/game/jobs/job/offduty_vr.dm
@@ -16,9 +16,7 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/worker
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_CIVILIAN
-
-/datum/alt_title/offduty_civ
- title = "Off-duty Worker"
+ economic_modifier = 2
/datum/job/offduty_cargo
title = "Off-duty Cargo"
@@ -34,9 +32,7 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/cargo
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_CARGO
-
-/datum/alt_title/offduty_crg
- title = "Off-duty Cargo"
+ economic_modifier = 2
/datum/job/offduty_engineering
title = "Off-duty Engineer"
@@ -52,9 +48,7 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/engineer
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_ENGINEERING
-
-/datum/alt_title/offduty_eng
- title = "Off-duty Engineer"
+ economic_modifier = 5
/datum/job/offduty_medical
title = "Off-duty Medic"
@@ -70,9 +64,7 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/medic
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_MEDICAL
-
-/datum/alt_title/offduty_med
- title = "Off-duty Medic"
+ economic_modifier = 5
/datum/job/offduty_science
title = "Off-duty Scientist"
@@ -88,9 +80,7 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/scientist
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_SCIENCE
-
-/datum/alt_title/offduty_sci
- title = "Off-duty Scientist"
+ economic_modifier = 5
/datum/job/offduty_security
title = "Off-duty Officer"
@@ -106,6 +96,20 @@
outfit_type = /decl/hierarchy/outfit/job/assistant/officer
job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
pto_type = PTO_SECURITY
+ economic_modifier = 4
-/datum/alt_title/offduty_sec
- title = "Off-duty Officer"
+/datum/job/offduty_exploration
+ title = "Off-duty Explorer"
+ latejoin_only = TRUE
+ timeoff_factor = -1
+ total_positions = -1
+ faction = "Station"
+ departments = list(DEPARTMENT_OFFDUTY)
+ supervisors = "nobody! Enjoy your time off"
+ selection_color = "#999440"
+ access = list(access_maint_tunnels, access_external_airlocks)
+ minimal_access = list(access_maint_tunnels, access_external_airlocks)
+ outfit_type = /decl/hierarchy/outfit/job/assistant/explorer
+ job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off."
+ pto_type = PTO_EXPLORATION
+ economic_modifier = 5
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index d82ce3f148..e69fecaf9e 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -22,8 +22,7 @@
minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
access_tox_storage, access_teleporter, access_sec_doors,
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
- access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels)
- alt_titles = list("Research Supervisor")
+ access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels) //Yawn added "access_maint_tunnels"
minimum_character_age = 25
minimal_player_age = 14
diff --git a/code/game/jobs/job/science_vr.dm b/code/game/jobs/job/science_vr.dm
index 998f057340..b9096ddbc9 100644
--- a/code/game/jobs/job/science_vr.dm
+++ b/code/game/jobs/job/science_vr.dm
@@ -11,32 +11,79 @@
minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
access_tox_storage, access_teleporter,
access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage,
- access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_eva, access_network,
- access_explorer, access_pathfinder, access_xenobotany) //YW Edit access_gateway, _explorer, _pathfinder, and _xenobotany
+ access_RC_announce, access_keycard_auth, access_tcomsat, access_xenoarch, access_eva, access_network, access_xenobotany,
+ access_explorer, access_pathfinder, access_xenobotany) //YW Edit access_gateway, _explorer, _pathfinder, and _xenobotany
+ alt_titles = list("Research Supervisor" = /datum/alt_title/research_supervisor, "Research Manager" = /datum/alt_title/research_manager,
+ "Head of Development" = /datum/alt_title/head_of_development,"Head Scientist" = /datum/alt_title/head_scientist)
+
+/datum/alt_title/research_manager
+ title = "Research Manager"
+
+/datum/alt_title/head_of_development
+ title = "Head of Development"
+
+/datum/alt_title/head_scientist
+ title = "Head Scientist"
+
/datum/job/scientist
spawn_positions = 5
pto_type = PTO_SCIENCE
- alt_titles = list("Xenoarchaeologist" = /datum/alt_title/xenoarch, "Anomalist" = /datum/alt_title/anomalist, \
- "Phoron Researcher" = /datum/alt_title/phoron_research, "Circuit Designer" = /datum/alt_title/circuit_designer)
+ alt_titles = list("Lab Assistant" = /datum/alt_title/lab_assistant, "Xenoarchaeologist" = /datum/alt_title/xenoarch, "Xenopaleontologist" = /datum/alt_title/xenopaleontologist, \
+ "Anomalist" = /datum/alt_title/anomalist, "Phoron Researcher" = /datum/alt_title/phoron_research, "Gas Physicist" = /datum/alt_title/gas_physicist, \
+ "Circuit Designer" = /datum/alt_title/circuit_designer, "Circuit Programmer" = /datum/alt_title/circuit_programmer)
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch, access_xenobotany)
minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) // Unchanged (for now?), mostly here for reference
+/datum/alt_title/lab_assistant
+ title = "Lab Assistant"
+ title_blurb = "A Lab Assistant is a lower-level member of research staff, whose main purpose is to help scientists with their specialized work in more menial fashion, while also \
+ learning the specializations in process."
+
+/datum/alt_title/xenopaleontologist
+ title = "Xenopaleontologist"
+ title_blurb = "A Xenopaleontologist enters digsites in search of fossils and other ancient remants of alien life. These digsites are frequently in vacuum or other inhospitable \
+ locations, and as such a Xenopaleontologist should be prepared to handle hostile evironmental conditions."
+
+/datum/alt_title/gas_physicist
+ title = "Gas Physicist"
+ title_blurb = "A Gas Physicist is a specialist in various practical applications of gasses, but currently focuses their attention on phoron, and has knowledge of its practical uses and dangers. \
+ Many Gas Physicists are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \
+ of working with the substance in that state."
/datum/alt_title/circuit_designer
title = "Circuit Designer"
title_blurb = "A Circuit Designer is a Scientist whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \
They work to create various useful devices using the capabilities of integrated circuitry."
+/datum/alt_title/circuit_programmer
+ title = "Circuit Programmer"
+ title_blurb = "A Circuit Programmer is a Scientist whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \
+ They work to create various useful devices using the capabilities of integrated circuitry."
+
+
/datum/job/xenobiologist
spawn_positions = 3
pto_type = PTO_SCIENCE
+ alt_titles = list("Xenozoologist" = /datum/alt_title/xenozoologist, "Xenoanthropologist" = /datum/alt_title/xenoanthropologist)
+
+/datum/alt_title/xenozoologist
+ title = "Xenozoologist"
+
+/datum/alt_title/xenoanthropologist
+ title = "Xenoanthropologist"
+ title_blurb = "Xenoanthropologist still heavily focuses their study on alien lifeforms, but their specialty leans more towards fellow sapient beings than simple animals."
+
/datum/job/roboticist
total_positions = 3
pto_type = PTO_SCIENCE
+ alt_titles = list("Assembly Technician" = /datum/alt_title/assembly_tech, "Biomechanical Engineer" = /datum/alt_title/biomech, "Mechatronic Engineer" = /datum/alt_title/mech_tech)
+
+/datum/alt_title/assembly_tech
+ title = "Assembly Technician"
//////////////////////////////////
// Xenobotanist
@@ -61,3 +108,7 @@
outfit_type = /decl/hierarchy/outfit/job/science/xenobiologist
job_description = "A Xenobotanist grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \
are both safe and beneficial to the station, they may choose to introduce it to the rest of the crew."
+ alt_titles = list("Xenoflorist" = /datum/alt_title/xenoflorist)
+
+/datum/alt_title/xenoflorist
+ title = "Xenoflorist"
diff --git a/code/game/jobs/job/security_vr.dm b/code/game/jobs/job/security_vr.dm
index 4f7604b937..e9b9017d9a 100644
--- a/code/game/jobs/job/security_vr.dm
+++ b/code/game/jobs/job/security_vr.dm
@@ -11,15 +11,47 @@
access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
access_construction,
access_heads, access_hos, access_RC_announce, access_keycard_auth, access_external_airlocks)
+ alt_titles = list("Security Commander" = /datum/alt_title/sec_commander, "Chief of Security" = /datum/alt_title/sec_chief, "Security Manager" = /datum/alt_title/security_manager)
+
+/datum/alt_title/security_manager
+ title = "Security Manager"
+
/datum/job/warden
pto_type = PTO_SECURITY
dept_time_required = 20
+ alt_titles = list("Brig Sentry" = /datum/alt_title/brig_sentry, "Armory Superintendent" = /datum/alt_title/armory_superintendent)
+
+/datum/alt_title/brig_sentry
+ title = "Brig Sentry"
+
+/datum/alt_title/armory_superintendent
+ title = "Armory Superintendent"
+
/datum/job/detective
pto_type = PTO_SECURITY
+ alt_titles = list("Investigator" = /datum/alt_title/investigator, "Security Inspector" = /datum/alt_title/security_inspector, "Forensic Technician" = /datum/alt_title/forensic_tech)
+
+/datum/alt_title/investigator
+ title = "Investigator"
+
+/datum/alt_title/security_inspector
+ title = "Security Inspector"
+
/datum/job/officer
total_positions = 5
spawn_positions = 5
- pto_type = PTO_SECURITY
\ No newline at end of file
+ pto_type = PTO_SECURITY
+ alt_titles = list("Patrol Officer" = /datum/alt_title/patrol_officer, "Security Guard" = /datum/alt_title/security_guard,
+ "Security Deputy" = /datum/alt_title/security_guard, "Junior Officer" = /datum/alt_title/junior_officer)
+
+/datum/alt_title/patrol_officer
+ title = "Patrol Officer"
+
+/datum/alt_title/security_guard
+ title = "Security Guard"
+
+/datum/alt_title/security_deputy
+ title = "Security Deputy"
\ No newline at end of file
diff --git a/code/game/jobs/job/special_vr.dm b/code/game/jobs/job/special_vr.dm
index 3df016f991..57f0e91d34 100644
--- a/code/game/jobs/job/special_vr.dm
+++ b/code/game/jobs/job/special_vr.dm
@@ -85,18 +85,18 @@
selection_color = "#515151"
economic_modifier = 1
job_description = "A Clown is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!"
- alt_titles = list("Clown" = /datum/alt_title/clown, "Jester" = /datum/alt_title/jester)
whitelist_only = 1
latejoin_only = 1
outfit_type = /decl/hierarchy/outfit/job/clown
pto_type = PTO_CIVILIAN
-
-/datum/alt_title/clown
- title = "Clown"
+ alt_titles = list("Jester" = /datum/alt_title/jester, "Fool" = /datum/alt_title/fool)
/datum/alt_title/jester
title = "Jester"
+/datum/alt_title/fool
+ title = "Fool"
+
/datum/job/clown/get_access()
if(config.assistant_maint)
return list(access_maint_tunnels, access_entertainment)
@@ -115,17 +115,14 @@
selection_color = "#515151"
economic_modifier = 1
job_description = "A Mime is there to entertain the crew and keep high morale using unbelievable performances and acting skills!"
- alt_titles = list("Mime" = /datum/alt_title/mime, "Interpretive Dancer" = /datum/alt_title/interpretive_dancer)
+ alt_titles = list("Poseur" = /datum/alt_title/poseur)
whitelist_only = 1
latejoin_only = 1
outfit_type = /decl/hierarchy/outfit/job/mime
pto_type = PTO_CIVILIAN
-/datum/alt_title/mime
- title = "Mime"
-
-/datum/alt_title/interpretive_dancer
- title = "Interpretive Dancer"
+/datum/alt_title/poseur
+ title = "Poseur"
/datum/job/mime/get_access()
if(config.assistant_maint)
diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm
index 3aec6c8c37..4e53589c2f 100644
--- a/code/game/jobs/job_controller.dm
+++ b/code/game/jobs/job_controller.dm
@@ -387,7 +387,7 @@ var/global/datum/controller/occupations/job_master
if(job)
//Equip custom gear loadout.
- var/list/custom_equip_slots = list() //If more than one item takes the same slot, all after the first one spawn in storage.
+ var/list/custom_equip_slots = list()
var/list/custom_equip_leftovers = list()
if(H.client.prefs.gear && H.client.prefs.gear.len && !(job.mob_type & JOB_SILICON))
for(var/thing in H.client.prefs.gear)
@@ -420,14 +420,15 @@ var/global/datum/controller/occupations/job_master
I.implant_loadout(H)
continue
- // Try desperately (and sorta poorly) to equip the item
+ // Try desperately (and sorta poorly) to equip the item. Now with increased desperation!
if(G.slot && !(G.slot in custom_equip_slots))
var/metadata = H.client.prefs.gear[G.display_name]
if(G.slot == slot_wear_mask || G.slot == slot_wear_suit || G.slot == slot_head)
custom_equip_leftovers += thing
else if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot))
to_chat(H, "Equipping you with \the [thing]!")
- custom_equip_slots.Add(G.slot)
+ if(G.slot != slot_tie)
+ custom_equip_slots.Add(G.slot)
else
custom_equip_leftovers.Add(thing)
else
diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm
index d4e00e6c22..44c359bd86 100644
--- a/code/game/machinery/air_alarm.dm
+++ b/code/game/machinery/air_alarm.dm
@@ -29,8 +29,7 @@
desc = "Used to control various station atmospheric systems. The light indicates the current air status of the area."
icon = 'icons/obj/monitors.dmi' //YW Edit, removed VR sprites
icon_state = "alarm0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
use_power = USE_POWER_IDLE
idle_power_usage = 80
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 0f209a1a99..d15ea493ec 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -2,8 +2,7 @@
name = "button"
icon = 'icons/obj/objects.dmi'
icon_state = "launcherbtt"
-// plane = TURF_PLANE //Can't have them under tables, oh well.
-// layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
desc = "A remote control switch for something."
var/id = null
var/active = 0
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 6921cf989c..7ff97c83e8 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -30,7 +30,7 @@
// If it's a generic arcade machine, pick a random arcade
// circuit board for it and make the new machine
if(!circuit)
- var/choice = pick(typesof(/obj/item/weapon/circuitboard/arcade) - /obj/item/weapon/circuitboard/arcade)
+ var/choice = pick(subtypesof(/obj/item/weapon/circuitboard/arcade) - /obj/item/weapon/circuitboard/arcade/clawmachine)
var/obj/item/weapon/circuitboard/CB = new choice()
new CB.build_path(loc, CB)
qdel(src)
@@ -1072,3 +1072,250 @@
#undef ORION_STATUS_NORMAL
#undef ORION_STATUS_GAMEOVER
#undef ORION_STATUS_MARKET
+
+//////////////////
+// Claw Machine //
+//////////////////
+
+/obj/machinery/computer/arcade/clawmachine
+ name = "AlliCo Grab-a-Gift"
+ desc = "Show off your arcade skills for that special someone!"
+ icon_state = "clawmachine"
+ icon_keyboard = null
+ icon_screen = null
+ circuit = /obj/item/weapon/circuitboard/arcade/clawmachine
+ prizes = list(/obj/random/plushie)
+ var/wintick = 0
+ var/winprob = 0
+ var/instructions = "Insert 1 thaler or swipe a card to play!"
+ var/gameStatus = "CLAWMACHINE_NEW"
+ var/gamepaid = 0
+ var/gameprice = 1
+ var/winscreen = ""
+
+/// Payment
+/obj/machinery/computer/arcade/clawmachine/attackby(obj/item/I as obj, mob/user as mob)
+ if(..())
+ return
+
+ if(gamepaid == 0 && vendor_account && !vendor_account.suspended)
+ var/paid = 0
+ var/obj/item/weapon/card/id/W = I.GetID()
+ if(W) //for IDs and PDAs and wallets with IDs
+ paid = pay_with_card(W,I)
+ else if(istype(I, /obj/item/weapon/spacecash/ewallet))
+ var/obj/item/weapon/spacecash/ewallet/C = I
+ paid = pay_with_ewallet(C)
+ else if(istype(I, /obj/item/weapon/spacecash))
+ var/obj/item/weapon/spacecash/C = I
+ paid = pay_with_cash(C, user)
+ if(paid)
+ gamepaid = 1
+ instructions = "Hit start to play!"
+ return
+ return
+
+////// Cash
+/obj/machinery/computer/arcade/clawmachine/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, mob/user)
+ if(!emagged)
+ if(gameprice > cashmoney.worth)
+
+ // This is not a status display message, since it's something the character
+ // themselves is meant to see BEFORE putting the money in
+ to_chat(usr, "[bicon(cashmoney)] That is not enough money.")
+ return 0
+
+ if(istype(cashmoney, /obj/item/weapon/spacecash))
+
+ visible_message("\The [usr] inserts some cash into \the [src].")
+ cashmoney.worth -= gameprice
+
+ if(cashmoney.worth <= 0)
+ usr.drop_from_inventory(cashmoney)
+ qdel(cashmoney)
+ else
+ cashmoney.update_icon()
+
+ // Machine has no idea who paid with cash
+ credit_purchase("(cash)")
+ return 1
+ if(emagged)
+ playsound(src, 'sound/arcade/steal.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE)
+ to_chat(user, "It doesn't seem to accept that! Seem you'll need to swipe a valid ID.")
+
+
+///// Ewallet
+/obj/machinery/computer/arcade/clawmachine/proc/pay_with_ewallet(var/obj/item/weapon/spacecash/ewallet/wallet)
+ if(!emagged)
+ visible_message("\The [usr] swipes \the [wallet] through \the [src].")
+ playsound(src, 'sound/machines/id_swipe.ogg', 50, 1)
+ if(gameprice > wallet.worth)
+ visible_message("Insufficient funds.")
+ return 0
+ else
+ wallet.worth -= gameprice
+ credit_purchase("[wallet.owner_name] (chargecard)")
+ return 1
+ if(emagged)
+ playsound(src, 'sound/arcade/steal.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE)
+ to_chat(usr, "It doesn't seem to accept that! Seem you'll need to swipe a valid ID.")
+
+///// ID
+/obj/machinery/computer/arcade/clawmachine/proc/pay_with_card(var/obj/item/weapon/card/id/I, var/obj/item/ID_container)
+ if(I==ID_container || ID_container == null)
+ visible_message("\The [usr] swipes \the [I] through \the [src].")
+ else
+ visible_message("\The [usr] swipes \the [ID_container] through \the [src].")
+ playsound(src, 'sound/machines/id_swipe.ogg', 50, 1)
+ var/datum/money_account/customer_account = get_account(I.associated_account_number)
+ if(!customer_account)
+ visible_message("Error: Unable to access account. Please contact technical support if problem persists.")
+ return 0
+
+ if(customer_account.suspended)
+ visible_message("Unable to access account: account suspended.")
+ return 0
+
+ // Have the customer punch in the PIN before checking if there's enough money. Prevents people from figuring out acct is
+ // empty at high security levels
+ if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2)
+ var/attempt_pin = input("Enter pin code", "Vendor transaction") as num
+ customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2)
+
+ if(!customer_account)
+ visible_message("Unable to access account: incorrect credentials.")
+ return 0
+
+ if(gameprice > customer_account.money)
+ visible_message("Insufficient funds in account.")
+ return 0
+ else
+ // Okay to move the money at this point
+ if(emagged)
+ gameprice = customer_account.money
+ // debit money from the purchaser's account
+ customer_account.money -= gameprice
+
+ // create entry in the purchaser's account log
+ var/datum/transaction/T = new()
+ T.target_name = "[vendor_account.owner_name] (via [name])"
+ T.purpose = "Purchase of arcade game([name])"
+ if(gameprice > 0)
+ T.amount = "([gameprice])"
+ else
+ T.amount = "[gameprice]"
+ T.source_terminal = name
+ T.date = current_date_string
+ T.time = stationtime2text()
+ customer_account.transaction_log.Add(T)
+
+ // Give the vendor the money. We use the account owner name, which means
+ // that purchases made with stolen/borrowed card will look like the card
+ // owner made them
+ credit_purchase(customer_account.owner_name)
+ return 1
+
+/// Add to vendor account
+
+/obj/machinery/computer/arcade/clawmachine/proc/credit_purchase(var/target as text)
+ vendor_account.money += gameprice
+
+ var/datum/transaction/T = new()
+ T.target_name = target
+ T.purpose = "Purchase of arcade game([name])"
+ T.amount = "[gameprice]"
+ T.source_terminal = name
+ T.date = current_date_string
+ T.time = stationtime2text()
+ vendor_account.transaction_log.Add(T)
+
+/// End Payment
+
+/obj/machinery/computer/arcade/clawmachine/New()
+ ..()
+
+/obj/machinery/computer/arcade/clawmachine/attack_hand(mob/living/user)
+ if(..())
+ return
+ tgui_interact(user)
+
+/// TGUI Stuff
+
+/obj/machinery/computer/arcade/clawmachine/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state)
+ ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "ClawMachine", name, 300, 400, master_ui, state)
+ ui.autoupdate = TRUE
+ ui.open()
+
+/obj/machinery/computer/arcade/clawmachine/tgui_data(mob/user)
+ var/list/data = list()
+
+ data["wintick"] = wintick
+ data["instructions"] = instructions
+ data["gameStatus"] = gameStatus
+ data["winscreen"] = winscreen
+
+ return data
+
+/obj/machinery/computer/arcade/clawmachine/tgui_act(action, params)
+ if(..())
+ return
+
+ if(action == "newgame" && gamepaid == 0)
+ playsound(src, 'sound/arcade/steal.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE)
+
+ if(action == "newgame" && gamepaid == 1)
+ gameStatus = "CLAWMACHINE_ON"
+ icon_state = "clawmachine_move"
+ instructions = "Guide the claw to the prize you want!"
+ wintick = 0
+
+ if(action == "return" && gameStatus == "CLAWMACHINE_END")
+ gameStatus = "CLAWMACHINE_NEW"
+
+ if(action == "pointless" && wintick < 10)
+ wintick += 1
+
+ if(action == "pointless" && wintick >= 10)
+ instructions = "Insert 1 thaler or swipe a card to play!"
+ clawvend()
+
+/obj/machinery/computer/arcade/clawmachine/proc/clawvend() /// True to a real claw machine, it's NEARLY impossible to win.
+ winprob += 1 /// Yeah.
+
+ if(prob(winprob)) /// YEAH.
+ if(!emagged)
+ prizevend()
+ winscreen = "You won!"
+ else if(emagged)
+ gameprice = 1
+ emagged = 0
+ winscreen = "You won...?"
+ var/obj/item/weapon/grenade/G = new /obj/item/weapon/grenade/explosive(get_turf(src)) /// YEAAAAAAAAAAAAAAAAAAH!!!!!!!!!!
+ G.activate()
+ G.throw_at(get_turf(usr),10,10) /// Play stupid games, win stupid prizes.
+
+ playsound(src, 'sound/arcade/Ori_win.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE)
+ winprob = 0
+
+ else
+ playsound(src, 'sound/arcade/Ori_fail.ogg', 50, 1, extrarange = -3, falloff = 0.1, ignore_walls = FALSE)
+ winscreen = "Aw, shucks. Try again!"
+ wintick = 0
+ gamepaid = 0
+ icon_state = "clawmachine"
+ gameStatus = "CLAWMACHINE_END"
+
+/obj/machinery/computer/arcade/clawmachine/emag_act(mob/user)
+ if(!emagged)
+ to_chat(user, "You modify the claw of the machine. The next one is sure to win! You just have to pay...")
+ name = "AlliCo Snag-A-Prize"
+ desc = "Get some goodies, all for you!"
+ instructions = "Swipe a card to play!"
+ winprob = 100
+ gamepaid = 0
+ wintick = 0
+ gameStatus = "CLAWMACHINE_NEW"
+ emagged = 1
+ return 1
\ No newline at end of file
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 29783c4c9c..f04aba5a25 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -59,8 +59,7 @@
name = "Telescreen"
desc = "Used for watching an empty arena."
icon_state = "wallframe"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = null
light_range_on = 0
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index 40a0f03d8e..bd5ca6f964 100644
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -79,8 +79,7 @@
name = "guest pass terminal"
desc = "Used to print temporary passes for people. Handy!"
icon_state = "guest"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = "pass"
density = 0
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index f3c930fe78..adf53c80a8 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -137,7 +137,7 @@
fields[++fields.len] = FIELD("Name", active1.fields["name"], null)
fields[++fields.len] = FIELD("ID", active1.fields["id"], null)
fields[++fields.len] = FIELD("Sex", active1.fields["sex"], "sex")
- fields[++fields.len] = FIELD("Age", active1.fields["age"], "age")
+ fields[++fields.len] = FIELD("Age", "[active1.fields["age"]]", "age")
fields[++fields.len] = FIELD("Fingerprint", active1.fields["fingerprint"], "fingerprint")
fields[++fields.len] = FIELD("Physical Status", active1.fields["p_stat"], "p_stat")
fields[++fields.len] = FIELD("Mental Status", active1.fields["m_stat"], "m_stat")
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index b7c8ecc45b..0b6ab77d7a 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -148,7 +148,7 @@
fields[++fields.len] = FIELD("ID", active1.fields["id"], "id")
fields[++fields.len] = FIELD("Entity Classification", active1.fields["brain_type"], "brain_type")
fields[++fields.len] = FIELD("Sex", active1.fields["sex"], "sex")
- fields[++fields.len] = FIELD("Age", active1.fields["age"], "age")
+ fields[++fields.len] = FIELD("Age", "[active1.fields["age"]]", "age")
fields[++fields.len] = FIELD("Rank", active1.fields["rank"], "rank")
fields[++fields.len] = FIELD("Fingerprint", active1.fields["fingerprint"], "fingerprint")
fields[++fields.len] = FIELD("Physical Status", active1.fields["p_stat"], null)
diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm
index 521f07cf67..4fa8a41901 100644
--- a/code/game/machinery/doors/airlock_control.dm
+++ b/code/game/machinery/doors/airlock_control.dm
@@ -148,6 +148,7 @@ obj/machinery/door/airlock/Destroy()
obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
+ layer = ABOVE_WINDOW_LAYER
name = "airlock sensor"
desc = "Sends atmospheric readings to a nearby controller."
@@ -233,6 +234,7 @@ obj/machinery/airlock_sensor/airlock_exterior/shuttle/return_air()
obj/machinery/access_button
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "access_button_standby"
+ layer = ABOVE_WINDOW_LAYER
name = "access button"
anchored = 1
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 9fa4945f5b..c9262675cf 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -22,6 +22,7 @@
name = "Door Timer"
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
+ layer = ABOVE_WINDOW_LAYER
desc = "A remote control for a door."
req_access = list(access_brig)
anchored = 1.0 // can't pick it up
diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm
index 262ffacf41..96a7e15aa0 100644
--- a/code/game/machinery/embedded_controller/airlock_controllers.dm
+++ b/code/game/machinery/embedded_controller/airlock_controllers.dm
@@ -15,6 +15,7 @@
var/list/dummy_terminals = list()
var/cycle_to_external_air = 0
valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort", "purge", "secure")
+ layer = ABOVE_WINDOW_LAYER
/obj/machinery/embedded_controller/radio/airlock/Destroy()
// TODO - Leshana - Implement dummy terminals
diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm
index e80869e4d9..315d470432 100644
--- a/code/game/machinery/fire_alarm.dm
+++ b/code/game/machinery/fire_alarm.dm
@@ -6,8 +6,7 @@ FIRE ALARM
desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever."
icon = 'icons/obj/monitors.dmi'
icon_state = "fire0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
var/detecting = 1.0
var/working = 1.0
var/time = 10.0
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 5aa42ff26a..cbd688b643 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -4,6 +4,7 @@
desc = "A wall-mounted flashbulb device."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "mflash1"
+ layer = ABOVE_WINDOW_LAYER
var/id = null
var/range = 2 //this is roughly the size of brig cell
var/disable = 0
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index ee887db2f5..70a2e3ce4c 100755
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -48,6 +48,7 @@
desc = "A wall-mounted ignition device."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "migniter"
+ layer = ABOVE_WINDOW_LAYER
var/id = null
var/disable = 0
var/last_spark = 0
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index 81efc0f42b..a208e6eefd 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -6,6 +6,7 @@
desc = "It turns lights on and off. What are you, simple?"
icon = 'icons/obj/power_vr.dmi' // VOREStation Edit
icon_state = "light1"
+ layer = ABOVE_WINDOW_LAYER
anchored = 1.0
use_power = USE_POWER_IDLE
idle_power_usage = 10
diff --git a/code/game/machinery/neonsign.dm b/code/game/machinery/neonsign.dm
index bdaa3b62fd..742a810d4a 100644
--- a/code/game/machinery/neonsign.dm
+++ b/code/game/machinery/neonsign.dm
@@ -4,6 +4,7 @@
desc = "Small wall-mounted electronic sign"
icon = 'icons/obj/neonsigns.dmi'
icon_state = "sign_off"
+ layer = ABOVE_WINDOW_LAYER
plane = MOB_PLANE
use_power = USE_POWER_IDLE
idle_power_usage = 2
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 7786baf208..c463a837d1 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -126,8 +126,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster)
desc = "A standard newsfeed handler for use on commercial space stations. All the news you absolutely have no use for, in one place!"
icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit
icon_state = "newscaster_normal"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
var/isbroken = 0 //1 if someone banged it with something heavy
var/ispowered = 1 //starts powered, changes with power_change()
//var/list/datum/feed_channel/channel_list = list() //This list will contain the names of the feed channels. Each name will refer to a data region where the messages of the feed channels are stored.
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 86b339e6d5..a24bc582b9 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -28,8 +28,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
anchored = 1
icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit
icon_state = "req_comp0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
circuit = /obj/item/weapon/circuitboard/request
var/department = "Unknown" //The list of all departments on the station (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department
var/list/message_log = list() //List of all messages
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 14b85a7861..949b8a4df6 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -13,7 +13,7 @@
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
name = "status display"
anchored = 1
density = 0
@@ -267,4 +267,4 @@
#undef FOND_SIZE
#undef FONT_COLOR
#undef FONT_STYLE
-#undef SCROLL_SPEED
\ No newline at end of file
+#undef SCROLL_SPEED
diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm
index d0764221ba..4a88b7248b 100644
--- a/code/game/machinery/status_display_ai.dm
+++ b/code/game/machinery/status_display_ai.dm
@@ -59,6 +59,7 @@ var/list/ai_status_emotions = list(
/obj/machinery/ai_status_display
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
+ layer = ABOVE_WINDOW_LAYER
name = "AI display"
anchored = 1
density = 0
diff --git a/code/game/machinery/vending_machines.dm b/code/game/machinery/vending_machines.dm
index 82c9eb0581..3ebb93289a 100644
--- a/code/game/machinery/vending_machines.dm
+++ b/code/game/machinery/vending_machines.dm
@@ -396,6 +396,7 @@
description_fluff = "NanoMed is NanoTrasen's medical science division, and provides almost all of the modern medbay essentials in-house at no extra charge. By using this vending machine, employees accept liability for products that may or may not be temporarily replaced by placebos or experimental treatments."
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
icon_state = "wallmed"
+ layer = ABOVE_WINDOW_LAYER
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
products = list(/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 2,
@@ -413,6 +414,7 @@
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
description_fluff = "NanoMed is NanoTrasen's medical science division, and provides almost all of the modern medbay essentials in-house at no extra charge. By using this vending machine, employees accept liability for products that may or may not be temporarily replaced by placebos or experimental treatments."
icon_state = "wallmed"
+ layer = ABOVE_WINDOW_LAYER
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
products = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 5,
/obj/item/weapon/reagent_containers/syringe/antitoxin = 3,
@@ -826,3 +828,53 @@
/obj/item/stack/cable_coil/random = 4)
premium = list(/obj/item/weapon/storage/box/wormcan/deluxe = 1)
contraband = list(/obj/item/weapon/storage/box/wormcan/deluxe = 1)
+
+
+/obj/machinery/vending/virtual_autodrobe
+ name = "Virtual AutoDrobe"
+ desc = "A virtual vending machine for virtual avatar customization."
+ icon_state = "Theater"
+ product_slogans = "Dress for success!;Suited and booted!;It's show time!;Why leave style up to fate? Use AutoDrobe!"
+ products = list(/obj/item/weapon/storage/box/syndie_kit/chameleon = 20)
+
+
+/obj/machinery/vending/deathmatch
+ name = "Annihilation Shop (Green)"
+ desc = "A virtual vending machine for virtual murder equipment. This one's for green team."
+ products = list(/obj/item/weapon/melee/energy/sword = 5,
+ /obj/item/weapon/melee/energy/axe = 5,
+ /obj/item/weapon/melee/baton/loaded = 5,
+ /obj/item/weapon/gun/energy/laser = 5,
+ /obj/item/weapon/gun/projectile/shotgun/pump/combat = 5,
+ /obj/item/ammo_magazine/clip/c12g/pellet = 40,
+ /obj/item/ammo_magazine/clip/c12g = 50,
+ /obj/item/weapon/storage/box/flashbangs = 2,
+ /obj/item/clothing/head/helmet/swat = 5,
+ /obj/item/clothing/suit/armor/vest = 5,
+ /obj/item/clothing/head/helmet/thunderdome = 5,
+ /obj/item/clothing/shoes/brown = 5,
+ /obj/item/clothing/suit/armor/tdome/green = 5,
+ /obj/item/clothing/under/color/green = 5,
+ /obj/item/weapon/reagent_containers/pill/adminordrazine = 10,
+ /obj/item/weapon/tool/crowbar = 1)
+
+
+/obj/machinery/vending/deathmatch/red
+ name = "Annihilation Shop (Red)"
+ desc = "A virtual vending machine for virtual murder equipment. This one's for red team."
+ products = list(/obj/item/weapon/melee/energy/sword = 5,
+ /obj/item/weapon/melee/energy/axe = 5,
+ /obj/item/weapon/melee/baton/loaded = 5,
+ /obj/item/weapon/gun/energy/laser = 5,
+ /obj/item/weapon/gun/projectile/shotgun/pump/combat = 5,
+ /obj/item/ammo_magazine/clip/c12g/pellet = 40,
+ /obj/item/ammo_magazine/clip/c12g = 50,
+ /obj/item/weapon/storage/box/flashbangs = 2,
+ /obj/item/clothing/head/helmet/swat = 5,
+ /obj/item/clothing/suit/armor/vest = 5,
+ /obj/item/clothing/head/helmet/thunderdome = 5,
+ /obj/item/clothing/shoes/brown = 5,
+ /obj/item/clothing/suit/armor/tdome/red = 5,
+ /obj/item/clothing/under/color/red = 5,
+ /obj/item/weapon/reagent_containers/pill/adminordrazine = 10,
+ /obj/item/weapon/tool/crowbar = 1)
diff --git a/code/game/machinery/vending_machines_vr.dm b/code/game/machinery/vending_machines_vr.dm
index 7261f9f66b..d5cb68ad84 100644
--- a/code/game/machinery/vending_machines_vr.dm
+++ b/code/game/machinery/vending_machines_vr.dm
@@ -1334,3 +1334,3109 @@
/obj/machinery/vending/cola/soft
icon = 'icons/obj/vending_vr.dmi'
icon_state = "Cola_Machine"
+
+//Tweaked existing vendors
+/obj/machinery/vending/hydroseeds/New()
+ products += list(/obj/item/seeds/shrinkshroom = 3,/obj/item/seeds/megashroom = 3)
+ ..()
+
+/obj/machinery/vending/security/New()
+ products += list(/obj/item/weapon/gun/energy/taser = 8,/obj/item/weapon/gun/energy/stunrevolver = 4,
+ /obj/item/weapon/reagent_containers/spray/pepper = 6,/obj/item/taperoll/police = 6,
+ /obj/item/clothing/glasses/omnihud/sec = 6)
+ ..()
+
+/obj/machinery/vending/tool/New()
+ products += list(/obj/item/weapon/reagent_containers/spray/windowsealant = 5)
+ ..()
+
+/obj/machinery/vending/engivend/New()
+ products += list(/obj/item/clothing/glasses/omnihud/eng = 6)
+ contraband += list(/obj/item/weapon/rms = 5)
+ ..()
+
+/obj/machinery/vending/medical/New()
+ products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/backup_implanter = 3,
+ /obj/item/clothing/glasses/omnihud/med = 4, /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4)
+ ..()
+
+//I want this not just as part of the zoo. ;v
+/obj/machinery/vending/food
+ name = "Food-O-Mat"
+ desc = "A technological marvel, supposedly able to cook or mix a large variety of food or drink."
+ icon_state = "hotfood"
+ products = list(/obj/item/weapon/tray = 8,
+ /obj/item/weapon/material/kitchen/utensil/fork = 6,
+ /obj/item/weapon/material/knife/plastic = 6,
+ /obj/item/weapon/material/kitchen/utensil/spoon = 6,
+ /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/taco = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/hotdog = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/omelette = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 8,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/waffles = 4,
+ /obj/item/weapon/reagent_containers/food/snacks/muffin = 4,
+ /obj/item/weapon/reagent_containers/food/snacks/appletart = 4,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2
+ )
+ contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10)
+ vend_delay = 15
+
+/obj/machinery/vending/food/arojoan //Fluff vendor for the lewd houseboat.
+ name = "Custom Food-O-Mat"
+ desc = "Do you think Joan cooks? Of course not. Lazy squirrel!"
+ products = list(/obj/item/weapon/tray = 6,
+ /obj/item/weapon/material/kitchen/utensil/fork = 6,
+ /obj/item/weapon/material/knife/plastic = 6,
+ /obj/item/weapon/material/kitchen/utensil/spoon = 6,
+ /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/hotdog = 3,
+ /obj/item/weapon/storage/box/wings = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/omelette = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/waffles = 3,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 1,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 1,
+ /obj/item/weapon/reagent_containers/food/snacks/appletart = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 1,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2
+ )
+ contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10)
+ vend_delay = 15
+/* For later, then
+/obj/machinery/vending/weapon_machine
+ name = "Frozen Star Guns&Ammo"
+ desc = "A self-defense equipment vending machine. When you need to take care of that clown."
+ product_slogans = "The best defense is good offense!;Buy for your whole family today!;Nobody can outsmart bullet!;God created man - Frozen Star made them EQUAL!;Nobody can outsmart bullet!;Stupidity can be cured! By LEAD.;Dead kids can't bully your children!"
+ product_ads = "Stunning!;Take justice in your own hands!;LEADearship!"
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "weapon"
+ products = list(/obj/item/device/flash = 6,/obj/item/weapon/reagent_containers/spray/pepper = 6, /obj/item/weapon/gun/projectile/olivaw = 5, /obj/item/weapon/gun/projectile/giskard = 5, /obj/item/ammo_magazine/mg/cl32/rubber = 20)
+ contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6)
+ prices = list(/obj/item/device/flash = 600,/obj/item/weapon/reagent_containers/spray/pepper = 800, /obj/item/weapon/gun/projectile/olivaw = 1600, /obj/item/weapon/gun/projectile/giskard = 1200, /obj/item/ammo_magazine/mg/cl32/rubber = 200)
+*/
+
+/obj/machinery/vending/fitness/New()
+ products += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 8)
+ prices += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 5)
+ ..()
+
+/obj/machinery/vending/blood
+ name = "Blood-Onator"
+ desc = "Freezer-vendor for storage and quick dispensing of blood packs"
+ product_ads = "The true life juice!;Vampire's choice!;Home-grown blood only!;Donate today, be saved tomorrow!;Approved by Zeng-Hu Pharmaceuticals Incorporated!; Curse you, Vey-Med artificial blood!"
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "blood"
+ vend_delay = 7
+ idle_power_usage = 211
+ req_access = list(access_medical)
+ products = list(/obj/item/weapon/reagent_containers/blood/prelabeled/APlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/AMinus = 3,
+ /obj/item/weapon/reagent_containers/blood/prelabeled/BPlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/BMinus = 3,
+ /obj/item/weapon/reagent_containers/blood/prelabeled/OPlus = 2,/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus = 5,
+ /obj/item/weapon/reagent_containers/blood/empty = 5)
+ contraband = list(/obj/item/weapon/reagent_containers/glass/bottle/stoxin = 2)
+ req_log_access = access_cmo
+ has_logs = 1
+
+/obj/machinery/vending/loadout
+ name = "Fingers and Toes"
+ desc = "A special vendor for gloves and shoes!"
+ product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes."
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "glovesnshoes"
+ products = list(/obj/item/clothing/gloves/evening = 5,
+ /obj/item/clothing/gloves/fingerless = 5,
+ /obj/item/clothing/gloves/black = 5,
+ /obj/item/clothing/gloves/blue = 5,
+ /obj/item/clothing/gloves/brown = 5,
+ /obj/item/clothing/gloves/color = 5,
+ /obj/item/clothing/gloves/green = 5,
+ /obj/item/clothing/gloves/grey = 5,
+ /obj/item/clothing/gloves/sterile/latex = 5,
+ /obj/item/clothing/gloves/light_brown = 5,
+ /obj/item/clothing/gloves/sterile/nitrile = 5,
+ /obj/item/clothing/gloves/orange = 5,
+ /obj/item/clothing/gloves/purple = 5,
+ /obj/item/clothing/gloves/red = 5,
+ /obj/item/clothing/gloves/fluff/siren = 5,
+ /obj/item/clothing/gloves/white = 5,
+ /obj/item/clothing/gloves/duty = 5,
+ /obj/item/clothing/shoes/athletic = 5,
+ /obj/item/clothing/shoes/boots/fluff/siren = 5,
+ /obj/item/clothing/shoes/slippers = 5,
+ /obj/item/clothing/shoes/boots/cowboy/classic = 5,
+ /obj/item/clothing/shoes/boots/cowboy = 5,
+ /obj/item/clothing/shoes/boots/duty = 5,
+ /obj/item/clothing/shoes/flats/white/color = 5,
+ /obj/item/clothing/shoes/flipflop = 5,
+ /obj/item/clothing/shoes/heels = 5,
+ /obj/item/clothing/shoes/hitops/black = 5,
+ /obj/item/clothing/shoes/hitops/blue = 5,
+ /obj/item/clothing/shoes/hitops/green = 5,
+ /obj/item/clothing/shoes/hitops/orange = 5,
+ /obj/item/clothing/shoes/hitops/purple = 5,
+ /obj/item/clothing/shoes/hitops/red = 5,
+ /obj/item/clothing/shoes/flats/white/color = 5,
+ /obj/item/clothing/shoes/hitops/yellow = 5,
+ /obj/item/clothing/shoes/boots/jackboots = 5,
+ /obj/item/clothing/shoes/boots/jungle = 5,
+ /obj/item/clothing/shoes/black/cuffs = 5,
+ /obj/item/clothing/shoes/black/cuffs/blue = 5,
+ /obj/item/clothing/shoes/black/cuffs/red = 5,
+ /obj/item/clothing/shoes/sandal = 5,
+ /obj/item/clothing/shoes/black = 5,
+ /obj/item/clothing/shoes/blue = 5,
+ /obj/item/clothing/shoes/brown = 5,
+ /obj/item/clothing/shoes/laceup = 5,
+ /obj/item/clothing/shoes/green = 5,
+ /obj/item/clothing/shoes/laceup/brown = 5,
+ /obj/item/clothing/shoes/orange = 5,
+ /obj/item/clothing/shoes/purple = 5,
+ /obj/item/clothing/shoes/red = 5,
+ /obj/item/clothing/shoes/white = 5,
+ /obj/item/clothing/shoes/yellow = 5,
+ /obj/item/clothing/shoes/skater = 5,
+ /obj/item/clothing/shoes/boots/cowboy/snakeskin = 5,
+ /obj/item/clothing/shoes/boots/jackboots/toeless = 5,
+ /obj/item/clothing/shoes/boots/workboots/toeless = 5,
+ /obj/item/clothing/shoes/boots/winter = 5,
+ /obj/item/clothing/shoes/boots/workboots = 5,
+ /obj/item/clothing/shoes/footwraps = 5)
+ prices = list(/obj/item/clothing/gloves/evening = 50,
+ /obj/item/clothing/gloves/fingerless = 50,
+ /obj/item/clothing/gloves/black = 50,
+ /obj/item/clothing/gloves/blue = 50,
+ /obj/item/clothing/gloves/brown = 50,
+ /obj/item/clothing/gloves/color = 50,
+ /obj/item/clothing/gloves/green = 50,
+ /obj/item/clothing/gloves/grey = 50,
+ /obj/item/clothing/gloves/sterile/latex = 100,
+ /obj/item/clothing/gloves/light_brown = 50,
+ /obj/item/clothing/gloves/sterile/nitrile = 100,
+ /obj/item/clothing/gloves/orange = 50,
+ /obj/item/clothing/gloves/purple = 50,
+ /obj/item/clothing/gloves/red = 50,
+ /obj/item/clothing/gloves/fluff/siren = 50,
+ /obj/item/clothing/gloves/white = 50,
+ /obj/item/clothing/gloves/duty = 150,
+ /obj/item/clothing/shoes/athletic = 50,
+ /obj/item/clothing/shoes/boots/fluff/siren = 50,
+ /obj/item/clothing/shoes/slippers = 50,
+ /obj/item/clothing/shoes/boots/cowboy/classic = 50,
+ /obj/item/clothing/shoes/boots/cowboy = 50,
+ /obj/item/clothing/shoes/boots/duty = 100,
+ /obj/item/clothing/shoes/flats/white/color = 50,
+ /obj/item/clothing/shoes/flipflop = 50,
+ /obj/item/clothing/shoes/heels = 50,
+ /obj/item/clothing/shoes/hitops/black = 50,
+ /obj/item/clothing/shoes/hitops/blue = 50,
+ /obj/item/clothing/shoes/hitops/green = 50,
+ /obj/item/clothing/shoes/hitops/orange = 50,
+ /obj/item/clothing/shoes/hitops/purple = 50,
+ /obj/item/clothing/shoes/hitops/red = 50,
+ /obj/item/clothing/shoes/flats/white/color = 50,
+ /obj/item/clothing/shoes/hitops/yellow = 50,
+ /obj/item/clothing/shoes/boots/jackboots = 50,
+ /obj/item/clothing/shoes/boots/jungle = 100,
+ /obj/item/clothing/shoes/black/cuffs = 50,
+ /obj/item/clothing/shoes/black/cuffs/blue = 50,
+ /obj/item/clothing/shoes/black/cuffs/red = 50,
+ /obj/item/clothing/shoes/sandal = 50,
+ /obj/item/clothing/shoes/black = 50,
+ /obj/item/clothing/shoes/blue = 50,
+ /obj/item/clothing/shoes/brown = 50,
+ /obj/item/clothing/shoes/laceup = 50,
+ /obj/item/clothing/shoes/green = 50,
+ /obj/item/clothing/shoes/laceup/brown = 50,
+ /obj/item/clothing/shoes/orange = 50,
+ /obj/item/clothing/shoes/purple = 50,
+ /obj/item/clothing/shoes/red = 50,
+ /obj/item/clothing/shoes/white = 50,
+ /obj/item/clothing/shoes/yellow = 50,
+ /obj/item/clothing/shoes/skater = 50,
+ /obj/item/clothing/shoes/boots/cowboy/snakeskin = 50,
+ /obj/item/clothing/shoes/boots/jackboots/toeless = 50,
+ /obj/item/clothing/shoes/boots/workboots/toeless = 50,
+ /obj/item/clothing/shoes/boots/winter = 50,
+ /obj/item/clothing/shoes/boots/workboots = 50,
+ /obj/item/clothing/shoes/footwraps = 50)
+ premium = list(/obj/item/clothing/gloves/rainbow = 1,
+ /obj/item/clothing/shoes/rainbow = 1,)
+ contraband = list(/obj/item/clothing/shoes/syndigaloshes = 1,
+ /obj/item/clothing/shoes/clown_shoes = 1)
+
+/obj/machinery/vending/loadout/uniform
+ name = "The Basics"
+ desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms."
+ product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!"
+ icon_state = "loadout"
+ vend_delay = 16
+ products = list(/obj/item/device/pda = 50,
+ /obj/item/device/radio/headset = 50,
+ /obj/item/weapon/storage/backpack/ = 10,
+ /obj/item/weapon/storage/backpack/messenger = 10,
+ /obj/item/weapon/storage/backpack/satchel = 10,
+ /obj/item/clothing/under/color = 5,
+ /obj/item/clothing/under/color/aqua = 5,
+ /obj/item/clothing/under/color/black = 5,
+ /obj/item/clothing/under/color/blackjumpskirt = 5,
+ /obj/item/clothing/under/color/blue = 5,
+ /obj/item/clothing/under/color/brown = 5,
+ /obj/item/clothing/under/color/green = 5,
+ /obj/item/clothing/under/color/grey = 5,
+ /obj/item/clothing/under/color/orange = 5,
+ /obj/item/clothing/under/color/pink = 5,
+ /obj/item/clothing/under/color/red = 5,
+ /obj/item/clothing/under/color/white = 5,
+ /obj/item/clothing/under/color/yellow = 5,
+ /obj/item/clothing/shoes/black = 20,
+ /obj/item/clothing/shoes/white = 20)
+ prices = list()
+
+/obj/machinery/vending/loadout/accessory
+ name = "Looty Inc."
+ desc = "A special vendor for accessories."
+ product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!"
+ icon_state = "accessory"
+ vend_delay = 6
+ products = list(/obj/item/clothing/accessory = 5,
+ /obj/item/clothing/accessory/armband/med/color = 10,
+ /obj/item/clothing/accessory/asymmetric = 5,
+ /obj/item/clothing/accessory/asymmetric/purple = 5,
+ /obj/item/clothing/accessory/asymmetric/green = 5,
+ /obj/item/clothing/accessory/bracelet = 5,
+ /obj/item/clothing/accessory/bracelet/material = 5,
+ /obj/item/clothing/accessory/bracelet/friendship = 5,
+ /obj/item/clothing/accessory/chaps = 5,
+ /obj/item/clothing/accessory/chaps/black = 5,
+ /obj/item/weapon/storage/briefcase/clutch = 1,
+ /obj/item/clothing/accessory/collar = 5,
+ /obj/item/clothing/accessory/collar/bell = 5,
+ /obj/item/clothing/accessory/collar/spike = 5,
+ /obj/item/clothing/accessory/collar/pink = 5,
+ /obj/item/clothing/accessory/collar/holo = 5,
+ /obj/item/clothing/accessory/collar/shock = 5,
+ /obj/item/weapon/storage/belt/fannypack = 1,
+ /obj/item/weapon/storage/belt/fannypack/white = 5,
+ /obj/item/clothing/accessory/fullcape = 5,
+ /obj/item/clothing/accessory/halfcape = 5,
+ /obj/item/clothing/accessory/hawaii = 5,
+ /obj/item/clothing/accessory/hawaii/random = 5,
+ /obj/item/clothing/accessory/locket = 5,
+ /obj/item/weapon/storage/backpack/purse = 1,
+ /obj/item/clothing/accessory/sash = 5,
+ /obj/item/clothing/accessory/scarf = 5,
+ /obj/item/clothing/accessory/scarf/red = 5,
+ /obj/item/clothing/accessory/scarf/darkblue = 5,
+ /obj/item/clothing/accessory/scarf/purple = 5,
+ /obj/item/clothing/accessory/scarf/yellow = 5,
+ /obj/item/clothing/accessory/scarf/orange = 5,
+ /obj/item/clothing/accessory/scarf/lightblue = 5,
+ /obj/item/clothing/accessory/scarf/white = 5,
+ /obj/item/clothing/accessory/scarf/black = 5,
+ /obj/item/clothing/accessory/scarf/zebra = 5,
+ /obj/item/clothing/accessory/scarf/christmas = 5,
+ /obj/item/clothing/accessory/scarf/stripedred = 5,
+ /obj/item/clothing/accessory/scarf/stripedgreen = 5,
+ /obj/item/clothing/accessory/scarf/stripedblue = 5,
+ /obj/item/clothing/accessory/jacket = 5,
+ /obj/item/clothing/accessory/jacket/checkered = 5,
+ /obj/item/clothing/accessory/jacket/burgundy = 5,
+ /obj/item/clothing/accessory/jacket/navy = 5,
+ /obj/item/clothing/accessory/jacket/charcoal = 5,
+ /obj/item/clothing/accessory/vest = 5,
+ /obj/item/clothing/accessory/sweater = 5,
+ /obj/item/clothing/accessory/sweater/pink = 5,
+ /obj/item/clothing/accessory/sweater/mint = 5,
+ /obj/item/clothing/accessory/sweater/blue = 5,
+ /obj/item/clothing/accessory/sweater/heart = 5,
+ /obj/item/clothing/accessory/sweater/nt = 5,
+ /obj/item/clothing/accessory/sweater/keyhole = 5,
+ /obj/item/clothing/accessory/sweater/winterneck = 5,
+ /obj/item/clothing/accessory/sweater/uglyxmas = 5,
+ /obj/item/clothing/accessory/sweater/flowersweater = 5,
+ /obj/item/clothing/accessory/sweater/redneck = 5,
+ /obj/item/clothing/accessory/tie = 5,
+ /obj/item/clothing/accessory/tie/horrible = 5,
+ /obj/item/clothing/accessory/tie/white = 5,
+ /obj/item/clothing/accessory/tie/navy = 5,
+ /obj/item/clothing/accessory/tie/yellow = 5,
+ /obj/item/clothing/accessory/tie/darkgreen = 5,
+ /obj/item/clothing/accessory/tie/black = 5,
+ /obj/item/clothing/accessory/tie/red_long = 5,
+ /obj/item/clothing/accessory/tie/red_clip = 5,
+ /obj/item/clothing/accessory/tie/blue_long = 5,
+ /obj/item/clothing/accessory/tie/blue_clip = 5,
+ /obj/item/clothing/accessory/tie/red = 5,
+ /obj/item/clothing/accessory/wcoat = 5,
+ /obj/item/clothing/accessory/wcoat/red = 5,
+ /obj/item/clothing/accessory/wcoat/grey = 5,
+ /obj/item/clothing/accessory/wcoat/brown = 5,
+ /obj/item/clothing/accessory/wcoat/gentleman = 5,
+ /obj/item/clothing/accessory/wcoat/swvest = 5,
+ /obj/item/clothing/accessory/wcoat/swvest/blue = 5,
+ /obj/item/clothing/accessory/wcoat/swvest/red = 5,
+ /obj/item/weapon/storage/wallet = 5,
+ /obj/item/weapon/storage/wallet/poly = 5,
+ /obj/item/weapon/storage/wallet/womens = 5,
+ /obj/item/weapon/lipstick = 5,
+ /obj/item/weapon/lipstick/purple = 5,
+ /obj/item/weapon/lipstick/jade = 5,
+ /obj/item/weapon/lipstick/black = 5,
+ /obj/item/clothing/ears/earmuffs = 5,
+ /obj/item/clothing/ears/earmuffs/headphones = 5,
+ /obj/item/clothing/ears/earring/stud = 5,
+ /obj/item/clothing/ears/earring/dangle = 5,
+ /obj/item/clothing/gloves/ring/mariner = 5,
+ /obj/item/clothing/gloves/ring/engagement = 5,
+ /obj/item/clothing/gloves/ring/seal/signet = 5,
+ /obj/item/clothing/gloves/ring/seal/mason = 5,
+ /obj/item/clothing/gloves/ring/material/plastic = 5,
+ /obj/item/clothing/gloves/ring/material/steel = 5,
+ /obj/item/clothing/gloves/ring/material/gold = 5,
+ /obj/item/clothing/glasses/eyepatch = 5,
+ /obj/item/clothing/glasses/gglasses = 5,
+ /obj/item/clothing/glasses/regular/hipster = 5,
+ /obj/item/clothing/glasses/rimless = 5,
+ /obj/item/clothing/glasses/thin = 5,
+ /obj/item/clothing/glasses/monocle = 5,
+ /obj/item/clothing/glasses/goggles = 5,
+ /obj/item/clothing/glasses/fluff/spiffygogs = 5,
+ /obj/item/clothing/glasses/fakesunglasses = 5,
+ /obj/item/clothing/glasses/fakesunglasses/aviator = 5,
+ /obj/item/clothing/mask/bandana/blue = 5,
+ /obj/item/clothing/mask/bandana/gold = 5,
+ /obj/item/clothing/mask/bandana/green = 5,
+ /obj/item/clothing/mask/bandana/red = 5,
+ /obj/item/clothing/mask/surgical = 5)
+ prices = list(/obj/item/clothing/accessory = 50,
+ /obj/item/clothing/accessory/armband/med/color = 50,
+ /obj/item/clothing/accessory/asymmetric = 50,
+ /obj/item/clothing/accessory/asymmetric/purple = 50,
+ /obj/item/clothing/accessory/asymmetric/green = 50,
+ /obj/item/clothing/accessory/bracelet = 50,
+ /obj/item/clothing/accessory/bracelet/material = 50,
+ /obj/item/clothing/accessory/bracelet/friendship = 50,
+ /obj/item/clothing/accessory/chaps = 50,
+ /obj/item/clothing/accessory/chaps/black = 50,
+ /obj/item/weapon/storage/briefcase/clutch = 50,
+ /obj/item/clothing/accessory/collar = 50,
+ /obj/item/clothing/accessory/collar/bell = 50,
+ /obj/item/clothing/accessory/collar/spike = 50,
+ /obj/item/clothing/accessory/collar/pink = 50,
+ /obj/item/clothing/accessory/collar/holo = 50,
+ /obj/item/clothing/accessory/collar/shock = 50,
+ /obj/item/weapon/storage/belt/fannypack = 50,
+ /obj/item/weapon/storage/belt/fannypack/white = 50,
+ /obj/item/clothing/accessory/fullcape = 50,
+ /obj/item/clothing/accessory/halfcape = 50,
+ /obj/item/clothing/accessory/hawaii = 50,
+ /obj/item/clothing/accessory/hawaii/random = 50,
+ /obj/item/clothing/accessory/locket = 50,
+ /obj/item/weapon/storage/backpack/purse = 50,
+ /obj/item/clothing/accessory/sash = 50,
+ /obj/item/clothing/accessory/scarf = 5,
+ /obj/item/clothing/accessory/scarf/red = 50,
+ /obj/item/clothing/accessory/scarf/darkblue = 50,
+ /obj/item/clothing/accessory/scarf/purple = 50,
+ /obj/item/clothing/accessory/scarf/yellow = 100,
+ /obj/item/clothing/accessory/scarf/orange = 50,
+ /obj/item/clothing/accessory/scarf/lightblue = 50,
+ /obj/item/clothing/accessory/scarf/white = 50,
+ /obj/item/clothing/accessory/scarf/black = 50,
+ /obj/item/clothing/accessory/scarf/zebra = 50,
+ /obj/item/clothing/accessory/scarf/christmas = 50,
+ /obj/item/clothing/accessory/scarf/stripedred = 50,
+ /obj/item/clothing/accessory/scarf/stripedgreen = 50,
+ /obj/item/clothing/accessory/scarf/stripedblue = 50,
+ /obj/item/clothing/accessory/jacket = 50,
+ /obj/item/clothing/accessory/jacket/checkered = 50,
+ /obj/item/clothing/accessory/jacket/burgundy = 50,
+ /obj/item/clothing/accessory/jacket/navy = 50,
+ /obj/item/clothing/accessory/jacket/charcoal = 50,
+ /obj/item/clothing/accessory/vest = 50,
+ /obj/item/clothing/accessory/sweater = 50,
+ /obj/item/clothing/accessory/sweater/pink = 50,
+ /obj/item/clothing/accessory/sweater/mint = 50,
+ /obj/item/clothing/accessory/sweater/blue = 50,
+ /obj/item/clothing/accessory/sweater/heart = 50,
+ /obj/item/clothing/accessory/sweater/nt = 5,
+ /obj/item/clothing/accessory/sweater/keyhole = 50,
+ /obj/item/clothing/accessory/sweater/winterneck = 50,
+ /obj/item/clothing/accessory/sweater/uglyxmas = 5,
+ /obj/item/clothing/accessory/sweater/flowersweater = 50,
+ /obj/item/clothing/accessory/sweater/redneck = 50,
+ /obj/item/clothing/accessory/tie = 50,
+ /obj/item/clothing/accessory/tie/horrible = 50,
+ /obj/item/clothing/accessory/tie/white = 50,
+ /obj/item/clothing/accessory/tie/navy = 50,
+ /obj/item/clothing/accessory/tie/yellow = 50,
+ /obj/item/clothing/accessory/tie/darkgreen = 50,
+ /obj/item/clothing/accessory/tie/black = 50,
+ /obj/item/clothing/accessory/tie/red_long = 50,
+ /obj/item/clothing/accessory/tie/red_clip = 50,
+ /obj/item/clothing/accessory/tie/blue_long = 50,
+ /obj/item/clothing/accessory/tie/blue_clip = 50,
+ /obj/item/clothing/accessory/tie/red = 50,
+ /obj/item/clothing/accessory/wcoat = 50,
+ /obj/item/clothing/accessory/wcoat/red = 50,
+ /obj/item/clothing/accessory/wcoat/grey = 50,
+ /obj/item/clothing/accessory/wcoat/brown = 50,
+ /obj/item/clothing/accessory/wcoat/gentleman = 50,
+ /obj/item/clothing/accessory/wcoat/swvest = 50,
+ /obj/item/clothing/accessory/wcoat/swvest/blue = 50,
+ /obj/item/clothing/accessory/wcoat/swvest/red = 50,
+ /obj/item/weapon/storage/wallet = 50,
+ /obj/item/weapon/storage/wallet/poly = 50,
+ /obj/item/weapon/storage/wallet/womens = 50,
+ /obj/item/weapon/lipstick = 50,
+ /obj/item/weapon/lipstick/purple = 50,
+ /obj/item/weapon/lipstick/jade = 50,
+ /obj/item/weapon/lipstick/black = 50,
+ /obj/item/clothing/ears/earmuffs = 50,
+ /obj/item/clothing/ears/earmuffs/headphones = 50,
+ /obj/item/clothing/ears/earring/stud = 50,
+ /obj/item/clothing/ears/earring/dangle = 50,
+ /obj/item/clothing/gloves/ring/mariner = 50,
+ /obj/item/clothing/gloves/ring/engagement = 50,
+ /obj/item/clothing/gloves/ring/seal/signet = 50,
+ /obj/item/clothing/gloves/ring/seal/mason = 50,
+ /obj/item/clothing/gloves/ring/material/plastic = 50,
+ /obj/item/clothing/gloves/ring/material/steel = 50,
+ /obj/item/clothing/gloves/ring/material/gold = 100,
+ /obj/item/clothing/glasses/eyepatch = 50,
+ /obj/item/clothing/glasses/gglasses = 50,
+ /obj/item/clothing/glasses/regular/hipster = 50,
+ /obj/item/clothing/glasses/rimless = 50,
+ /obj/item/clothing/glasses/thin = 50,
+ /obj/item/clothing/glasses/monocle = 50,
+ /obj/item/clothing/glasses/goggles = 50,
+ /obj/item/clothing/glasses/fluff/spiffygogs = 50,
+ /obj/item/clothing/glasses/fakesunglasses = 50,
+ /obj/item/clothing/glasses/fakesunglasses/aviator = 50,
+ /obj/item/clothing/mask/bandana/blue = 50,
+ /obj/item/clothing/mask/bandana/gold = 50,
+ /obj/item/clothing/mask/bandana/green = 50,
+ /obj/item/clothing/mask/bandana/red = 50,
+ /obj/item/clothing/mask/surgical = 50)
+ premium = list(/obj/item/weapon/bedsheet/rainbow = 1)
+ contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1)
+
+/obj/machinery/vending/loadout/clothing
+ name = "General Jump"
+ desc = "A special vendor using compressed matter cartridges to store large amounts of clothing."
+ product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!"
+ icon_state = "clothing"
+ vend_delay = 16
+ products = list(/obj/item/clothing/under/bathrobe = 5,
+ /obj/item/clothing/under/dress/black_corset = 5,
+ /obj/item/clothing/under/blazer = 5,
+ /obj/item/clothing/under/blazer/skirt = 5,
+ /obj/item/clothing/under/cheongsam = 5,
+ /obj/item/clothing/under/cheongsam/red = 5,
+ /obj/item/clothing/under/cheongsam/blue = 5,
+ /obj/item/clothing/under/cheongsam/black = 5,
+ /obj/item/clothing/under/cheongsam/darkred = 5,
+ /obj/item/clothing/under/cheongsam/green = 5,
+ /obj/item/clothing/under/cheongsam/purple = 5,
+ /obj/item/clothing/under/cheongsam/darkblue = 5,
+ /obj/item/clothing/under/croptop = 5,
+ /obj/item/clothing/under/croptop/red = 5,
+ /obj/item/clothing/under/croptop/grey = 5,
+ /obj/item/clothing/under/cuttop = 5,
+ /obj/item/clothing/under/cuttop/red = 5,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 5,
+ /obj/item/clothing/under/dress/dress_fire = 5,
+ /obj/item/clothing/under/dress/flamenco = 5,
+ /obj/item/clothing/under/dress/flower_dress = 5,
+ /obj/item/clothing/under/fluff/gnshorts = 5,
+ /obj/item/clothing/under/color = 5,
+ /obj/item/clothing/under/color/aqua = 5,
+ /obj/item/clothing/under/color/black = 5,
+ /obj/item/clothing/under/color/blackf = 5,
+ /obj/item/clothing/under/color/blackjumpskirt = 5,
+ /obj/item/clothing/under/color/blue = 5,
+ /obj/item/clothing/under/color/brown = 5,
+ /obj/item/clothing/under/color/darkblue = 5,
+ /obj/item/clothing/under/color/darkred = 5,
+ /obj/item/clothing/under/color/green = 5,
+ /obj/item/clothing/under/color/grey = 5,
+ /obj/item/clothing/under/color/lightblue = 5,
+ /obj/item/clothing/under/color/lightbrown = 5,
+ /obj/item/clothing/under/color/lightgreen = 5,
+ /obj/item/clothing/under/color/lightpurple = 5,
+ /obj/item/clothing/under/color/lightred = 5,
+ /obj/item/clothing/under/color/orange = 5,
+ /obj/item/clothing/under/color/pink = 5,
+ /obj/item/clothing/under/color/prison = 5,
+ /obj/item/clothing/under/color/ranger = 5,
+ /obj/item/clothing/under/color/red = 5,
+ /obj/item/clothing/under/color/white = 5,
+ /obj/item/clothing/under/color/yellow = 5,
+ /obj/item/clothing/under/color/yellowgreen = 5,
+ /obj/item/clothing/under/aether = 5,
+ /obj/item/clothing/under/focal = 5,
+ /obj/item/clothing/under/hephaestus = 5,
+ /obj/item/clothing/under/wardt = 5,
+ /obj/item/clothing/under/kilt = 5,
+ /obj/item/clothing/under/fluff/latexmaid = 5,
+ /obj/item/clothing/under/dress/lilacdress = 5,
+ /obj/item/clothing/under/dress/white2 = 5,
+ /obj/item/clothing/under/dress/white4 = 5,
+ /obj/item/clothing/under/dress/maid = 5,
+ /obj/item/clothing/under/dress/maid/sexy = 5,
+ /obj/item/clothing/under/dress/maid/janitor = 5,
+ /obj/item/clothing/under/moderncoat = 5,
+ /obj/item/clothing/under/permit = 5,
+ /obj/item/clothing/under/oldwoman = 5,
+ /obj/item/clothing/under/frontier = 5,
+ /obj/item/clothing/under/mbill = 5,
+ /obj/item/clothing/under/pants/baggy/ = 5,
+ /obj/item/clothing/under/pants/baggy/classicjeans = 5,
+ /obj/item/clothing/under/pants/baggy/mustangjeans = 5,
+ /obj/item/clothing/under/pants/baggy/blackjeans = 5,
+ /obj/item/clothing/under/pants/baggy/greyjeans = 5,
+ /obj/item/clothing/under/pants/baggy/youngfolksjeans = 5,
+ /obj/item/clothing/under/pants/baggy/white = 5,
+ /obj/item/clothing/under/pants/baggy/red = 5,
+ /obj/item/clothing/under/pants/baggy/black = 5,
+ /obj/item/clothing/under/pants/baggy/tan = 5,
+ /obj/item/clothing/under/pants/baggy/track = 5,
+ /obj/item/clothing/under/pants/baggy/khaki = 5,
+ /obj/item/clothing/under/pants/baggy/camo = 5,
+ /obj/item/clothing/under/pants/utility/ = 5,
+ /obj/item/clothing/under/pants/utility/orange = 5,
+ /obj/item/clothing/under/pants/utility/blue = 5,
+ /obj/item/clothing/under/pants/utility/white = 5,
+ /obj/item/clothing/under/pants/utility/red = 5,
+ /obj/item/clothing/under/pants/chaps = 5,
+ /obj/item/clothing/under/pants/chaps/black = 5,
+ /obj/item/clothing/under/pants/track = 5,
+ /obj/item/clothing/under/pants/track/red = 5,
+ /obj/item/clothing/under/pants/track/white = 5,
+ /obj/item/clothing/under/pants/track/green = 5,
+ /obj/item/clothing/under/pants/track/blue = 5,
+ /obj/item/clothing/under/pants/yogapants = 5,
+ /obj/item/clothing/under/ascetic = 5,
+ /obj/item/clothing/under/dress/white3 = 5,
+ /obj/item/clothing/under/skirt/pleated = 5,
+ /obj/item/clothing/under/dress/darkred = 5,
+ /obj/item/clothing/under/dress/redeveninggown = 5,
+ /obj/item/clothing/under/dress/red_swept_dress = 5,
+ /obj/item/clothing/under/dress/sailordress = 5,
+ /obj/item/clothing/under/dress/sari = 5,
+ /obj/item/clothing/under/dress/sari/green = 5,
+ /obj/item/clothing/under/dress/qipao = 5,
+ /obj/item/clothing/under/dress/qipao/red = 5,
+ /obj/item/clothing/under/dress/qipao/white = 5,
+ /obj/item/clothing/under/shorts/red = 5,
+ /obj/item/clothing/under/shorts/green = 5,
+ /obj/item/clothing/under/shorts/blue = 5,
+ /obj/item/clothing/under/shorts/black = 5,
+ /obj/item/clothing/under/shorts/grey = 5,
+ /obj/item/clothing/under/shorts/white = 5,
+ /obj/item/clothing/under/shorts/jeans = 5,
+ /obj/item/clothing/under/shorts/jeans/ = 5,
+ /obj/item/clothing/under/shorts/jeans/classic = 5,
+ /obj/item/clothing/under/shorts/jeans/mustang = 5,
+ /obj/item/clothing/under/shorts/jeans/youngfolks = 5,
+ /obj/item/clothing/under/shorts/jeans/black = 5,
+ /obj/item/clothing/under/shorts/jeans/grey = 5,
+ /obj/item/clothing/under/shorts/khaki/ = 5,
+ /obj/item/clothing/under/skirt/loincloth = 5,
+ /obj/item/clothing/under/skirt/khaki = 5,
+ /obj/item/clothing/under/skirt/blue = 5,
+ /obj/item/clothing/under/skirt/red = 5,
+ /obj/item/clothing/under/skirt/denim = 5,
+ /obj/item/clothing/under/skirt/pleated = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_blue = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_red = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_purple = 5,
+ /obj/item/clothing/under/overalls/sleek = 5,
+ /obj/item/clothing/under/sl_suit = 5,
+ /obj/item/clothing/under/gentlesuit = 5,
+ /obj/item/clothing/under/gentlesuit/skirt = 5,
+ /obj/item/clothing/under/suit_jacket = 5,
+ /obj/item/clothing/under/suit_jacket/really_black/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/really_black = 5,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/female/ = 5,
+ /obj/item/clothing/under/suit_jacket/red = 5,
+ /obj/item/clothing/under/suit_jacket/red/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/charcoal = 5,
+ /obj/item/clothing/under/suit_jacket/charcoal/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/navy = 5,
+ /obj/item/clothing/under/suit_jacket/navy/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/burgundy = 5,
+ /obj/item/clothing/under/suit_jacket/burgundy/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/checkered = 5,
+ /obj/item/clothing/under/suit_jacket/checkered/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/tan = 5,
+ /obj/item/clothing/under/suit_jacket/tan/skirt = 5,
+ /obj/item/clothing/under/scratch = 5,
+ /obj/item/clothing/under/scratch/skirt = 5,
+ /obj/item/clothing/under/sundress = 5,
+ /obj/item/clothing/under/sundress_white = 5,
+ /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/blue = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/purple = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/green = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/red = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/white = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/earth = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/science = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/security = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/medical = 5,
+ /obj/item/clothing/under/utility = 5,
+ /obj/item/clothing/under/utility/grey = 5,
+ /obj/item/clothing/under/utility/blue = 5,
+ /obj/item/clothing/under/fluff/v_nanovest = 5,
+ /obj/item/clothing/under/dress/westernbustle = 5,
+ /obj/item/clothing/under/wedding/bride_white = 5,
+ /obj/item/weapon/storage/backpack/ = 5,
+ /obj/item/weapon/storage/backpack/messenger = 5,
+ /obj/item/weapon/storage/backpack/satchel = 5)
+ prices = list(/obj/item/clothing/under/bathrobe = 50,
+ /obj/item/clothing/under/dress/black_corset = 50,
+ /obj/item/clothing/under/blazer = 50,
+ /obj/item/clothing/under/blazer/skirt = 50,
+ /obj/item/clothing/under/cheongsam = 50,
+ /obj/item/clothing/under/cheongsam/red = 50,
+ /obj/item/clothing/under/cheongsam/blue = 50,
+ /obj/item/clothing/under/cheongsam/black = 50,
+ /obj/item/clothing/under/cheongsam/darkred = 50,
+ /obj/item/clothing/under/cheongsam/green = 50,
+ /obj/item/clothing/under/cheongsam/purple = 50,
+ /obj/item/clothing/under/cheongsam/darkblue = 50,
+ /obj/item/clothing/under/croptop = 50,
+ /obj/item/clothing/under/croptop/red = 50,
+ /obj/item/clothing/under/croptop/grey = 50,
+ /obj/item/clothing/under/cuttop = 50,
+ /obj/item/clothing/under/cuttop/red = 50,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 50,
+ /obj/item/clothing/under/dress/dress_fire = 50,
+ /obj/item/clothing/under/dress/flamenco = 50,
+ /obj/item/clothing/under/dress/flower_dress = 50,
+ /obj/item/clothing/under/fluff/gnshorts = 50,
+ /obj/item/clothing/under/color = 50,
+ /obj/item/clothing/under/color/aqua = 50,
+ /obj/item/clothing/under/color/black = 50,
+ /obj/item/clothing/under/color/blackf = 50,
+ /obj/item/clothing/under/color/blackjumpskirt = 50,
+ /obj/item/clothing/under/color/blue = 50,
+ /obj/item/clothing/under/color/brown = 50,
+ /obj/item/clothing/under/color/darkblue = 50,
+ /obj/item/clothing/under/color/darkred = 50,
+ /obj/item/clothing/under/color/green = 50,
+ /obj/item/clothing/under/color/grey = 50,
+ /obj/item/clothing/under/color/lightblue = 50,
+ /obj/item/clothing/under/color/lightbrown = 50,
+ /obj/item/clothing/under/color/lightgreen = 50,
+ /obj/item/clothing/under/color/lightpurple = 50,
+ /obj/item/clothing/under/color/lightred = 50,
+ /obj/item/clothing/under/color/orange = 50,
+ /obj/item/clothing/under/color/pink = 50,
+ /obj/item/clothing/under/color/prison = 50,
+ /obj/item/clothing/under/color/ranger = 50,
+ /obj/item/clothing/under/color/red = 50,
+ /obj/item/clothing/under/color/white = 50,
+ /obj/item/clothing/under/color/yellow = 50,
+ /obj/item/clothing/under/color/yellowgreen = 50,
+ /obj/item/clothing/under/aether = 50,
+ /obj/item/clothing/under/focal = 50,
+ /obj/item/clothing/under/hephaestus = 50,
+ /obj/item/clothing/under/wardt = 50,
+ /obj/item/clothing/under/kilt = 50,
+ /obj/item/clothing/under/fluff/latexmaid = 50,
+ /obj/item/clothing/under/dress/lilacdress = 50,
+ /obj/item/clothing/under/dress/white2 = 50,
+ /obj/item/clothing/under/dress/white4 = 50,
+ /obj/item/clothing/under/dress/maid = 50,
+ /obj/item/clothing/under/dress/maid/sexy = 50,
+ /obj/item/clothing/under/dress/maid/janitor = 50,
+ /obj/item/clothing/under/moderncoat = 50,
+ /obj/item/clothing/under/permit = 50,
+ /obj/item/clothing/under/oldwoman = 50,
+ /obj/item/clothing/under/frontier = 50,
+ /obj/item/clothing/under/mbill = 50,
+ /obj/item/clothing/under/pants/baggy/ = 50,
+ /obj/item/clothing/under/pants/baggy/classicjeans = 50,
+ /obj/item/clothing/under/pants/baggy/mustangjeans = 50,
+ /obj/item/clothing/under/pants/baggy/blackjeans = 50,
+ /obj/item/clothing/under/pants/baggy/greyjeans = 50,
+ /obj/item/clothing/under/pants/baggy/youngfolksjeans = 50,
+ /obj/item/clothing/under/pants/baggy/white = 50,
+ /obj/item/clothing/under/pants/baggy/red = 50,
+ /obj/item/clothing/under/pants/baggy/black = 50,
+ /obj/item/clothing/under/pants/baggy/tan = 50,
+ /obj/item/clothing/under/pants/baggy/track = 50,
+ /obj/item/clothing/under/pants/baggy/khaki = 50,
+ /obj/item/clothing/under/pants/baggy/camo = 50,
+ /obj/item/clothing/under/pants/utility/ = 50,
+ /obj/item/clothing/under/pants/utility/orange = 50,
+ /obj/item/clothing/under/pants/utility/blue = 50,
+ /obj/item/clothing/under/pants/utility/white = 50,
+ /obj/item/clothing/under/pants/utility/red = 50,
+ /obj/item/clothing/under/pants/chaps = 50,
+ /obj/item/clothing/under/pants/chaps/black = 50,
+ /obj/item/clothing/under/pants/track = 50,
+ /obj/item/clothing/under/pants/track/red = 50,
+ /obj/item/clothing/under/pants/track/white = 50,
+ /obj/item/clothing/under/pants/track/green = 50,
+ /obj/item/clothing/under/pants/track/blue = 50,
+ /obj/item/clothing/under/pants/yogapants = 50,
+ /obj/item/clothing/under/ascetic = 50,
+ /obj/item/clothing/under/dress/white3 = 50,
+ /obj/item/clothing/under/skirt/pleated = 50,
+ /obj/item/clothing/under/dress/darkred = 50,
+ /obj/item/clothing/under/dress/redeveninggown = 50,
+ /obj/item/clothing/under/dress/red_swept_dress = 50,
+ /obj/item/clothing/under/dress/sailordress = 50,
+ /obj/item/clothing/under/dress/sari = 50,
+ /obj/item/clothing/under/dress/sari/green = 50,
+ /obj/item/clothing/under/dress/qipao = 50,
+ /obj/item/clothing/under/dress/qipao/red = 50,
+ /obj/item/clothing/under/dress/qipao/white = 50,
+ /obj/item/clothing/under/shorts/red = 50,
+ /obj/item/clothing/under/shorts/green = 50,
+ /obj/item/clothing/under/shorts/blue = 50,
+ /obj/item/clothing/under/shorts/black = 50,
+ /obj/item/clothing/under/shorts/grey = 50,
+ /obj/item/clothing/under/shorts/white = 50,
+ /obj/item/clothing/under/shorts/jeans = 50,
+ /obj/item/clothing/under/shorts/jeans/ = 50,
+ /obj/item/clothing/under/shorts/jeans/classic = 50,
+ /obj/item/clothing/under/shorts/jeans/mustang = 50,
+ /obj/item/clothing/under/shorts/jeans/youngfolks = 50,
+ /obj/item/clothing/under/shorts/jeans/black = 50,
+ /obj/item/clothing/under/shorts/jeans/grey = 50,
+ /obj/item/clothing/under/shorts/khaki/ = 50,
+ /obj/item/clothing/under/skirt/loincloth = 50,
+ /obj/item/clothing/under/skirt/khaki = 50,
+ /obj/item/clothing/under/skirt/blue = 50,
+ /obj/item/clothing/under/skirt/red = 50,
+ /obj/item/clothing/under/skirt/denim = 50,
+ /obj/item/clothing/under/skirt/pleated = 50,
+ /obj/item/clothing/under/skirt/outfit/plaid_blue = 50,
+ /obj/item/clothing/under/skirt/outfit/plaid_red = 50,
+ /obj/item/clothing/under/skirt/outfit/plaid_purple = 50,
+ /obj/item/clothing/under/overalls/sleek = 50,
+ /obj/item/clothing/under/sl_suit = 50,
+ /obj/item/clothing/under/gentlesuit = 50,
+ /obj/item/clothing/under/gentlesuit/skirt = 50,
+ /obj/item/clothing/under/suit_jacket = 50,
+ /obj/item/clothing/under/suit_jacket/really_black/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/really_black = 50,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/female/ = 50,
+ /obj/item/clothing/under/suit_jacket/red = 50,
+ /obj/item/clothing/under/suit_jacket/red/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/charcoal = 50,
+ /obj/item/clothing/under/suit_jacket/charcoal/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/navy = 50,
+ /obj/item/clothing/under/suit_jacket/navy/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/burgundy = 50,
+ /obj/item/clothing/under/suit_jacket/burgundy/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/checkered = 50,
+ /obj/item/clothing/under/suit_jacket/checkered/skirt = 50,
+ /obj/item/clothing/under/suit_jacket/tan = 50,
+ /obj/item/clothing/under/suit_jacket/tan/skirt = 50,
+ /obj/item/clothing/under/scratch = 50,
+ /obj/item/clothing/under/scratch/skirt = 50,
+ /obj/item/clothing/under/sundress = 50,
+ /obj/item/clothing/under/sundress_white = 50,
+ /obj/item/clothing/under/rank/psych/turtleneck/sweater = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/blue = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/purple = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/green = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/red = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/white = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/earth = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/science = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/security = 50,
+ /obj/item/weapon/storage/box/fluff/swimsuit/medical = 50,
+ /obj/item/clothing/under/utility = 50,
+ /obj/item/clothing/under/utility/grey = 50,
+ /obj/item/clothing/under/utility/blue = 50,
+ /obj/item/clothing/under/fluff/v_nanovest = 50,
+ /obj/item/clothing/under/dress/westernbustle = 50,
+ /obj/item/clothing/under/wedding/bride_white = 50,
+ /obj/item/weapon/storage/backpack/ = 50,
+ /obj/item/weapon/storage/backpack/messenger = 50,
+ /obj/item/weapon/storage/backpack/satchel = 50)
+ premium = list(/obj/item/clothing/under/color/rainbow = 1)
+ contraband = list(/obj/item/clothing/under/rank/clown = 1)
+
+/obj/machinery/vending/loadout/gadget
+ name = "Chips Co."
+ desc = "A special vendor for devices and gadgets."
+ product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!"
+ icon_state = "gadgets"
+ vend_delay = 11
+ products = list(/obj/item/clothing/suit/circuitry = 1,
+ /obj/item/clothing/head/circuitry = 1,
+ /obj/item/clothing/shoes/circuitry = 1,
+ /obj/item/clothing/gloves/circuitry = 1,
+ /obj/item/clothing/under/circuitry = 1,
+ /obj/item/clothing/glasses/circuitry = 1,
+ /obj/item/clothing/ears/circuitry = 1,
+ /obj/item/device/text_to_speech = 5,
+ /obj/item/device/paicard = 5,
+ /obj/item/device/communicator = 10,
+ /obj/item/device/communicator/watch = 10,
+ /obj/item/device/radio = 10,
+ /obj/item/device/camera = 5,
+ /obj/item/device/taperecorder = 5,
+ /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 5,
+ /obj/item/device/pda = 10,
+ /obj/item/device/radio/headset = 10,
+ /obj/item/device/flashlight = 5,
+ /obj/item/device/laser_pointer = 3,
+ /obj/item/clothing/glasses/omnihud = 10)
+ prices = list(/obj/item/clothing/suit/circuitry = 100,
+ /obj/item/clothing/head/circuitry = 100,
+ /obj/item/clothing/shoes/circuitry = 100,
+ /obj/item/clothing/gloves/circuitry = 100,
+ /obj/item/clothing/under/circuitry = 100,
+ /obj/item/clothing/glasses/circuitry = 100,
+ /obj/item/clothing/ears/circuitry = 100,
+ /obj/item/device/text_to_speech = 300,
+ /obj/item/device/paicard = 100,
+ /obj/item/device/communicator = 100,
+ /obj/item/device/communicator/watch = 100,
+ /obj/item/device/radio = 100,
+ /obj/item/device/camera = 100,
+ /obj/item/device/taperecorder = 100,
+ /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 1000,
+ /obj/item/device/pda = 50,
+ /obj/item/device/radio/headset = 50,
+ /obj/item/device/flashlight = 100,
+ /obj/item/device/laser_pointer = 200,
+ /obj/item/clothing/glasses/omnihud = 100)
+ premium = list(/obj/item/device/perfect_tele/one_beacon = 1)
+ contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1)
+
+/obj/machinery/vending/loadout/loadout_misc
+ name = "Bits and Bobs"
+ desc = "A special vendor for things and also stuff!"
+ product_ads = "You never know when you might need an umbrella.;Hey kid... want some cardemon cards?;Miscellaneous for your miscellaneous heart.;Who's bob? Wouldn't you like to know.;I'm sorry there's no grappling hooks in our umbrellas.;We sell things AND stuff."
+ icon_state = "loadout_misc"
+ products = list(/obj/item/weapon/cane = 5,
+ /obj/item/weapon/pack/cardemon = 25,
+ /obj/item/weapon/deck/holder = 5,
+ /obj/item/weapon/deck/cah = 5,
+ /obj/item/weapon/deck/cah/black = 5,
+ /obj/item/weapon/deck/tarot = 5,
+ /obj/item/weapon/deck/cards = 5,
+ /obj/item/weapon/pack/spaceball = 10,
+ /obj/item/weapon/storage/pill_bottle/dice = 5,
+ /obj/item/weapon/storage/pill_bottle/dice_nerd = 5,
+ /obj/item/weapon/melee/umbrella/random = 10)
+ prices = list(/obj/item/weapon/cane = 100,
+ /obj/item/weapon/pack/cardemon = 100,
+ /obj/item/weapon/deck/holder = 100,
+ /obj/item/weapon/deck/cah = 100,
+ /obj/item/weapon/deck/cah/black = 100,
+ /obj/item/weapon/deck/tarot = 100,
+ /obj/item/weapon/deck/cards = 100,
+ /obj/item/weapon/pack/spaceball = 100,
+ /obj/item/weapon/storage/pill_bottle/dice = 100,
+ /obj/item/weapon/storage/pill_bottle/dice_nerd = 100,
+ /obj/item/weapon/melee/umbrella/random = 100)
+ premium = list(/obj/item/toy/bosunwhistle = 1)
+ contraband = list(/obj/item/toy/katana = 1)
+
+/obj/machinery/vending/loadout/overwear
+ name = "Big D's Best"
+ desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!"
+ product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!"
+ icon_state = "suit"
+ vend_delay = 16
+ products = list(/obj/item/clothing/suit/storage/apron = 5,
+ /obj/item/clothing/suit/storage/flannel/aqua = 5,
+ /obj/item/clothing/suit/storage/toggle/bomber = 5,
+ /obj/item/clothing/suit/storage/bomber/alt = 5,
+ /obj/item/clothing/suit/storage/flannel/brown = 5,
+ /obj/item/clothing/suit/storage/toggle/cardigan = 5,
+ /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5,
+ /obj/item/clothing/suit/storage/duster = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/fluff/gntop = 5,
+ /obj/item/clothing/suit/greatcoat = 5,
+ /obj/item/clothing/suit/storage/flannel = 5,
+ /obj/item/clothing/suit/storage/greyjacket = 5,
+ /obj/item/clothing/suit/storage/hazardvest = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/black = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/red = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/green = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/orange = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/cti = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/mu = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nt = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/smw = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/field = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_force = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/navy = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5,
+ /obj/item/clothing/suit/kamishimo = 5,
+ /obj/item/clothing/suit/kimono = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/green = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/orange = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/pink = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/red = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 5,
+ /obj/item/clothing/suit/leathercoat = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket = 5,
+ /obj/item/clothing/suit/storage/leather_jacket_alt = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/miljacket = 5,
+ /obj/item/clothing/suit/storage/miljacket/alt = 5,
+ /obj/item/clothing/suit/storage/miljacket/green = 5,
+ /obj/item/clothing/suit/storage/apron/overalls = 5,
+ /obj/item/clothing/suit/storage/toggle/peacoat = 5,
+ /obj/item/clothing/accessory/poncho = 5,
+ /obj/item/clothing/accessory/poncho/green = 5,
+ /obj/item/clothing/accessory/poncho/red = 5,
+ /obj/item/clothing/accessory/poncho/purple = 5,
+ /obj/item/clothing/accessory/poncho/blue = 5,
+ /obj/item/clothing/suit/jacket/puffer = 5,
+ /obj/item/clothing/suit/jacket/puffer/vest = 5,
+ /obj/item/clothing/suit/storage/flannel/red = 5,
+ /obj/item/clothing/suit/unathi/robe = 5,
+ /obj/item/clothing/suit/storage/snowsuit = 5,
+ /obj/item/clothing/suit/storage/toggle/internalaffairs = 5,
+ /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5,
+ /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5,
+ /obj/item/clothing/suit/suspenders = 5,
+ /obj/item/clothing/suit/storage/toggle/track = 5,
+ /obj/item/clothing/suit/storage/toggle/track/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/track/green = 5,
+ /obj/item/clothing/suit/storage/toggle/track/red = 5,
+ /obj/item/clothing/suit/storage/toggle/track/white = 5,
+ /obj/item/clothing/suit/storage/trench = 5,
+ /obj/item/clothing/suit/storage/trench/grey = 5,
+ /obj/item/clothing/suit/varsity = 5,
+ /obj/item/clothing/suit/varsity/red = 5,
+ /obj/item/clothing/suit/varsity/purple = 5,
+ /obj/item/clothing/suit/varsity/green = 5,
+ /obj/item/clothing/suit/varsity/blue = 5,
+ /obj/item/clothing/suit/varsity/brown = 5,
+ /obj/item/clothing/suit/storage/hooded/wintercoat = 5,
+ /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 5)
+ prices = list(/obj/item/clothing/suit/storage/apron = 100,
+ /obj/item/clothing/suit/storage/flannel/aqua = 100,
+ /obj/item/clothing/suit/storage/toggle/bomber = 100,
+ /obj/item/clothing/suit/storage/bomber/alt = 100,
+ /obj/item/clothing/suit/storage/flannel/brown = 100,
+ /obj/item/clothing/suit/storage/toggle/cardigan = 100,
+ /obj/item/clothing/accessory/poncho/roles/cloak/custom = 100,
+ /obj/item/clothing/suit/storage/duster = 100,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket = 100,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 100,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 100,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 100,
+ /obj/item/clothing/suit/storage/fluff/gntop = 100,
+ /obj/item/clothing/suit/greatcoat = 100,
+ /obj/item/clothing/suit/storage/flannel = 100,
+ /obj/item/clothing/suit/storage/greyjacket = 100,
+ /obj/item/clothing/suit/storage/hazardvest = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/black = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/red = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/blue = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/green = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/orange = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/cti = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/mu = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nt = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/smw = 100,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 100,
+ /obj/item/clothing/suit/storage/fluff/jacket/field = 100,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 100,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_force = 100,
+ /obj/item/clothing/suit/storage/fluff/jacket/navy = 100,
+ /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 100,
+ /obj/item/clothing/suit/kamishimo = 100,
+ /obj/item/clothing/suit/kimono = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/green = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/orange = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/pink = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/red = 100,
+ /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 100,
+ /obj/item/clothing/suit/leathercoat = 100,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket = 100,
+ /obj/item/clothing/suit/storage/leather_jacket_alt = 100,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket = 100,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 100,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 100,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 100,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 100,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 100,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 100,
+ /obj/item/clothing/suit/storage/miljacket = 100,
+ /obj/item/clothing/suit/storage/miljacket/alt = 100,
+ /obj/item/clothing/suit/storage/miljacket/green = 100,
+ /obj/item/clothing/suit/storage/apron/overalls = 100,
+ /obj/item/clothing/suit/storage/toggle/peacoat = 100,
+ /obj/item/clothing/accessory/poncho = 100,
+ /obj/item/clothing/accessory/poncho/green = 100,
+ /obj/item/clothing/accessory/poncho/red = 100,
+ /obj/item/clothing/accessory/poncho/purple = 100,
+ /obj/item/clothing/accessory/poncho/blue = 100,
+ /obj/item/clothing/suit/jacket/puffer = 100,
+ /obj/item/clothing/suit/jacket/puffer/vest = 100,
+ /obj/item/clothing/suit/storage/flannel/red = 100,
+ /obj/item/clothing/suit/unathi/robe = 100,
+ /obj/item/clothing/suit/storage/snowsuit = 100,
+ /obj/item/clothing/suit/storage/toggle/internalaffairs = 100,
+ /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 100,
+ /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 100,
+ /obj/item/clothing/suit/suspenders = 100,
+ /obj/item/clothing/suit/storage/toggle/track = 100,
+ /obj/item/clothing/suit/storage/toggle/track/blue = 100,
+ /obj/item/clothing/suit/storage/toggle/track/green = 100,
+ /obj/item/clothing/suit/storage/toggle/track/red = 100,
+ /obj/item/clothing/suit/storage/toggle/track/white = 100,
+ /obj/item/clothing/suit/storage/trench = 100,
+ /obj/item/clothing/suit/storage/trench/grey = 100,
+ /obj/item/clothing/suit/varsity = 100,
+ /obj/item/clothing/suit/varsity/red = 100,
+ /obj/item/clothing/suit/varsity/purple = 100,
+ /obj/item/clothing/suit/varsity/green = 100,
+ /obj/item/clothing/suit/varsity/blue = 100,
+ /obj/item/clothing/suit/varsity/brown = 100,
+ /obj/item/clothing/suit/storage/hooded/wintercoat = 100,
+ /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 100)
+ premium = list(/obj/item/clothing/suit/imperium_monk = 3)
+ contraband = list(/obj/item/toy/katana = 1)
+
+/obj/machinery/vending/loadout/costume
+ name = "Thespian's Delight"
+ desc = "Sometimes nerds need costumes!"
+ product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "theater"
+ products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/chickensuit = 3,
+ /obj/item/clothing/head/chicken = 3,
+ /obj/item/clothing/head/helmet/gladiator = 3,
+ /obj/item/clothing/under/gladiator = 3,
+ /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3,
+ /obj/item/clothing/under/gimmick/rank/captain/suit = 3,
+ /obj/item/clothing/glasses/gglasses = 3,
+ /obj/item/clothing/head/flatcap = 3,
+ /obj/item/clothing/shoes/boots/jackboots = 3,
+ /obj/item/clothing/under/schoolgirl = 3,
+ /obj/item/clothing/head/kitty = 3,
+ /obj/item/clothing/glasses/sunglasses/blindfold = 3,
+ /obj/item/clothing/head/beret = 3,
+ /obj/item/clothing/under/skirt = 3,
+ /obj/item/clothing/under/suit_jacket = 3,
+ /obj/item/clothing/head/that = 3,
+ /obj/item/clothing/accessory/wcoat = 3,
+ /obj/item/clothing/under/scratch = 3,
+ /obj/item/clothing/shoes/white = 3,
+ /obj/item/clothing/gloves/white = 3,
+ /obj/item/clothing/under/kilt = 3,
+ /obj/item/clothing/glasses/monocle = 3,
+ /obj/item/clothing/under/sl_suit = 3,
+ /obj/item/clothing/mask/fakemoustache = 3,
+ /obj/item/weapon/cane = 3,
+ /obj/item/clothing/head/bowler = 3,
+ /obj/item/clothing/head/plaguedoctorhat = 3,
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3,
+ /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3,
+ /obj/item/clothing/under/owl = 3,
+ /obj/item/clothing/mask/gas/owl_mask = 3,
+ /obj/item/clothing/under/waiter = 3,
+ /obj/item/clothing/suit/storage/apron = 3,
+ /obj/item/clothing/under/pirate = 3,
+ /obj/item/clothing/head/pirate = 3,
+ /obj/item/clothing/suit/pirate = 3,
+ /obj/item/clothing/glasses/eyepatch = 3,
+ /obj/item/clothing/head/ushanka = 3,
+ /obj/item/clothing/under/soviet = 3,
+ /obj/item/clothing/suit/imperium_monk = 1,
+ /obj/item/clothing/suit/holidaypriest = 3,
+ /obj/item/clothing/head/witchwig = 3,
+ /obj/item/clothing/under/sundress = 3,
+ /obj/item/weapon/staff/broom = 3,
+ /obj/item/clothing/suit/wizrobe/fake = 3,
+ /obj/item/clothing/head/wizard/fake = 3,
+ /obj/item/weapon/staff = 3,
+ /obj/item/clothing/mask/gas/sexyclown = 3,
+ /obj/item/clothing/under/sexyclown = 3,
+ /obj/item/clothing/mask/gas/sexymime = 3,
+ /obj/item/clothing/under/sexymime = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3,
+ /obj/item/clothing/head/helmet/combat/crusader_costume = 3,
+ /obj/item/clothing/head/helmet/combat/bedevere_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume/brown = 3,
+ /obj/item/clothing/shoes/knight_costume = 3,
+ /obj/item/clothing/shoes/knight_costume/black = 3)
+ prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200,
+ /obj/item/clothing/suit/storage/hooded/carp_costume = 200,
+ /obj/item/clothing/suit/chickensuit = 200,
+ /obj/item/clothing/head/chicken = 200,
+ /obj/item/clothing/head/helmet/gladiator = 300,
+ /obj/item/clothing/under/gladiator = 500,
+ /obj/item/clothing/suit/storage/toggle/labcoat/mad = 200,
+ /obj/item/clothing/under/gimmick/rank/captain/suit = 200,
+ /obj/item/clothing/glasses/gglasses = 200,
+ /obj/item/clothing/head/flatcap = 200,
+ /obj/item/clothing/shoes/boots/jackboots = 200,
+ /obj/item/clothing/under/schoolgirl = 200,
+ /obj/item/clothing/head/kitty = 200,
+ /obj/item/clothing/glasses/sunglasses/blindfold = 200,
+ /obj/item/clothing/head/beret = 200,
+ /obj/item/clothing/under/skirt = 200,
+ /obj/item/clothing/under/suit_jacket = 200,
+ /obj/item/clothing/head/that = 200,
+ /obj/item/clothing/accessory/wcoat = 200,
+ /obj/item/clothing/under/scratch = 200,
+ /obj/item/clothing/shoes/white = 200,
+ /obj/item/clothing/gloves/white = 200,
+ /obj/item/clothing/under/kilt = 200,
+ /obj/item/clothing/glasses/monocle = 400,
+ /obj/item/clothing/under/sl_suit = 200,
+ /obj/item/clothing/mask/fakemoustache = 200,
+ /obj/item/weapon/cane = 300,
+ /obj/item/clothing/head/bowler = 200,
+ /obj/item/clothing/head/plaguedoctorhat = 300,
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 300,
+ /obj/item/clothing/mask/gas/plaguedoctor/fluff = 600,
+ /obj/item/clothing/under/owl = 400,
+ /obj/item/clothing/mask/gas/owl_mask = 400,
+ /obj/item/clothing/under/waiter = 100,
+ /obj/item/clothing/suit/storage/apron = 200,
+ /obj/item/clothing/under/pirate = 300,
+ /obj/item/clothing/head/pirate = 400,
+ /obj/item/clothing/suit/pirate = 600,
+ /obj/item/clothing/glasses/eyepatch = 200,
+ /obj/item/clothing/head/ushanka = 200,
+ /obj/item/clothing/under/soviet = 200,
+ /obj/item/clothing/suit/imperium_monk = 2000,
+ /obj/item/clothing/suit/holidaypriest = 200,
+ /obj/item/clothing/head/witchwig = 200,
+ /obj/item/clothing/under/sundress = 50,
+ /obj/item/weapon/staff/broom = 400,
+ /obj/item/clothing/suit/wizrobe/fake = 200,
+ /obj/item/clothing/head/wizard/fake = 200,
+ /obj/item/weapon/staff = 400,
+ /obj/item/clothing/mask/gas/sexyclown = 600,
+ /obj/item/clothing/under/sexyclown = 200,
+ /obj/item/clothing/mask/gas/sexymime = 600,
+ /obj/item/clothing/under/sexymime = 200,
+ /obj/item/clothing/suit/storage/hooded/knight_costume = 200,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 200,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 200,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 200,
+ /obj/item/clothing/suit/armor/combat/crusader_costume = 200,
+ /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 200,
+ /obj/item/clothing/head/helmet/combat/crusader_costume = 200,
+ /obj/item/clothing/head/helmet/combat/bedevere_costume = 200,
+ /obj/item/clothing/gloves/combat/knight_costume = 200,
+ /obj/item/clothing/gloves/combat/knight_costume/brown = 200,
+ /obj/item/clothing/shoes/knight_costume = 200,
+ /obj/item/clothing/shoes/knight_costume/black = 200)
+ premium = list(/obj/item/clothing/suit/imperium_monk = 3,
+ /obj/item/clothing/suit/barding/agatha = 2,
+ /obj/item/clothing/suit/barding/alt_agatha = 2,
+ /obj/item/clothing/suit/barding/mason = 2,
+ /obj/item/clothing/suit/drake_cloak = 2)
+ contraband = list(/obj/item/clothing/head/syndicatefake = 1,
+ /obj/item/clothing/suit/syndicatefake = 1)
+
+/obj/machinery/vending/entertainer
+ name = "Thespian's Delight"
+ desc = "Sometimes nerds need costumes!"
+ product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "theater"
+ products = list(/obj/item/device/radio/headset = 5,
+ /obj/item/weapon/storage/backpack/ = 5,
+ /obj/item/weapon/storage/backpack/messenger = 5,
+ /obj/item/weapon/storage/backpack/satchel = 5,
+ /obj/item/clothing/under/color = 5,
+ /obj/item/clothing/under/color/aqua = 5,
+ /obj/item/clothing/under/color/black = 5,
+ /obj/item/clothing/under/color/blackjumpskirt = 5,
+ /obj/item/clothing/under/color/blue = 5,
+ /obj/item/clothing/under/color/brown = 5,
+ /obj/item/clothing/under/color/green = 5,
+ /obj/item/clothing/under/color/grey = 5,
+ /obj/item/clothing/under/color/orange = 5,
+ /obj/item/clothing/under/color/pink = 5,
+ /obj/item/clothing/under/color/red = 5,
+ /obj/item/clothing/under/color/white = 5,
+ /obj/item/clothing/under/color/yellow = 5,
+ /obj/item/clothing/shoes/black = 5,
+ /obj/item/clothing/shoes/white = 5,
+ /obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/chickensuit = 3,
+ /obj/item/clothing/head/chicken = 3,
+ /obj/item/clothing/head/helmet/gladiator = 3,
+ /obj/item/clothing/under/gladiator = 3,
+ /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3,
+ /obj/item/clothing/under/gimmick/rank/captain/suit = 3,
+ /obj/item/clothing/glasses/gglasses = 3,
+ /obj/item/clothing/head/flatcap = 3,
+ /obj/item/clothing/shoes/boots/jackboots = 3,
+ /obj/item/clothing/under/schoolgirl = 3,
+ /obj/item/clothing/head/kitty = 3,
+ /obj/item/clothing/glasses/sunglasses/blindfold = 3,
+ /obj/item/clothing/head/beret = 3,
+ /obj/item/clothing/under/skirt = 3,
+ /obj/item/clothing/under/suit_jacket = 3,
+ /obj/item/clothing/head/that = 3,
+ /obj/item/clothing/accessory/wcoat = 3,
+ /obj/item/clothing/under/scratch = 3,
+ /obj/item/clothing/shoes/white = 3,
+ /obj/item/clothing/gloves/white = 3,
+ /obj/item/clothing/under/kilt = 3,
+ /obj/item/clothing/glasses/monocle = 3,
+ /obj/item/clothing/under/sl_suit = 3,
+ /obj/item/clothing/mask/fakemoustache = 3,
+ /obj/item/weapon/cane = 3,
+ /obj/item/clothing/head/bowler = 3,
+ /obj/item/clothing/head/plaguedoctorhat = 3,
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3,
+ /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3,
+ /obj/item/clothing/under/owl = 3,
+ /obj/item/clothing/mask/gas/owl_mask = 3,
+ /obj/item/clothing/under/waiter = 3,
+ /obj/item/clothing/suit/storage/apron = 3,
+ /obj/item/clothing/under/pirate = 3,
+ /obj/item/clothing/head/pirate = 3,
+ /obj/item/clothing/suit/pirate = 3,
+ /obj/item/clothing/glasses/eyepatch = 3,
+ /obj/item/clothing/head/ushanka = 3,
+ /obj/item/clothing/under/soviet = 3,
+ /obj/item/clothing/suit/imperium_monk = 1,
+ /obj/item/clothing/suit/holidaypriest = 3,
+ /obj/item/clothing/head/witchwig = 3,
+ /obj/item/clothing/under/sundress = 3,
+ /obj/item/weapon/staff/broom = 3,
+ /obj/item/clothing/suit/wizrobe/fake = 3,
+ /obj/item/clothing/head/wizard/fake = 3,
+ /obj/item/weapon/staff = 3,
+ /obj/item/clothing/mask/gas/sexyclown = 3,
+ /obj/item/clothing/under/sexyclown = 3,
+ /obj/item/clothing/mask/gas/sexymime = 3,
+ /obj/item/clothing/under/sexymime = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3,
+ /obj/item/clothing/head/helmet/combat/crusader_costume = 3,
+ /obj/item/clothing/head/helmet/combat/bedevere_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume/brown = 3,
+ /obj/item/clothing/shoes/knight_costume = 3,
+ /obj/item/clothing/shoes/knight_costume/black = 3)
+
+
+/obj/machinery/vending/event //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Fingers and Toes"
+ desc = "A special vendor for gloves and shoes!"
+ product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes."
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "glovesnshoes"
+ products = list(/obj/item/clothing/gloves/evening = 10,
+ /obj/item/clothing/gloves/fingerless = 10,
+ /obj/item/clothing/gloves/black = 10,
+ /obj/item/clothing/gloves/blue = 10,
+ /obj/item/clothing/gloves/brown = 10,
+ /obj/item/clothing/gloves/color = 10,
+ /obj/item/clothing/gloves/green = 10,
+ /obj/item/clothing/gloves/grey = 10,
+ /obj/item/clothing/gloves/sterile/latex = 10,
+ /obj/item/clothing/gloves/light_brown = 10,
+ /obj/item/clothing/gloves/sterile/nitrile = 10,
+ /obj/item/clothing/gloves/orange = 10,
+ /obj/item/clothing/gloves/purple = 10,
+ /obj/item/clothing/gloves/red = 10,
+ /obj/item/clothing/gloves/fluff/siren = 10,
+ /obj/item/clothing/gloves/white = 10,
+ /obj/item/clothing/gloves/duty = 10,
+ /obj/item/clothing/shoes/athletic = 10,
+ /obj/item/clothing/shoes/boots/fluff/siren = 10,
+ /obj/item/clothing/shoes/slippers = 10,
+ /obj/item/clothing/shoes/boots/cowboy/classic = 10,
+ /obj/item/clothing/shoes/boots/cowboy = 10,
+ /obj/item/clothing/shoes/boots/duty = 10,
+ /obj/item/clothing/shoes/flats/white/color = 10,
+ /obj/item/clothing/shoes/flipflop = 10,
+ /obj/item/clothing/shoes/heels = 10,
+ /obj/item/clothing/shoes/hitops/black = 10,
+ /obj/item/clothing/shoes/hitops/blue = 10,
+ /obj/item/clothing/shoes/hitops/green = 10,
+ /obj/item/clothing/shoes/hitops/orange = 10,
+ /obj/item/clothing/shoes/hitops/purple = 10,
+ /obj/item/clothing/shoes/hitops/red = 10,
+ /obj/item/clothing/shoes/flats/white/color = 10,
+ /obj/item/clothing/shoes/hitops/yellow = 10,
+ /obj/item/clothing/shoes/boots/jackboots = 10,
+ /obj/item/clothing/shoes/boots/jungle = 10,
+ /obj/item/clothing/shoes/black/cuffs = 10,
+ /obj/item/clothing/shoes/black/cuffs/blue = 10,
+ /obj/item/clothing/shoes/black/cuffs/red = 10,
+ /obj/item/clothing/shoes/sandal = 10,
+ /obj/item/clothing/shoes/black = 10,
+ /obj/item/clothing/shoes/blue = 10,
+ /obj/item/clothing/shoes/brown = 10,
+ /obj/item/clothing/shoes/laceup = 10,
+ /obj/item/clothing/shoes/green = 10,
+ /obj/item/clothing/shoes/laceup/brown = 10,
+ /obj/item/clothing/shoes/orange = 10,
+ /obj/item/clothing/shoes/purple = 10,
+ /obj/item/clothing/shoes/red = 10,
+ /obj/item/clothing/shoes/white = 10,
+ /obj/item/clothing/shoes/yellow = 10,
+ /obj/item/clothing/shoes/skater = 10,
+ /obj/item/clothing/shoes/boots/cowboy/snakeskin = 10,
+ /obj/item/clothing/shoes/boots/jackboots/toeless = 10,
+ /obj/item/clothing/shoes/boots/workboots/toeless = 10,
+ /obj/item/clothing/shoes/boots/winter = 10,
+ /obj/item/clothing/shoes/boots/workboots = 10,
+ /obj/item/clothing/shoes/footwraps = 10,
+ /obj/item/clothing/gloves/rainbow = 10,
+ /obj/item/clothing/shoes/rainbow = 10,
+ /obj/item/clothing/shoes/syndigaloshes = 10,
+ /obj/item/clothing/shoes/clown_shoes = 10)
+
+/obj/machinery/vending/event/uniform //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "The Basics"
+ desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms."
+ product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!"
+ icon_state = "loadout"
+ vend_delay = 16
+ products = list(/obj/item/device/pda = 50,
+ /obj/item/device/radio/headset = 50,
+ /obj/item/device/radio = 50,
+ /obj/item/weapon/storage/backpack/ = 10,
+ /obj/item/weapon/storage/backpack/messenger = 10,
+ /obj/item/weapon/storage/backpack/satchel = 10,
+ /obj/item/clothing/under/color = 10,
+ /obj/item/clothing/under/color/aqua = 10,
+ /obj/item/clothing/under/color/black = 10,
+ /obj/item/clothing/under/color/blackjumpskirt = 10,
+ /obj/item/clothing/under/color/blue = 10,
+ /obj/item/clothing/under/color/brown = 10,
+ /obj/item/clothing/under/color/green = 10,
+ /obj/item/clothing/under/color/grey = 10,
+ /obj/item/clothing/under/color/orange = 10,
+ /obj/item/clothing/under/color/pink = 10,
+ /obj/item/clothing/under/color/red = 10,
+ /obj/item/clothing/under/color/white = 10,
+ /obj/item/clothing/under/color/yellow = 10,
+ /obj/item/clothing/shoes/black = 20,
+ /obj/item/clothing/shoes/white = 20)
+ prices = list()
+
+/obj/machinery/vending/event/accessory //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Looty Inc."
+ desc = "A special vendor for accessories."
+ product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!"
+ icon_state = "accessory"
+ vend_delay = 6
+ products = list(/obj/item/clothing/accessory = 5,
+ /obj/item/clothing/accessory/armband/med/color = 10,
+ /obj/item/clothing/accessory/asymmetric = 5,
+ /obj/item/clothing/accessory/asymmetric/purple = 5,
+ /obj/item/clothing/accessory/asymmetric/green = 5,
+ /obj/item/clothing/accessory/bracelet = 5,
+ /obj/item/clothing/accessory/bracelet/material = 5,
+ /obj/item/clothing/accessory/bracelet/friendship = 5,
+ /obj/item/clothing/accessory/chaps = 5,
+ /obj/item/clothing/accessory/chaps/black = 5,
+ /obj/item/weapon/storage/briefcase/clutch = 1,
+ /obj/item/clothing/accessory/collar = 5,
+ /obj/item/clothing/accessory/collar/bell = 5,
+ /obj/item/clothing/accessory/collar/spike = 5,
+ /obj/item/clothing/accessory/collar/pink = 5,
+ /obj/item/clothing/accessory/collar/holo = 5,
+ /obj/item/clothing/accessory/collar/shock = 5,
+ /obj/item/weapon/storage/belt/fannypack = 1,
+ /obj/item/weapon/storage/belt/fannypack/white = 5,
+ /obj/item/clothing/accessory/fullcape = 5,
+ /obj/item/clothing/accessory/halfcape = 5,
+ /obj/item/clothing/accessory/hawaii = 5,
+ /obj/item/clothing/accessory/hawaii/random = 5,
+ /obj/item/clothing/accessory/locket = 5,
+ /obj/item/weapon/storage/backpack/purse = 1,
+ /obj/item/clothing/accessory/sash = 5,
+ /obj/item/clothing/accessory/scarf = 5,
+ /obj/item/clothing/accessory/scarf/red = 5,
+ /obj/item/clothing/accessory/scarf/darkblue = 5,
+ /obj/item/clothing/accessory/scarf/purple = 5,
+ /obj/item/clothing/accessory/scarf/yellow = 5,
+ /obj/item/clothing/accessory/scarf/orange = 5,
+ /obj/item/clothing/accessory/scarf/lightblue = 5,
+ /obj/item/clothing/accessory/scarf/white = 5,
+ /obj/item/clothing/accessory/scarf/black = 5,
+ /obj/item/clothing/accessory/scarf/zebra = 5,
+ /obj/item/clothing/accessory/scarf/christmas = 5,
+ /obj/item/clothing/accessory/scarf/stripedred = 5,
+ /obj/item/clothing/accessory/scarf/stripedgreen = 5,
+ /obj/item/clothing/accessory/scarf/stripedblue = 5,
+ /obj/item/clothing/accessory/jacket = 5,
+ /obj/item/clothing/accessory/jacket/checkered = 5,
+ /obj/item/clothing/accessory/jacket/burgundy = 5,
+ /obj/item/clothing/accessory/jacket/navy = 5,
+ /obj/item/clothing/accessory/jacket/charcoal = 5,
+ /obj/item/clothing/accessory/vest = 5,
+ /obj/item/clothing/accessory/sweater = 5,
+ /obj/item/clothing/accessory/sweater/pink = 5,
+ /obj/item/clothing/accessory/sweater/mint = 5,
+ /obj/item/clothing/accessory/sweater/blue = 5,
+ /obj/item/clothing/accessory/sweater/heart = 5,
+ /obj/item/clothing/accessory/sweater/nt = 5,
+ /obj/item/clothing/accessory/sweater/keyhole = 5,
+ /obj/item/clothing/accessory/sweater/winterneck = 5,
+ /obj/item/clothing/accessory/sweater/uglyxmas = 5,
+ /obj/item/clothing/accessory/sweater/flowersweater = 5,
+ /obj/item/clothing/accessory/sweater/redneck = 5,
+ /obj/item/clothing/accessory/tie = 5,
+ /obj/item/clothing/accessory/tie/horrible = 5,
+ /obj/item/clothing/accessory/tie/white = 5,
+ /obj/item/clothing/accessory/tie/navy = 5,
+ /obj/item/clothing/accessory/tie/yellow = 5,
+ /obj/item/clothing/accessory/tie/darkgreen = 5,
+ /obj/item/clothing/accessory/tie/black = 5,
+ /obj/item/clothing/accessory/tie/red_long = 5,
+ /obj/item/clothing/accessory/tie/red_clip = 5,
+ /obj/item/clothing/accessory/tie/blue_long = 5,
+ /obj/item/clothing/accessory/tie/blue_clip = 5,
+ /obj/item/clothing/accessory/tie/red = 5,
+ /obj/item/clothing/accessory/wcoat = 5,
+ /obj/item/clothing/accessory/wcoat/red = 5,
+ /obj/item/clothing/accessory/wcoat/grey = 5,
+ /obj/item/clothing/accessory/wcoat/brown = 5,
+ /obj/item/clothing/accessory/wcoat/gentleman = 5,
+ /obj/item/clothing/accessory/wcoat/swvest = 5,
+ /obj/item/clothing/accessory/wcoat/swvest/blue = 5,
+ /obj/item/clothing/accessory/wcoat/swvest/red = 5,
+ /obj/item/weapon/storage/wallet = 5,
+ /obj/item/weapon/storage/wallet/poly = 5,
+ /obj/item/weapon/storage/wallet/womens = 5,
+ /obj/item/weapon/lipstick = 5,
+ /obj/item/weapon/lipstick/purple = 5,
+ /obj/item/weapon/lipstick/jade = 5,
+ /obj/item/weapon/lipstick/black = 5,
+ /obj/item/clothing/ears/earmuffs = 5,
+ /obj/item/clothing/ears/earmuffs/headphones = 5,
+ /obj/item/clothing/ears/earring/stud = 5,
+ /obj/item/clothing/ears/earring/dangle = 5,
+ /obj/item/clothing/gloves/ring/mariner = 5,
+ /obj/item/clothing/gloves/ring/engagement = 5,
+ /obj/item/clothing/gloves/ring/seal/signet = 5,
+ /obj/item/clothing/gloves/ring/seal/mason = 5,
+ /obj/item/clothing/gloves/ring/material/plastic = 5,
+ /obj/item/clothing/gloves/ring/material/steel = 5,
+ /obj/item/clothing/gloves/ring/material/gold = 5,
+ /obj/item/clothing/glasses/eyepatch = 5,
+ /obj/item/clothing/glasses/gglasses = 5,
+ /obj/item/clothing/glasses/regular/hipster = 5,
+ /obj/item/clothing/glasses/rimless = 5,
+ /obj/item/clothing/glasses/thin = 5,
+ /obj/item/clothing/glasses/monocle = 5,
+ /obj/item/clothing/glasses/goggles = 5,
+ /obj/item/clothing/glasses/fluff/spiffygogs = 5,
+ /obj/item/clothing/glasses/fakesunglasses = 5,
+ /obj/item/clothing/glasses/fakesunglasses/aviator = 5,
+ /obj/item/clothing/mask/bandana/blue = 5,
+ /obj/item/clothing/mask/bandana/gold = 5,
+ /obj/item/clothing/mask/bandana/green = 5,
+ /obj/item/clothing/mask/bandana/red = 5,
+ /obj/item/clothing/mask/surgical = 5,
+ /obj/item/weapon/bedsheet/rainbow = 1,
+ /obj/item/clothing/mask/gas/clown_hat = 1)
+
+/obj/machinery/vending/event/clothing //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "General Jump"
+ desc = "A special vendor using compressed matter cartridges to store large amounts of clothing."
+ product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!"
+ icon_state = "clothing"
+ vend_delay = 16
+ products = list(/obj/item/clothing/under/bathrobe = 5,
+ /obj/item/clothing/under/dress/black_corset = 5,
+ /obj/item/clothing/under/blazer = 5,
+ /obj/item/clothing/under/blazer/skirt = 5,
+ /obj/item/clothing/under/cheongsam = 5,
+ /obj/item/clothing/under/cheongsam/red = 5,
+ /obj/item/clothing/under/cheongsam/blue = 5,
+ /obj/item/clothing/under/cheongsam/black = 5,
+ /obj/item/clothing/under/cheongsam/darkred = 5,
+ /obj/item/clothing/under/cheongsam/green = 5,
+ /obj/item/clothing/under/cheongsam/purple = 5,
+ /obj/item/clothing/under/cheongsam/darkblue = 5,
+ /obj/item/clothing/under/croptop = 5,
+ /obj/item/clothing/under/croptop/red = 5,
+ /obj/item/clothing/under/croptop/grey = 5,
+ /obj/item/clothing/under/cuttop = 5,
+ /obj/item/clothing/under/cuttop/red = 5,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 5,
+ /obj/item/clothing/under/dress/dress_fire = 5,
+ /obj/item/clothing/under/dress/flamenco = 5,
+ /obj/item/clothing/under/dress/flower_dress = 5,
+ /obj/item/clothing/under/fluff/gnshorts = 5,
+ /obj/item/clothing/under/color = 5,
+ /obj/item/clothing/under/color/aqua = 5,
+ /obj/item/clothing/under/color/black = 5,
+ /obj/item/clothing/under/color/blackf = 5,
+ /obj/item/clothing/under/color/blackjumpskirt = 5,
+ /obj/item/clothing/under/color/blue = 5,
+ /obj/item/clothing/under/color/brown = 5,
+ /obj/item/clothing/under/color/darkblue = 5,
+ /obj/item/clothing/under/color/darkred = 5,
+ /obj/item/clothing/under/color/green = 5,
+ /obj/item/clothing/under/color/grey = 5,
+ /obj/item/clothing/under/color/lightblue = 5,
+ /obj/item/clothing/under/color/lightbrown = 5,
+ /obj/item/clothing/under/color/lightgreen = 5,
+ /obj/item/clothing/under/color/lightpurple = 5,
+ /obj/item/clothing/under/color/lightred = 5,
+ /obj/item/clothing/under/color/orange = 5,
+ /obj/item/clothing/under/color/pink = 5,
+ /obj/item/clothing/under/color/prison = 5,
+ /obj/item/clothing/under/color/ranger = 5,
+ /obj/item/clothing/under/color/red = 5,
+ /obj/item/clothing/under/color/white = 5,
+ /obj/item/clothing/under/color/yellow = 5,
+ /obj/item/clothing/under/color/yellowgreen = 5,
+ /obj/item/clothing/under/aether = 5,
+ /obj/item/clothing/under/focal = 5,
+ /obj/item/clothing/under/hephaestus = 5,
+ /obj/item/clothing/under/wardt = 5,
+ /obj/item/clothing/under/kilt = 5,
+ /obj/item/clothing/under/fluff/latexmaid = 5,
+ /obj/item/clothing/under/dress/lilacdress = 5,
+ /obj/item/clothing/under/dress/white2 = 5,
+ /obj/item/clothing/under/dress/white4 = 5,
+ /obj/item/clothing/under/dress/maid = 5,
+ /obj/item/clothing/under/dress/maid/sexy = 5,
+ /obj/item/clothing/under/dress/maid/janitor = 5,
+ /obj/item/clothing/under/moderncoat = 5,
+ /obj/item/clothing/under/permit = 5,
+ /obj/item/clothing/under/oldwoman = 5,
+ /obj/item/clothing/under/frontier = 5,
+ /obj/item/clothing/under/mbill = 5,
+ /obj/item/clothing/under/pants/baggy/ = 5,
+ /obj/item/clothing/under/pants/baggy/classicjeans = 5,
+ /obj/item/clothing/under/pants/baggy/mustangjeans = 5,
+ /obj/item/clothing/under/pants/baggy/blackjeans = 5,
+ /obj/item/clothing/under/pants/baggy/greyjeans = 5,
+ /obj/item/clothing/under/pants/baggy/youngfolksjeans = 5,
+ /obj/item/clothing/under/pants/baggy/white = 5,
+ /obj/item/clothing/under/pants/baggy/red = 5,
+ /obj/item/clothing/under/pants/baggy/black = 5,
+ /obj/item/clothing/under/pants/baggy/tan = 5,
+ /obj/item/clothing/under/pants/baggy/track = 5,
+ /obj/item/clothing/under/pants/baggy/khaki = 5,
+ /obj/item/clothing/under/pants/baggy/camo = 5,
+ /obj/item/clothing/under/pants/utility/ = 5,
+ /obj/item/clothing/under/pants/utility/orange = 5,
+ /obj/item/clothing/under/pants/utility/blue = 5,
+ /obj/item/clothing/under/pants/utility/white = 5,
+ /obj/item/clothing/under/pants/utility/red = 5,
+ /obj/item/clothing/under/pants/chaps = 5,
+ /obj/item/clothing/under/pants/chaps/black = 5,
+ /obj/item/clothing/under/pants/track = 5,
+ /obj/item/clothing/under/pants/track/red = 5,
+ /obj/item/clothing/under/pants/track/white = 5,
+ /obj/item/clothing/under/pants/track/green = 5,
+ /obj/item/clothing/under/pants/track/blue = 5,
+ /obj/item/clothing/under/pants/yogapants = 5,
+ /obj/item/clothing/under/ascetic = 5,
+ /obj/item/clothing/under/dress/white3 = 5,
+ /obj/item/clothing/under/skirt/pleated = 5,
+ /obj/item/clothing/under/dress/darkred = 5,
+ /obj/item/clothing/under/dress/redeveninggown = 5,
+ /obj/item/clothing/under/dress/red_swept_dress = 5,
+ /obj/item/clothing/under/dress/sailordress = 5,
+ /obj/item/clothing/under/dress/sari = 5,
+ /obj/item/clothing/under/dress/sari/green = 5,
+ /obj/item/clothing/under/dress/qipao = 5,
+ /obj/item/clothing/under/dress/qipao/red = 5,
+ /obj/item/clothing/under/dress/qipao/white = 5,
+ /obj/item/clothing/under/shorts/red = 5,
+ /obj/item/clothing/under/shorts/green = 5,
+ /obj/item/clothing/under/shorts/blue = 5,
+ /obj/item/clothing/under/shorts/black = 5,
+ /obj/item/clothing/under/shorts/grey = 5,
+ /obj/item/clothing/under/shorts/white = 5,
+ /obj/item/clothing/under/shorts/jeans = 5,
+ /obj/item/clothing/under/shorts/jeans/ = 5,
+ /obj/item/clothing/under/shorts/jeans/classic = 5,
+ /obj/item/clothing/under/shorts/jeans/mustang = 5,
+ /obj/item/clothing/under/shorts/jeans/youngfolks = 5,
+ /obj/item/clothing/under/shorts/jeans/black = 5,
+ /obj/item/clothing/under/shorts/jeans/grey = 5,
+ /obj/item/clothing/under/shorts/khaki/ = 5,
+ /obj/item/clothing/under/skirt/loincloth = 5,
+ /obj/item/clothing/under/skirt/khaki = 5,
+ /obj/item/clothing/under/skirt/blue = 5,
+ /obj/item/clothing/under/skirt/red = 5,
+ /obj/item/clothing/under/skirt/denim = 5,
+ /obj/item/clothing/under/skirt/pleated = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_blue = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_red = 5,
+ /obj/item/clothing/under/skirt/outfit/plaid_purple = 5,
+ /obj/item/clothing/under/overalls/sleek = 5,
+ /obj/item/clothing/under/sl_suit = 5,
+ /obj/item/clothing/under/gentlesuit = 5,
+ /obj/item/clothing/under/gentlesuit/skirt = 5,
+ /obj/item/clothing/under/suit_jacket = 5,
+ /obj/item/clothing/under/suit_jacket/really_black/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/really_black = 5,
+ /obj/item/clothing/under/suit_jacket/female/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/female/ = 5,
+ /obj/item/clothing/under/suit_jacket/red = 5,
+ /obj/item/clothing/under/suit_jacket/red/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/charcoal = 5,
+ /obj/item/clothing/under/suit_jacket/charcoal/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/navy = 5,
+ /obj/item/clothing/under/suit_jacket/navy/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/burgundy = 5,
+ /obj/item/clothing/under/suit_jacket/burgundy/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/checkered = 5,
+ /obj/item/clothing/under/suit_jacket/checkered/skirt = 5,
+ /obj/item/clothing/under/suit_jacket/tan = 5,
+ /obj/item/clothing/under/suit_jacket/tan/skirt = 5,
+ /obj/item/clothing/under/scratch = 5,
+ /obj/item/clothing/under/scratch/skirt = 5,
+ /obj/item/clothing/under/sundress = 5,
+ /obj/item/clothing/under/sundress_white = 5,
+ /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/blue = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/purple = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/green = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/red = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/white = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/earth = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/science = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/security = 5,
+ /obj/item/weapon/storage/box/fluff/swimsuit/medical = 5,
+ /obj/item/clothing/under/utility = 5,
+ /obj/item/clothing/under/utility/grey = 5,
+ /obj/item/clothing/under/utility/blue = 5,
+ /obj/item/clothing/under/fluff/v_nanovest = 5,
+ /obj/item/clothing/under/dress/westernbustle = 5,
+ /obj/item/clothing/under/wedding/bride_white = 5,
+ /obj/item/weapon/storage/backpack/ = 5,
+ /obj/item/weapon/storage/backpack/messenger = 5,
+ /obj/item/weapon/storage/backpack/satchel = 5,
+ /obj/item/clothing/under/rank/trek/command = 5,
+ /obj/item/clothing/under/rank/trek/command/next = 5,
+ /obj/item/clothing/under/rank/trek/command/ds9 = 5,
+ /obj/item/clothing/under/rank/trek/command/voy = 5,
+ /obj/item/clothing/under/rank/trek/command/ent = 5,
+ /obj/item/clothing/under/rank/trek/engsec = 5,
+ /obj/item/clothing/under/rank/trek/engsec/next = 5,
+ /obj/item/clothing/under/rank/trek/engsec/ds9 = 5,
+ /obj/item/clothing/under/rank/trek/engsec/voy = 5,
+ /obj/item/clothing/under/rank/trek/engsec/ent = 5,
+ /obj/item/clothing/under/rank/trek/medsci = 5,
+ /obj/item/clothing/under/rank/trek/medsci/next = 5,
+ /obj/item/clothing/under/rank/trek/medsci/ds9 = 5,
+ /obj/item/clothing/under/rank/trek/medsci/voy = 5,
+ /obj/item/clothing/under/rank/trek/medsci/ent = 5,
+ /obj/item/clothing/under/rank/khi/cmd = 5,
+ /obj/item/clothing/under/rank/khi/eng = 5,
+ /obj/item/clothing/under/rank/khi/med = 5,
+ /obj/item/clothing/under/rank/khi/sci = 5,
+ /obj/item/clothing/under/rank/khi/sec = 5,
+ /obj/item/clothing/under/rank/atmospheric_technician/skirt = 5,
+ /obj/item/clothing/under/rank/bartender = 5,
+ /obj/item/clothing/under/rank/bartender/skirt = 5,
+ /obj/item/clothing/under/rank/captain = 5,
+ /obj/item/clothing/under/rank/cargo/skirt = 5,
+ /obj/item/clothing/under/rank/cargo/jeans = 5,
+ /obj/item/clothing/under/rank/cargo/jeans/female = 5,
+ /obj/item/clothing/under/rank/cargotech/skirt = 5,
+ /obj/item/clothing/under/rank/cargotech/jeans = 5,
+ /obj/item/clothing/under/rank/cargotech/jeans/female = 5,
+ /obj/item/clothing/under/rank/centcom = 5,
+ /obj/item/clothing/under/rank/centcom_captain = 5,
+ /obj/item/clothing/under/rank/centcom_officer = 5,
+ /obj/item/clothing/under/rank/chaplain = 5,
+ /obj/item/clothing/under/rank/chef = 5,
+ /obj/item/clothing/under/rank/chemist/skirt = 5,
+ /obj/item/clothing/under/rank/chemist_new = 5,
+ /obj/item/clothing/under/rank/chief_engineer/skirt = 5,
+ /obj/item/clothing/under/rank/chief_medical_officer/skirt = 5,
+ /obj/item/clothing/under/rank/clown = 5,
+ /obj/item/clothing/under/rank/dispatch = 5,
+ /obj/item/clothing/under/rank/engineer/skirt = 5,
+ /obj/item/clothing/under/rank/engineer/turtleneck = 5,
+ /obj/item/clothing/under/rank/geneticist/skirt = 5,
+ /obj/item/clothing/under/rank/geneticist_new = 5,
+ /obj/item/clothing/under/rank/head_of_personnel = 5,
+ /obj/item/clothing/under/rank/head_of_personnel_whimsy = 5,
+ /obj/item/clothing/under/rank/head_of_security/skirt = 5,
+ /obj/item/clothing/under/rank/head_of_security/corp = 5,
+ /obj/item/clothing/under/rank/head_of_security/jensen = 5,
+ /obj/item/clothing/under/rank/head_of_security/navyblue = 5,
+ /obj/item/clothing/under/rank/hydroponics = 5,
+ /obj/item/clothing/under/rank/internalaffairs = 5,
+ /obj/item/clothing/under/rank/internalaffairs/skirt = 5,
+ /obj/item/clothing/under/rank/janitor = 5,
+ /obj/item/clothing/under/rank/mailman = 5,
+ /obj/item/clothing/under/rank/medical/skirt = 5,
+ /obj/item/clothing/under/rank/medical/paramedic = 5,
+ /obj/item/clothing/under/rank/medical/scrubs = 5,
+ /obj/item/clothing/under/rank/medical/scrubs/black = 5,
+ /obj/item/clothing/under/rank/medical/scrubs/green = 5,
+ /obj/item/clothing/under/rank/medical/scrubs/navyblue = 5,
+ /obj/item/clothing/under/rank/medical/scrubs/purple = 5,
+ /obj/item/clothing/under/rank/medical/turtleneck = 5,
+ /obj/item/clothing/under/rank/miner = 5,
+ /obj/item/clothing/under/rank/nurse = 5,
+ /obj/item/clothing/under/rank/nursesuit = 5,
+ /obj/item/clothing/under/rank/orderly = 5,
+ /obj/item/clothing/under/rank/pilot1 = 5,
+ /obj/item/clothing/under/rank/pilot2 = 5,
+ /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5,
+ /obj/item/clothing/under/rank/research_director = 5,
+ /obj/item/clothing/under/rank/research_director/dress_rd = 5,
+ /obj/item/clothing/under/rank/research_director/rdalt = 5,
+ /obj/item/clothing/under/rank/roboticist/skirt = 5,
+ /obj/item/clothing/under/rank/scientist/skirt = 5,
+ /obj/item/clothing/under/rank/scientist_new = 5,
+ /obj/item/clothing/under/rank/security/skirt = 5,
+ /obj/item/clothing/under/rank/security/corp = 5,
+ /obj/item/clothing/under/rank/security/navyblue = 5,
+ /obj/item/clothing/under/rank/security/skirt = 5,
+ /obj/item/clothing/under/rank/security/turtleneck = 5,
+ /obj/item/clothing/under/rank/security2 = 5,
+ /obj/item/clothing/under/rank/vice = 5,
+ /obj/item/clothing/under/rank/virologist/skirt = 5,
+ /obj/item/clothing/under/rank/virologist_new = 5,
+ /obj/item/clothing/under/rank/warden/skirt = 5,
+ /obj/item/clothing/under/rank/warden/corp = 5,
+ /obj/item/clothing/under/rank/warden/navyblue = 5,
+ /obj/item/clothing/under/redcoat = 5,
+ /obj/item/clothing/under/redpyjamas = 5,
+ /obj/item/clothing/under/rippedpunk = 5,
+ /obj/item/clothing/under/color/rainbow = 1,
+ /obj/item/clothing/under/rank/clown = 1)
+
+/obj/machinery/vending/event/gadget //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Chips Co."
+ desc = "A special vendor for devices and gadgets."
+ product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!"
+ icon_state = "gadgets"
+ vend_delay = 11
+ products = list(/obj/item/clothing/suit/circuitry = 1,
+ /obj/item/clothing/head/circuitry = 1,
+ /obj/item/clothing/shoes/circuitry = 1,
+ /obj/item/clothing/gloves/circuitry = 1,
+ /obj/item/clothing/under/circuitry = 1,
+ /obj/item/clothing/glasses/circuitry = 1,
+ /obj/item/clothing/ears/circuitry = 1,
+ /obj/item/device/text_to_speech = 5,
+ /obj/item/device/paicard = 5,
+ /obj/item/device/communicator = 10,
+ /obj/item/device/communicator/watch = 10,
+ /obj/item/device/radio = 10,
+ /obj/item/device/camera = 5,
+ /obj/item/device/taperecorder = 5,
+ /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 5,
+ /obj/item/device/pda = 10,
+ /obj/item/device/radio/headset = 10,
+ /obj/item/device/flashlight = 5,
+ /obj/item/device/laser_pointer = 3,
+ /obj/item/clothing/glasses/omnihud = 10,
+ /obj/item/device/perfect_tele/one_beacon = 1,
+ /obj/item/weapon/disk/nifsoft/compliance = 1,
+ /obj/item/device/perfect_tele/alien = 10)
+
+/obj/machinery/vending/event/loadout_misc //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Bits and Bobs"
+ desc = "A special vendor for things and also stuff!"
+ product_ads = "You never know when you might need an umbrella.;Hey kid... want some cardemon cards?;Miscellaneous for your miscellaneous heart.;Who's bob? Wouldn't you like to know.;I'm sorry there's no grappling hooks in our umbrellas.;We sell things AND stuff."
+ icon_state = "loadout_misc"
+ products = list(/obj/item/weapon/cane = 5,
+ /obj/item/weapon/pack/cardemon = 25,
+ /obj/item/weapon/deck/holder = 5,
+ /obj/item/weapon/deck/cah = 5,
+ /obj/item/weapon/deck/cah/black = 5,
+ /obj/item/weapon/deck/tarot = 5,
+ /obj/item/weapon/deck/cards = 5,
+ /obj/item/weapon/pack/spaceball = 10,
+ /obj/item/weapon/storage/pill_bottle/dice = 5,
+ /obj/item/weapon/storage/pill_bottle/dice_nerd = 5,
+ /obj/item/weapon/melee/umbrella/random = 10,
+ /obj/item/toy/bosunwhistle = 1,
+ /obj/item/toy/katana = 1,
+ /obj/item/weapon/storage/belt/utility/full = 10,
+ /obj/item/weapon/storage/belt/utility/chief/full = 5,
+ /obj/item/weapon/storage/belt/utility/alien/full = 5,
+ /obj/item/weapon/storage/bible = 5,
+ /obj/item/weapon/pickaxe/drill = 5,
+ /obj/item/weapon/pickaxe/diamonddrill = 5,
+ /obj/item/weapon/pickaxe/gold = 5,
+ /obj/item/weapon/pickaxe/diamond = 5,
+ /obj/item/weapon/melee/chainofcommand = 5,
+ /obj/item/weapon/melee/baton/cattleprod = 5,
+ /obj/item/weapon/melee/baton/loaded = 5,
+ /obj/item/weapon/melee/classic_baton = 5,
+ /obj/item/weapon/melee/energy/axe = 5,
+ /obj/item/weapon/melee/energy/axe/charge/loaded = 5,
+ /obj/item/weapon/melee/energy/blade = 5,
+ /obj/item/weapon/melee/energy/spear = 5,
+ /obj/item/weapon/melee/energy/sword/charge/loaded = 5,
+ /obj/item/weapon/melee/energy/sword/green = 5,
+ /obj/item/weapon/melee/energy/sword/blue = 5,
+ /obj/item/weapon/melee/energy/sword/purple = 5,
+ /obj/item/weapon/melee/energy/sword/red = 5,
+ /obj/item/weapon/melee/energy/sword/white = 5,
+ /obj/item/weapon/melee/energy/sword/pirate = 5,
+ /obj/item/weapon/melee/energy/sword/ionic_rapier = 5,
+ /obj/item/weapon/melee/energy/sword/ionic_rapier/lance = 5,
+ /obj/item/weapon/melee/energy/sword/imperial = 5,
+ /obj/item/weapon/melee/telebaton = 5)
+
+
+/obj/machinery/vending/event/overwear //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Big D's Best"
+ desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!"
+ product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!"
+ icon_state = "suit"
+ vend_delay = 16
+ products = list(/obj/item/clothing/suit/storage/apron = 5,
+ /obj/item/clothing/suit/storage/flannel/aqua = 5,
+ /obj/item/clothing/suit/storage/toggle/bomber = 5,
+ /obj/item/clothing/suit/storage/bomber/alt = 5,
+ /obj/item/clothing/suit/storage/flannel/brown = 5,
+ /obj/item/clothing/suit/storage/toggle/cardigan = 5,
+ /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5,
+ /obj/item/clothing/suit/storage/duster = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/fluff/gntop = 5,
+ /obj/item/clothing/suit/greatcoat = 5,
+ /obj/item/clothing/suit/storage/flannel = 5,
+ /obj/item/clothing/suit/storage/greyjacket = 5,
+ /obj/item/clothing/suit/storage/hazardvest = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/black = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/red = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/green = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/orange = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/cti = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/mu = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nt = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/smw = 5,
+ /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/field = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/air_force = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/navy = 5,
+ /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5,
+ /obj/item/clothing/suit/kamishimo = 5,
+ /obj/item/clothing/suit/kimono = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/green = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/orange = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/pink = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/red = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 5,
+ /obj/item/clothing/suit/leathercoat = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket = 5,
+ /obj/item/clothing/suit/storage/leather_jacket_alt = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5,
+ /obj/item/clothing/suit/storage/miljacket = 5,
+ /obj/item/clothing/suit/storage/miljacket/alt = 5,
+ /obj/item/clothing/suit/storage/miljacket/green = 5,
+ /obj/item/clothing/suit/storage/apron/overalls = 5,
+ /obj/item/clothing/suit/storage/toggle/peacoat = 5,
+ /obj/item/clothing/accessory/poncho = 5,
+ /obj/item/clothing/accessory/poncho/green = 5,
+ /obj/item/clothing/accessory/poncho/red = 5,
+ /obj/item/clothing/accessory/poncho/purple = 5,
+ /obj/item/clothing/accessory/poncho/blue = 5,
+ /obj/item/clothing/suit/jacket/puffer = 5,
+ /obj/item/clothing/suit/jacket/puffer/vest = 5,
+ /obj/item/clothing/suit/storage/flannel/red = 5,
+ /obj/item/clothing/suit/unathi/robe = 5,
+ /obj/item/clothing/suit/storage/snowsuit = 5,
+ /obj/item/clothing/suit/storage/toggle/internalaffairs = 5,
+ /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5,
+ /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5,
+ /obj/item/clothing/suit/suspenders = 5,
+ /obj/item/clothing/suit/storage/toggle/track = 5,
+ /obj/item/clothing/suit/storage/toggle/track/blue = 5,
+ /obj/item/clothing/suit/storage/toggle/track/green = 5,
+ /obj/item/clothing/suit/storage/toggle/track/red = 5,
+ /obj/item/clothing/suit/storage/toggle/track/white = 5,
+ /obj/item/clothing/suit/storage/trench = 5,
+ /obj/item/clothing/suit/storage/trench/grey = 5,
+ /obj/item/clothing/suit/varsity = 5,
+ /obj/item/clothing/suit/varsity/red = 5,
+ /obj/item/clothing/suit/varsity/purple = 5,
+ /obj/item/clothing/suit/varsity/green = 5,
+ /obj/item/clothing/suit/varsity/blue = 5,
+ /obj/item/clothing/suit/varsity/brown = 5,
+ /obj/item/clothing/suit/storage/hooded/wintercoat = 5,
+ /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey = 5,
+ /obj/item/clothing/suit/imperium_monk = 3,
+ /obj/item/clothing/head/helmet/space/void/engineering = 5,
+ /obj/item/clothing/suit/space/void/engineering = 5,
+ /obj/item/clothing/head/helmet/space/void/engineering/hazmat = 5,
+ /obj/item/clothing/suit/space/void/engineering/hazmat = 5,
+ /obj/item/clothing/head/helmet/space/void/engineering/construction = 5,
+ /obj/item/clothing/suit/space/void/engineering/construction = 5,
+ /obj/item/clothing/head/helmet/space/void/engineering/salvage = 5,
+ /obj/item/clothing/suit/space/void/engineering/salvage = 5,
+ /obj/item/clothing/head/helmet/space/void/mining = 5,
+ /obj/item/clothing/suit/space/void/mining = 5,
+ /obj/item/clothing/head/helmet/space/void/medical = 5,
+ /obj/item/clothing/suit/space/void/medical = 5,
+ /obj/item/clothing/head/helmet/space/void/medical/emt = 5,
+ /obj/item/clothing/suit/space/void/medical/emt = 5,
+ /obj/item/clothing/head/helmet/space/void/medical/bio = 5,
+ /obj/item/clothing/suit/space/void/medical/bio = 5,
+ /obj/item/clothing/head/helmet/space/void/security = 5,
+ /obj/item/clothing/suit/space/void/security = 5,
+ /obj/item/clothing/head/helmet/space/void/security/riot = 5,
+ /obj/item/clothing/suit/space/void/security/riot = 5,
+ /obj/item/clothing/head/helmet/space/void/atmos = 5,
+ /obj/item/clothing/suit/space/void/atmos = 5,
+ /obj/item/clothing/head/helmet/space/void/exploration = 5,
+ /obj/item/clothing/suit/space/void/exploration = 5,
+ /obj/item/clothing/head/helmet/space/void/pilot = 5,
+ /obj/item/clothing/suit/space/void/pilot = 5,
+ /obj/item/clothing/head/helmet/space/void/syndicate_contract = 5,
+ /obj/item/clothing/suit/space/void/syndicate_contract = 5,
+ /obj/item/clothing/suit/space/rig = 5,
+ /obj/item/clothing/suit/space/rig/advsuit = 5,
+ /obj/item/clothing/suit/space/rig/breacher = 5,
+ /obj/item/clothing/suit/space/rig/light = 5,
+ /obj/item/clothing/suit/space/rig/light/hacker = 5,
+ /obj/item/clothing/suit/space/rig/light/ninja = 5,
+ /obj/item/clothing/suit/space/rig/military = 5
+ )
+
+/obj/machinery/vending/event/costume //FOR FACILITATING AND EQUIPPING EVENTS, DO NOT PLACE ON THE NORMAL MAP//
+ name = "Thespian's Delight"
+ desc = "Sometimes nerds need costumes!"
+ product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "theater"
+ products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/carp_costume = 3,
+ /obj/item/clothing/suit/chickensuit = 3,
+ /obj/item/clothing/head/chicken = 3,
+ /obj/item/clothing/head/helmet/gladiator = 3,
+ /obj/item/clothing/under/gladiator = 3,
+ /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3,
+ /obj/item/clothing/under/gimmick/rank/captain/suit = 3,
+ /obj/item/clothing/glasses/gglasses = 3,
+ /obj/item/clothing/head/flatcap = 3,
+ /obj/item/clothing/shoes/boots/jackboots = 3,
+ /obj/item/clothing/under/schoolgirl = 3,
+ /obj/item/clothing/head/kitty = 3,
+ /obj/item/clothing/glasses/sunglasses/blindfold = 3,
+ /obj/item/clothing/head/beret = 3,
+ /obj/item/clothing/under/skirt = 3,
+ /obj/item/clothing/under/suit_jacket = 3,
+ /obj/item/clothing/head/that = 3,
+ /obj/item/clothing/accessory/wcoat = 3,
+ /obj/item/clothing/under/scratch = 3,
+ /obj/item/clothing/shoes/white = 3,
+ /obj/item/clothing/gloves/white = 3,
+ /obj/item/clothing/under/kilt = 3,
+ /obj/item/clothing/glasses/monocle = 3,
+ /obj/item/clothing/under/sl_suit = 3,
+ /obj/item/clothing/mask/fakemoustache = 3,
+ /obj/item/weapon/cane = 3,
+ /obj/item/clothing/head/bowler = 3,
+ /obj/item/clothing/head/plaguedoctorhat = 3,
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3,
+ /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3,
+ /obj/item/clothing/under/owl = 3,
+ /obj/item/clothing/mask/gas/owl_mask = 3,
+ /obj/item/clothing/under/waiter = 3,
+ /obj/item/clothing/suit/storage/apron = 3,
+ /obj/item/clothing/under/pirate = 3,
+ /obj/item/clothing/head/pirate = 3,
+ /obj/item/clothing/suit/pirate = 3,
+ /obj/item/clothing/glasses/eyepatch = 3,
+ /obj/item/clothing/head/ushanka = 3,
+ /obj/item/clothing/under/soviet = 3,
+ /obj/item/clothing/suit/imperium_monk = 1,
+ /obj/item/clothing/suit/holidaypriest = 3,
+ /obj/item/clothing/head/witchwig = 3,
+ /obj/item/clothing/under/sundress = 3,
+ /obj/item/weapon/staff/broom = 3,
+ /obj/item/clothing/suit/wizrobe/fake = 3,
+ /obj/item/clothing/head/wizard/fake = 3,
+ /obj/item/weapon/staff = 3,
+ /obj/item/clothing/mask/gas/sexyclown = 3,
+ /obj/item/clothing/under/sexyclown = 3,
+ /obj/item/clothing/mask/gas/sexymime = 3,
+ /obj/item/clothing/under/sexymime = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3,
+ /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume = 3,
+ /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3,
+ /obj/item/clothing/head/helmet/combat/crusader_costume = 3,
+ /obj/item/clothing/head/helmet/combat/bedevere_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume = 3,
+ /obj/item/clothing/gloves/combat/knight_costume/brown = 3,
+ /obj/item/clothing/shoes/knight_costume = 3,
+ /obj/item/clothing/shoes/knight_costume/black = 3,
+ /obj/item/clothing/suit/imperium_monk = 3,
+ /obj/item/clothing/suit/barding/agatha = 2,
+ /obj/item/clothing/suit/barding/alt_agatha = 2,
+ /obj/item/clothing/suit/barding/mason = 2,
+ /obj/item/clothing/suit/drake_cloak = 2,
+ /obj/item/clothing/head/syndicatefake = 1,
+ /obj/item/clothing/suit/syndicatefake = 1
+ )
+
+
+/obj/machinery/vending/event/food //FOR FACILITATING/OUTFITTING EVENTS, DO NOT PUT THESE ON THE MAP//
+ name = "Dog Food"
+ desc = "Food made by dogs!"
+ product_ads = "EAT FOOD!!!;Awooooooooooooooo!~;Made by actual dogs!;Now with twenty percent more taste!!!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "fridge_food"
+ products = list(/obj/item/weapon/tray = 50,
+ /obj/item/weapon/material/kitchen/utensil/fork = 50,
+ /obj/item/weapon/material/knife/plastic = 50,
+ /obj/item/weapon/material/kitchen/utensil/spoon = 50,
+ /obj/item/weapon/tray = 50,
+ /obj/item/weapon/material/kitchen/utensil/fork = 50,
+ /obj/item/weapon/material/knife/plastic = 50,
+ /obj/item/weapon/storage/mre = 10,
+ /obj/item/weapon/storage/mre/menu2 = 10,
+ /obj/item/weapon/storage/mre/menu3 = 10,
+ /obj/item/weapon/storage/mre/menu4 = 10,
+ /obj/item/weapon/storage/mre/menu5 = 10,
+ /obj/item/weapon/storage/mre/menu6 = 10,
+ /obj/item/weapon/storage/mre/menu7 = 10,
+ /obj/item/weapon/storage/mre/menu8 = 10,
+ /obj/item/weapon/storage/mre/menu9 = 10,
+ /obj/item/weapon/storage/mre/menu10 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/aesirsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/applepie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/appletart = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_flatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_stick = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelplain = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelcheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bageleverything = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelpoppy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelraisin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bageltwo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/baguette = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bangersandmash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/beans = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearstew = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/beetsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/benedict = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berrymuffin/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bibimbap = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/blackpudding = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bloodsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/blt = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledspagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/breakfast_wrap = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/browniesslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/browniesslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bugball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bunbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burger/bacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_vegan = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_spicy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_mystery = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_hell = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candiedapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/donor = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/gummy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy_corn = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carrotfries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb01 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb02 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb03 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb04 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb05 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb06 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb07 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb08 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb09 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb10 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chawanmushi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheese_cracker = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheeseburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesenachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesewedge = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesyfries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesymash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cherrypie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenfillet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenkatsu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenmomo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenwing = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chilicheesefries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chilied_eggs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chipplate = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chipplate/nachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chips/bbq = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolateegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/clownburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/clownstears = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/coldchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cookiesnack = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/corn_dog = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/crab_legs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cracker = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/croissant = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/csandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cubancarp = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cubannachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube/nutriment = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube/protein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/curryrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/custardbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cutlet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cuttlefishcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/devilledegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dionaroast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donerkebab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donkpocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/jelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg_pancake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggbowl = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggplantparm = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggroll = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/enchiladas = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/father_breakfast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fish_taco = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishandchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishfingers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/flatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/flowerchildsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fortunecookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedmushroom = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fruitbar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fruitsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fuegoburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/funnelcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/goulash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/greencurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/grilled_carp_slice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeybun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeytoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeytoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hotchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hotdog = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/icecream = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellyburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/peanutbutter = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/keylimepieslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/keylimepieslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kudzudonburi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lasagna = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lobstercooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lomein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/macncheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/makaroni = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mammi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mashedpotato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat_pocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatballsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatballspagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatcube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatsteak = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/microchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/milosoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mimeburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mint = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeyburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkfishcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mouseburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/muffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nettlesoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/no_raisin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nt_muffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nugget = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nutrimentslab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/omelette = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/onionrings = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/onionsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ovenchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pancakes = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/piginblanket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pillbug = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineappleslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineappleslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pisanggoreng = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pistachios = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/plump_pie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/poachedegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/popcorn = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/poppypretzel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/porkbowl = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/proteinslab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/quicheslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/quicheslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/red_sun_special = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/redcurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ribplate = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ricepudding = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/risotto = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/risottoballs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastbeef = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastedpeanuts = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastedsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rosesalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sashimi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sausage = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sausage/battered = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/semki = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatcubes = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatdip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/siffruit = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/applecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/bananabread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/bread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/limecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/margherita = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/meatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/orangecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/peanutcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/pineapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/plaincake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/tofubread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/brownies = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/keylimepie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/peanutcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/crunch = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/quiche = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sosjerky = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soup/onion = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soydope = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soylentgreen = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soylenviridians = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spesslaw = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spreads = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spreads/butter = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stew = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stuffing = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sugarcookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/superbiteburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/syndicake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/taco = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tastybread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofukabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofupie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofurkey = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tossedsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/truffle = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/truffle/random = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tuna = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/twobread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/unajerky = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/validsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/veggiemomo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/waffles = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wingfangchu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wishsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/yellowcurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/zestfish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/amanita_pie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/amanitajelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/badrecipe = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis/poison = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berrymuffin/poison = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledslimecore = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/brainburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/chaos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/poisonberry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/poison = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hotdog/old = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/human/burger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/human/kabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellyburger/slime/ = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mint/admints = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/organ = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/reishicup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roburgerbig = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/braincake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cosmicbrownies = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/oldpizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slimesoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/snakesnack = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spellburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/worm = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wormdeluxe = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wormsickly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xemeatpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xenoburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sharkmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cuttlefish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/blue = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/green = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/mime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/orange = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/purple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/rainbow = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/red = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/yellow = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lobster = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/chicken = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/corgi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/fox = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/human = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/worm = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sparracube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeykabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkfishfillet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rawbacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rawsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfishremains = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/sharkchunk = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xenomeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat = 10)
+ vend_delay = 15
+
+/obj/machinery/vending/event/food/safe //FOR FACILITATING/OUTFITTING EVENTS, DO NOT PUT THESE ON THE MAP//
+ name = "Dog Food"
+ desc = "Food made by dogs!"
+ product_ads = "EAT FOOD!!!;Awooooooooooooooo!~;Made by actual dogs!;Now with twenty percent more taste!!!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "fridge_food"
+ products = list(/obj/item/weapon/tray = 50,
+ /obj/item/weapon/material/kitchen/utensil/fork = 50,
+ /obj/item/weapon/material/knife/plastic = 50,
+ /obj/item/weapon/material/kitchen/utensil/spoon = 50,
+ /obj/item/weapon/storage/mre = 10,
+ /obj/item/weapon/storage/mre/menu2 = 10,
+ /obj/item/weapon/storage/mre/menu3 = 10,
+ /obj/item/weapon/storage/mre/menu4 = 10,
+ /obj/item/weapon/storage/mre/menu5 = 10,
+ /obj/item/weapon/storage/mre/menu6 = 10,
+ /obj/item/weapon/storage/mre/menu7 = 10,
+ /obj/item/weapon/storage/mre/menu8 = 10,
+ /obj/item/weapon/storage/mre/menu9 = 10,
+ /obj/item/weapon/storage/mre/menu10 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/aesirsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/applepie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/appletart = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_flatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bacon_stick = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelplain = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelcheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bageleverything = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelpoppy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelraisin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bagelsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bageltwo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/baguette = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bangersandmash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/beans = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bearstew = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/beetsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/benedict = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/berrymuffin/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bibimbap = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/blackpudding = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bloodsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/blt = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/boiledspagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/breakfast_wrap = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/browniesslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/browniesslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bugball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/bunbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burger/bacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_vegan = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_spicy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_mystery = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/burrito_hell = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candiedapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/donor = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/gummy = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/candy_corn = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carrotfries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb01 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb02 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb03 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb04 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb05 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb06 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb07 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb08 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb09 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cb10 = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chawanmushi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheese_cracker = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheeseburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesenachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesewedge = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesyfries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cheesymash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cherrypie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenfillet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenkatsu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenmomo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chickenwing = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chilicheesefries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chilied_eggs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/cheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chipplate = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chipplate/nachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chips/bbq = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolateegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/clownburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/clownstears = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/coldchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cookiesnack = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/corn_dog = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/crab_legs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/crabmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cracker = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/croissant = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/csandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cubancarp = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cubannachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube/nutriment = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cube/protein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/curryrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/custardbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cutlet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cuttlefishcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/devilledegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dionaroast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip/guac = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/dip/salsa = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donerkebab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donkpocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/jelly = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg_pancake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggbowl = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggplantparm = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/eggroll = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/enchiladas = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/father_breakfast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fish_taco = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishandchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fishfingers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/flatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/flowerchildsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fortunecookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedmushroom = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/friedrice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fries = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fruitbar = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fruitsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/fuegoburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/funnelcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ghostmuffin/berry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/goulash = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/greencurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/grilled_carp_slice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeybun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeytoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/honeytoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hotchili = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/hotdog = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/icecream = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellyburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/peanutbutter = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/keylimepieslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/keylimepieslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/kudzudonburi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lasagna = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lobstercooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lomein = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/macncheese = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/makaroni = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mammi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mashedpotato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat_pocket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatballsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatballspagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatbun = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatburrito = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatcube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meatsteak = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/microchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/milosoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mimeburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mint = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeyburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkfishcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mouseburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/muffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nachos = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nettlesoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/no_raisin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nt_muffin = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nugget = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/nutrimentslab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/omelette = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/onionrings = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/onionsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ovenchips = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pancakes = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/piginblanket = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pillbug = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineappleslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineappleslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pisanggoreng = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pistachios = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/plump_pie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/poachedegg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/popcorn = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/poppypretzel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/porkbowl = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/proteinslab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/quicheslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/quicheslice/filled = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/red_sun_special = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/redcurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ribplate = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/ricepudding = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/risotto = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/risottoballs = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastbeef = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastedpeanuts = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/roastedsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rosesalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sashimi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sausage = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sausage/battered = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/semki = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatcooked = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatcubes = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeatdip = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/siffruit = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/skrellsnacks = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/applecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/bananabread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/bread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/limecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/margherita = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/meatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/orangecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/peanutcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/pineapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/plaincake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/tofubread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/brownies = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/keylimepie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/peanutcake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/crunch = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/quiche = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/slime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sosjerky = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soup/onion = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soydope = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soylentgreen = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/soylenviridians = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spesslaw = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spreads = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spreads/butter = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stew = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/stuffing = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sugarcookie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/superbiteburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/syndicake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/taco = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tastybread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofukabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofupie = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tofurkey = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tossedsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/truffle = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/truffle/random = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/tuna = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/twobread = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/unajerky = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/validsalad = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/veggiemomo = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/waffles = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wingfangchu = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/wishsoup = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/yellowcurry = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/zestfish = 10)
+ vend_delay = 15
+
+/obj/machinery/vending/event/food/ingredients //FOR FACILITATING/OUTFITTING EVENTS, DO NOT PUT THESE ON THE MAP//
+ name = "Food Ingredients"
+ desc = "Food made by dogs!"
+ product_ads = "EAT FOOD!!!;Awooooooooooooooo!~;Made by actual dogs!;Now with twenty percent more taste!!!"
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "fridge_food"
+ products = list(/obj/item/weapon/reagent_containers/food/snacks/bearmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sharkmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/cuttlefish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/blue = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/green = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/mime = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/orange = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/purple = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/rainbow = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/red = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/egg/yellow = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/lobster = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/chicken = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/corgi = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/crab = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/fox = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/human = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/monkey = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/meat/worm = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sparracube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeykabob = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/monkfishfillet = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rawbacon = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/rawsunflower = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sharkmeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfish = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfishremains = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/sliceable/sharkchunk = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/spagetti = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xenomeat = 10,
+ /obj/item/weapon/reagent_containers/food/snacks/xenomeat/spidermeat = 10)
+ vend_delay = 15
+
+//TFF 19/12/19 - Brig version of a seed storage vendor
+/obj/machinery/seed_storage/brig
+ name = "Prisoners' food seed storage"
+ starting_seeds = list(
+ /obj/item/seeds/appleseed = 3,
+ /obj/item/seeds/bananaseed = 3,
+ /obj/item/seeds/berryseed = 3,
+ /obj/item/seeds/cabbageseed = 3,
+ /obj/item/seeds/carrotseed = 3,
+ /obj/item/seeds/celery = 3,
+ /obj/item/seeds/chantermycelium = 3,
+ /obj/item/seeds/cherryseed = 3,
+ /obj/item/seeds/chiliseed = 3,
+ /obj/item/seeds/cocoapodseed = 3,
+ /obj/item/seeds/cornseed = 3,
+ /obj/item/seeds/durian = 3,
+ /obj/item/seeds/eggplantseed = 3,
+ /obj/item/seeds/grapeseed = 3,
+ /obj/item/seeds/grassseed = 3,
+ /obj/item/seeds/replicapod = 3,
+ /obj/item/seeds/lavenderseed = 3,
+ /obj/item/seeds/lemonseed = 3,
+ /obj/item/seeds/lettuce = 3,
+ /obj/item/seeds/limeseed = 3,
+ /obj/item/seeds/mtearseed = 2,
+ /obj/item/seeds/orangeseed = 3,
+ /obj/item/seeds/onionseed = 3,
+ /obj/item/seeds/peanutseed = 3,
+ /obj/item/seeds/plumpmycelium = 3,
+ /obj/item/seeds/poppyseed = 3,
+ /obj/item/seeds/potatoseed = 3,
+ /obj/item/seeds/pumpkinseed = 3,
+ /obj/item/seeds/rhubarb = 3,
+ /obj/item/seeds/riceseed = 3,
+ /obj/item/seeds/rose = 3,
+ /obj/item/seeds/soyaseed = 3,
+ /obj/item/seeds/spineapple = 3,
+ /obj/item/seeds/sugarcaneseed = 3,
+ /obj/item/seeds/sunflowerseed = 3,
+ /obj/item/seeds/shandseed = 2,
+ /obj/item/seeds/tobaccoseed = 3,
+ /obj/item/seeds/tomatoseed = 3,
+ /obj/item/seeds/towermycelium = 3,
+ /obj/item/seeds/vanilla = 3,
+ /obj/item/seeds/watermelonseed = 3,
+ /obj/item/seeds/wheatseed = 3,
+ /obj/item/seeds/whitebeetseed = 3,
+ /obj/item/seeds/wabback = 2)
+
+/obj/machinery/vending/hydronutrients/brig
+ name = "Brig NutriMax"
+ desc = "A plant nutrients vendor. Seems some items aren't included."
+ products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20,
+ /obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5)
+ premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5)
+
+/obj/machinery/vending/emergencyfood
+ name = "Food Cube Dispenser"
+ desc = "An ominous machine dispensing food cubes. It will keep you fed, but at what cost?"
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "foodcube"
+ product_ads = "Afraid to starve?;Starvation is not an option!;Add water before consumption.;Let me take care of you.;Dire circumstances call for food cubes, do not let the taste deter you."
+ products = list(/obj/item/weapon/storage/box/wings/tray = 5,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 10)
+ contraband = list(/obj/item/weapon/storage/box/wings/tray = 5)
+
+/obj/machinery/vending/emergencyfood/filled
+ products = list(/obj/item/weapon/storage/box/wings/tray = 40)
+ contraband = list(/obj/item/weapon/storage/box/wings/tray = 20)
+
+/obj/machinery/vending/cola
+ icon_state = "Soda_Machine"
+
+/obj/machinery/vending/cola/soft
+ icon = 'icons/obj/vending_vr.dmi'
+ icon_state = "Cola_Machine"
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 2cd581c9f1..c48f98fc33 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -32,7 +32,7 @@
/obj/machinery/washing_machine/Initialize()
. = ..()
default_apply_parts()
-
+
/obj/machinery/washing_machine/AltClick()
start()
@@ -67,9 +67,14 @@
//Tanning!
for(var/obj/item/stack/hairlesshide/HH in washing)
- var/obj/item/stack/wetleather/WL = new(src)
- WL.amount = HH.amount
- qdel(HH)
+ var/obj/item/stack/WL = new HH.wet_type(src)
+ if(istype(WL))
+ WL.amount = HH.amount
+ washing -= HH
+ HH.forceMove(get_turf(src))
+ HH.use(HH.amount)
+
+ washing += WL
if(locate(/mob,washing))
state = 7
@@ -130,7 +135,7 @@
to_chat(user, "You can't fit \the [W] inside.")
return
- else if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/bedsheet))
+ else if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/bedsheet) || istype(W, /obj/item/stack/hairlesshide))
if(washing.len < 5)
if(state in list(1, 3))
user.drop_item()
diff --git a/code/game/mecha/combat/fighter.dm b/code/game/mecha/combat/fighter.dm
index 9d0fd7cfbf..bf176f6a69 100644
--- a/code/game/mecha/combat/fighter.dm
+++ b/code/game/mecha/combat/fighter.dm
@@ -13,6 +13,8 @@
icon_state = ""
initial_icon = ""
+ dir_in = null //Don't reset direction when empty
+
step_in = 2 //Fast
health = 400
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 77e463c0d0..c3850ad0dd 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -33,23 +33,29 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
QDEL_NULL(radio)
return ..()
-/obj/item/device/paicard/attack_ghost(mob/observer/dead/user)
- if(istype(user) && user.can_admin_interact())
- switch(alert(user, "Would you like to become a pAI by force? (Admin)", "pAI Creation", "Yes", "No"))
- if("Yes")
- // Copied from paiController/Topic
- var/mob/living/silicon/pai/pai = new(src)
- pai.name = user.name
- pai.real_name = pai.name
- pai.key = user.key
+// VOREStation Edit - Allow everyone to become a pAI
+/obj/item/device/paicard/attack_ghost(mob/user as mob)
+ if(pai != null) //Have a person in them already?
+ return ..()
- setPersonality(pai)
- looking_for_personality = FALSE
+ var/choice = input(user, "You sure you want to inhabit this PAI?") in list("Yes", "No")
+ if(choice == "No")
+ return ..()
- if(pai.mind)
- update_antag_icons(pai.mind)
+ var/pai_name = input(user, "Choose your character's name", "Character Name") as text
+ var/actual_pai_name = sanitize_name(pai_name)
+ if(isnull(actual_pai_name))
+ return ..()
+
+ var/turf/location = get_turf(src)
+ var/obj/item/device/paicard/card = new(location)
+ var/mob/living/silicon/pai/new_pai = new(card)
+ qdel(src)
+ new_pai.key = user.key
+ card.setPersonality(new_pai)
+ new_pai.SetName(actual_pai_name)
return ..()
-
+// VOREStation Edit End
/obj/item/device/paicard/attack_self(mob/user)
if (!in_range(src, user))
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 05be57c265..b122b590ad 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -3,8 +3,7 @@
desc = "Talk through this."
icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit - New Icon
icon_state = "intercom"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
w_class = ITEMSIZE_LARGE
canhear_range = 7 //VOREStation Edit
diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm
index 5b6e55290e..c4069be3ed 100644
--- a/code/game/objects/items/devices/uplink.dm
+++ b/code/game/objects/items/devices/uplink.dm
@@ -112,6 +112,7 @@ GLOBAL_LIST_BOILERPLATE(world_uplinks, /obj/item/device/uplink)
/obj/item/device/uplink/hidden/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui)
if(!active)
toggle()
+ uses = user.mind.tcrystals
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "Uplink", "Remote Uplink")
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 8bf366268a..54bc1e2fce 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -1,70 +1,75 @@
+/obj/item/stack/animalhide
+ name = "hide"
+ desc = "The hide of some creature."
+ icon_state = "sheet-hide"
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
+ amount = 1
+ stacktype = "hide"
+ no_variants = TRUE
+
+ var/process_type = /obj/item/stack/hairlesshide
+
/obj/item/stack/animalhide/human
- name = "human skin"
- desc = "The by-product of human farming."
- singular_name = "human skin piece"
+ name = "skin"
+ desc = "The by-product of sapient farming."
+ singular_name = "skin piece"
icon_state = "sheet-hide"
no_variants = FALSE
drop_sound = 'sound/items/drop/leather.ogg'
pickup_sound = 'sound/items/pickup/leather.ogg'
-
-/obj/item/stack/animalhide/human
- amount = 50
+ amount = 1
+ stacktype = "hide-human"
/obj/item/stack/animalhide/corgi
name = "corgi hide"
desc = "The by-product of corgi farming."
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
-
-/obj/item/stack/animalhide/corgi
- amount = 50
+ amount = 1
+ stacktype = "hide-corgi"
/obj/item/stack/animalhide/cat
name = "cat hide"
desc = "The by-product of cat farming."
singular_name = "cat hide piece"
icon_state = "sheet-cat"
-
-/obj/item/stack/animalhide/cat
- amount = 50
+ amount = 1
+ stacktype = "hide-cat"
/obj/item/stack/animalhide/monkey
name = "monkey hide"
desc = "The by-product of monkey farming."
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
-
-/obj/item/stack/animalhide/monkey
- amount = 50
+ amount = 1
+ stacktype = "hide-monkey"
/obj/item/stack/animalhide/lizard
name = "lizard skin"
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
-
-/obj/item/stack/animalhide/lizard
- amount = 50
+ amount = 1
+ stacktype = "hide-lizard"
/obj/item/stack/animalhide/xeno
name = "alien hide"
desc = "The skin of a terrible creature."
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
-
-/obj/item/stack/animalhide/xeno
- amount = 50
+ amount = 1
+ stacktype = "hide-xeno"
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
/obj/item/stack/xenochitin
name = "alien chitin"
desc = "A piece of the hide of a terrible creature."
- singular_name = "alien hide piece"
+ singular_name = "alien chitin piece"
icon = 'icons/mob/alien.dmi'
icon_state = "chitin"
-
-/obj/item/stack/xenochitin
- amount = 50
+ amount = 1
+ stacktype = "hide-chitin"
/obj/item/xenos_claw
name = "alien claw"
@@ -84,9 +89,22 @@
singular_name = "hairless hide piece"
icon_state = "sheet-hairlesshide"
no_variants = FALSE
+ amount = 1
+ stacktype = "hairlesshide"
+ var/cleaning = FALSE // Can we be water_acted, or are we busy? To prevent accidental hide duplication and the collapse of causality.
-/obj/item/stack/hairlesshide
- amount = 50
+ var/wet_type = /obj/item/stack/wetleather
+
+/obj/item/stack/hairlesshide/water_act(var/wateramount)
+ ..()
+ cleaning = TRUE
+ while(amount > 0 && wateramount > 0)
+ use(1)
+ wateramount--
+ new wet_type(get_turf(src))
+ cleaning = FALSE
+
+ return
/obj/item/stack/wetleather
name = "wet leather"
@@ -96,29 +114,28 @@
var/wetness = 30 //Reduced when exposed to high temperautres
var/drying_threshold_temperature = 500 //Kelvin to start drying
no_variants = FALSE
+ amount = 1
+ stacktype = "wetleather"
-/obj/item/stack/wetleather
- amount = 50
+ var/dry_type = /obj/item/stack/material/leather
//Step one - dehairing.
/obj/item/stack/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if( istype(W, /obj/item/weapon/material/knife) || \
- istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \
- istype(W, /obj/item/weapon/material/knife/machete/hatchet) )
-
+ if(has_edge(W) || is_sharp(W))
//visible message on mobs is defined as visible_message(var/message, var/self_message, var/blind_message)
usr.visible_message("\The [usr] starts cutting hair off \the [src]", "You start cutting the hair off \the [src]", "You hear the sound of a knife rubbing against flesh")
if(do_after(user,50))
to_chat(usr, "You cut the hair from this [src.singular_name]")
//Try locating an exisitng stack on the tile and add to there if possible
for(var/obj/item/stack/hairlesshide/HS in usr.loc)
- if(HS.amount < 50)
+ if(HS.amount < 50 && istype(HS, process_type))
HS.amount++
src.use(1)
- break
+ return
//If it gets to here it means it did not find a suitable stack on the tile.
- var/obj/item/stack/hairlesshide/HS = new(usr.loc)
- HS.amount = 1
+ var/obj/item/stack/HS = new process_type(usr.loc)
+ if(istype(HS))
+ HS.amount = 1
src.use(1)
else
..()
@@ -132,15 +149,20 @@
if(exposed_temperature >= drying_threshold_temperature)
wetness--
if(wetness == 0)
- //Try locating an exisitng stack on the tile and add to there if possible
- for(var/obj/item/stack/material/leather/HS in src.loc)
- if(HS.amount < 50)
- HS.amount++
- src.use(1)
- wetness = initial(wetness)
- break
- //If it gets to here it means it did not find a suitable stack on the tile.
- var/obj/item/stack/material/leather/HS = new(src.loc)
- HS.amount = 1
+ dry()
+
+/obj/item/stack/wetleather/proc/dry()
+ //Try locating an exisitng stack on the tile and add to there if possible
+ for(var/obj/item/stack/material/leather/HS in src.loc)
+ if(HS.amount < 50)
+ HS.amount++
wetness = initial(wetness)
src.use(1)
+ return
+ //If it gets to here it means it did not find a suitable stack on the tile.
+ var/obj/item/stack/HS = new dry_type(src.loc)
+
+ if(istype(HS))
+ HS.amount = 1
+ wetness = initial(wetness)
+ src.use(1)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 6e35e74974..5fa718564f 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -59,7 +59,7 @@
/obj/item/stack/examine(mob/user)
. = ..()
-
+
if(Adjacent(user))
if(!uses_charge)
. += "There are [src.amount] [src.singular_name]\s in the stack."
@@ -380,17 +380,17 @@
var/use_material
var/pass_color
- New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1, time = 0, one_per_turf = 0, on_floor = 0, supplied_material = null, pass_stack_color)
- src.title = title
- src.result_type = result_type
- src.req_amount = req_amount
- src.res_amount = res_amount
- src.max_res_amount = max_res_amount
- src.time = time
- src.one_per_turf = one_per_turf
- src.on_floor = on_floor
- src.use_material = supplied_material
- src.pass_color = pass_stack_color
+/datum/stack_recipe/New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1, time = 0, one_per_turf = 0, on_floor = 0, supplied_material = null, pass_stack_color)
+ src.title = title
+ src.result_type = result_type
+ src.req_amount = req_amount
+ src.res_amount = res_amount
+ src.max_res_amount = max_res_amount
+ src.time = time
+ src.one_per_turf = one_per_turf
+ src.on_floor = on_floor
+ src.use_material = supplied_material
+ src.pass_color = pass_stack_color
/*
* Recipe list datum
diff --git a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
index 99eba1931c..098926f535 100644
--- a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
+++ b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
@@ -4,6 +4,10 @@
name = "stack of grass"
type_to_spawn = /obj/item/stack/tile/grass
+/obj/fiftyspawner/grass/sif
+ name = "stack of sifgrass"
+ type_to_spawn = /obj/item/stack/tile/grass/sif
+
/obj/fiftyspawner/wood
name = "stack of wood"
type_to_spawn = /obj/item/stack/tile/wood
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 7e81e0115c..bf50db2188 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -41,6 +41,12 @@
no_variants = FALSE
drop_sound = 'sound/items/drop/herb.ogg'
pickup_sound = 'sound/items/pickup/herb.ogg'
+
+/obj/item/stack/tile/grass/sif
+ name = "sivian grass tile"
+ singular_name = "sivian grass floor tile"
+ desc = "A patch of grass like those that decorate the plains of Sif."
+
/*
* Wood
*/
diff --git a/code/game/objects/items/toys/toys.dm b/code/game/objects/items/toys/toys.dm
index 0433d9041d..4391901918 100644
--- a/code/game/objects/items/toys/toys.dm
+++ b/code/game/objects/items/toys/toys.dm
@@ -114,6 +114,18 @@
w_class = ITEMSIZE_LARGE
drop_sound = 'sound/items/drop/rubber.ogg'
+/obj/item/toy/colorballoon /// To color it, VV the 'color' var with a hex color code with the # included.
+ name = "balloon"
+ desc = "It's a plain little balloon. Comes in many colors!"
+ throwforce = 0
+ throw_speed = 4
+ throw_range = 20
+ force = 0
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "colorballoon"
+ w_class = ITEMSIZE_LARGE
+ drop_sound = 'sound/items/drop/rubber.ogg'
+
/*
* Fake telebeacon
*/
@@ -1438,4 +1450,36 @@
name = "purple king"
desc = "A large king piece for playing chess. It's made of a purple-colored glass."
description_info = "The King can move exactly one square horizontally, vertically, or diagonally. If your opponent captures this piece, you lose."
- icon_state = "b-king"
\ No newline at end of file
+ icon_state = "b-king"
+
+/// Balloon structures
+
+/obj/structure/balloon
+ name = "generic balloon"
+ desc = "A generic balloon. How boring."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "ghostballoon"
+ anchored = 0
+ density = 0
+
+/obj/structure/balloon/attack_hand(mob/user)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+
+ if(user.a_intent == I_HELP)
+ user.visible_message("\The [user] pokes [src]!","You poke [src]!")
+ else if (user.a_intent == I_HURT)
+ user.visible_message("\The [user] punches [src]!","You punch [src]!")
+ else if (user.a_intent == I_GRAB)
+ user.visible_message("\The [user] attempts to pop [src]!","You attempt to pop [src]!")
+ else
+ user.visible_message("\The [user] lightly bats the [src].","You lightly bat the [src].")
+
+/obj/structure/balloon/bat
+ name = "giant bat balloon"
+ desc = "A large balloon in the shape of a spooky bat with orange eyes."
+ icon_state = "batballoon"
+
+/obj/structure/balloon/ghost
+ name = "giant ghost balloon"
+ desc = "Oh no, it's a ghost! Oh wait, it's just a balloon. Phew!"
+ icon_state = "ghostballoon"
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/circuitboards/computer/computer.dm b/code/game/objects/items/weapons/circuitboards/computer/computer.dm
index 91b09022a5..9948edea42 100644
--- a/code/game/objects/items/weapons/circuitboards/computer/computer.dm
+++ b/code/game/objects/items/weapons/circuitboards/computer/computer.dm
@@ -101,6 +101,11 @@
build_path = /obj/machinery/computer/arcade/orion_trail
origin_tech = list(TECH_DATA = 1)
+/obj/item/weapon/circuitboard/arcade/clawmachine
+ name = T_BOARD("grab-a-gift arcade machine")
+ build_path = /obj/machinery/computer/arcade/clawmachine
+ origin_tech = list(TECH_DATA = 1)
+
/obj/item/weapon/circuitboard/turbine_control
name = T_BOARD("turbine control console")
build_path = /obj/machinery/computer/turbine_computer
diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm
index 19eaf7f776..cbf03b4535 100644
--- a/code/game/objects/items/weapons/material/shards.dm
+++ b/code/game/objects/items/weapons/material/shards.dm
@@ -152,4 +152,4 @@
..(loc, "steel")
/obj/item/weapon/material/shard/phoron/New(loc)
- ..(loc, "phglass")
+ ..(loc, "borosilicate glass")
diff --git a/code/game/objects/items/weapons/shields_vr.dm b/code/game/objects/items/weapons/shields_vr.dm
index acaa4a58fd..a9bce1d548 100644
--- a/code/game/objects/items/weapons/shields_vr.dm
+++ b/code/game/objects/items/weapons/shields_vr.dm
@@ -79,6 +79,15 @@
desc = "A shield issued to exploration teams to help protect them when advancing into the unknown. It is lighter and cheaper but less protective than some of its counterparts. It has a flashlight straight in the middle to help draw attention. This one is POURPEL"
icon_state = "explorer_shield_P"
+/obj/item/weapon/shield/riot/explorer/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ if(istype(W, /obj/item/weapon/material/knife/machete))
+ if(cooldown < world.time - 25)
+ user.visible_message("[user] bashes [src] with [W]!")
+ playsound(src, 'sound/effects/shieldbash.ogg', 50, 1)
+ cooldown = world.time
+ else
+ ..()
+
/obj/item/weapon/shield/riot/explorer/purple/update_icon()
if(on)
icon_state = "explorer_shield_P_lighted"
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 034e37ff8e..7519525dd2 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -178,6 +178,7 @@
desc = "It doesn't seem all that secure. Oh well, it'll do."
icon = 'icons/obj/storage.dmi'
icon_state = "safe"
+ layer = ABOVE_WINDOW_LAYER
icon_opened = "safe0"
icon_locking = "safeb"
icon_sparking = "safespark"
diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm
index 52bd1e330a..276ad92d59 100644
--- a/code/game/objects/items/weapons/tools/weldingtool.dm
+++ b/code/game/objects/items/weapons/tools/weldingtool.dm
@@ -349,9 +349,11 @@
to_chat(user, "You go blind!")
user.Blind(5)
user.eye_blurry = 5
- user.disabilities |= NEARSIGHTED
- spawn(100)
- user.disabilities &= ~NEARSIGHTED
+ // Don't cure being nearsighted
+ if(!(H.disabilities & NEARSIGHTED))
+ user.disabilities |= NEARSIGHTED
+ spawn(100)
+ user.disabilities &= ~NEARSIGHTED
return
/obj/item/weapon/weldingtool/is_hot()
diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm
index af52c59b71..3da06fa226 100644
--- a/code/game/objects/structures/bonfire.dm
+++ b/code/game/objects/structures/bonfire.dm
@@ -240,6 +240,16 @@
removed.add_thermal_energy(heat_transfer)
+ for(var/mob/living/L in view(3, src))
+ L.add_modifier(/datum/modifier/endothermic, 10 SECONDS, null, TRUE)
+
+ for(var/obj/item/stack/wetleather/WL in view(2, src))
+ if(WL.wetness >= 0)
+ WL.dry()
+ continue
+
+ WL.wetness = max(0, WL.wetness - rand(1, 4))
+
env.merge(removed)
/obj/structure/bonfire/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
diff --git a/code/game/objects/structures/crates_lockers/_closets_appearance_definitions.dm b/code/game/objects/structures/crates_lockers/_closets_appearance_definitions.dm
index b90a7961e2..9075c87272 100644
--- a/code/game/objects/structures/crates_lockers/_closets_appearance_definitions.dm
+++ b/code/game/objects/structures/crates_lockers/_closets_appearance_definitions.dm
@@ -1380,6 +1380,36 @@
"glass" = COLOR_WHITE
)
+// Wall cabinets
+/decl/closet_appearance/wall_double
+ base_icon = 'icons/obj/closets/bases/wall_double.dmi'
+ decal_icon = 'icons/obj/closets/decals/wall_double.dmi'
+ decals = list(
+ "vent"
+ )
+ extra_decals = null
+
+/decl/closet_appearance/wall_double/kitchen
+ decals = null
+ color = COLOR_OFF_WHITE
+
+/decl/closet_appearance/wall_double/medical
+ decals = null
+ color = COLOR_OFF_WHITE
+ extra_decals = list(
+ "stripe_outer" = COLOR_BLUE_GRAY,
+ "stripe_inner" = COLOR_OFF_WHITE,
+ "cross" = COLOR_BLUE_GRAY
+ )
+
+/decl/closet_appearance/wall_double/fire_safety
+ color = COLOR_RED_LIGHT
+ decals = null
+ extra_decals = list(
+ "stripes" = COLOR_OFF_WHITE,
+ "glass" = COLOR_WHITE
+ )
+
// Carts
/decl/closet_appearance/cart
color = COLOR_GRAY20
diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
index 82afaa33ff..e395507702 100644
--- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm
+++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
@@ -10,7 +10,7 @@
anchored = 1
store_mobs = 0
-//spawns endless (3 sets) amounts of breathmask, emergency oxy tank and crowbar
+//spawns 2 sets of breathmask, emergency oxy tank and crowbar
/obj/structure/closet/walllocker/emerglocker
name = "emergency locker"
@@ -54,3 +54,130 @@
/obj/structure/closet/walllocker/emerglocker/east
pixel_x = 32
dir = EAST
+
+//VOREStation Add Start
+/obj/structure/closet/walllocker/medical
+ name = "first-aid closet"
+ desc = "It's wall-mounted storage unit for first aid supplies."
+ closet_appearance = /decl/closet_appearance/wall/medical
+
+/obj/structure/closet/walllocker/medical/north
+ pixel_y = 32
+ dir = SOUTH
+
+/obj/structure/closet/walllocker/medical/south
+ pixel_y = -32
+ dir = NORTH
+
+/obj/structure/closet/walllocker/medical/west
+ pixel_x = -32
+ dir = WEST
+
+/obj/structure/closet/walllocker/medical/east
+ pixel_x = 32
+ dir = EAST
+//VOREStation Add End
+
+//double-size "cabinet" lockers, from Killian
+/obj/structure/closet/walllocker_double
+ desc = "A wall mounted storage cabinet."
+ name = "Wall Cabinet"
+ icon = 'icons/obj/closets/bases/wall_double.dmi'
+ closet_appearance = /decl/closet_appearance/wall_double
+ density = 0
+ anchored = 1
+ plane = TURF_PLANE
+ layer = ABOVE_TURF_LAYER
+
+/obj/structure/closet/walllocker_double/north
+ pixel_y = 32
+ dir = SOUTH
+
+/obj/structure/closet/walllocker_double/south
+ pixel_y = -32
+ dir = NORTH
+
+/obj/structure/closet/walllocker_double/west
+ pixel_x = -32
+ dir = WEST
+
+/obj/structure/closet/walllocker_double/east
+ pixel_x = 32
+ dir = EAST
+
+/obj/structure/closet/walllocker_double/kitchen
+ desc = "A wall mounted storage cabinet, for the kitchen. Now where's the flour gone..?"
+ name = "Kitchen Cabinet"
+ icon = 'icons/obj/closets/bases/wall_double.dmi'
+ closet_appearance = /decl/closet_appearance/wall_double/kitchen
+ density = 0
+ anchored = 1
+
+/obj/structure/closet/walllocker_double/kitchen/north
+ pixel_y = 32
+ dir = SOUTH
+
+/obj/structure/closet/walllocker_double/kitchen/south
+ pixel_y = -32
+ dir = NORTH
+
+/obj/structure/closet/walllocker_double/kitchen/west
+ pixel_x = -32
+ dir = WEST
+
+/obj/structure/closet/walllocker_double/kitchen/east
+ pixel_x = 32
+ dir = EAST
+
+/obj/structure/closet/walllocker_double/medical
+ name = "Medical Cabinet"
+ desc = "A wall mounted medical supply cabinet. Probably full of drugs!" //not actually full of drugs, sorry!
+ closet_appearance = /decl/closet_appearance/wall_double/medical
+
+/obj/structure/closet/walllocker_double/medical/north
+ pixel_y = 32
+ dir = SOUTH
+
+/obj/structure/closet/walllocker_double/medical/south
+ pixel_y = -32
+ dir = NORTH
+
+/obj/structure/closet/walllocker_double/medical/west
+ pixel_x = -32
+ dir = WEST
+
+/obj/structure/closet/walllocker_double/medical/east
+ pixel_x = 32
+ dir = EAST
+
+/obj/structure/closet/walllocker_double/hydrant
+ name = "fire-safety closet"
+ desc = "It's a storage cabinet packed with fire-fighting supplies."
+ closet_appearance = /decl/closet_appearance/wall_double/fire_safety
+ anchored = 1
+ density = 0
+ wall_mounted = 1
+
+ starts_with = list(
+ /obj/item/clothing/suit/fire/firefighter,
+ /obj/item/clothing/mask/gas,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank/oxygen/red,
+ /obj/item/weapon/extinguisher,
+ /obj/item/clothing/head/hardhat/red)
+
+/obj/structure/closet/walllocker_double/hydrant/north
+ pixel_y = 32
+ dir = SOUTH
+
+/obj/structure/closet/walllocker_double/hydrant/south
+ pixel_y = -32
+ dir = NORTH
+
+/obj/structure/closet/walllocker_double/hydrant/west
+ pixel_x = -32
+ dir = WEST
+
+/obj/structure/closet/walllocker_double/hydrant/east
+ pixel_x = 32
+ dir = EAST
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index ed3669247a..a5717bdf6e 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -3,8 +3,7 @@
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
icon = 'icons/obj/closet.dmi'
icon_state = "extinguisher_closed"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
density = 0
var/obj/item/weapon/extinguisher/has_extinguisher
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index 2e2251fabe..bccdcf56c3 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -5,6 +5,7 @@
var/obj/item/weapon/material/twohanded/fireaxe/fireaxe
icon = 'icons/obj/closet.dmi' //Not bothering to move icons out for now. But its dumb still.
icon_state = "fireaxe1000"
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
density = 0
var/open = 0
diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm
index b4bad46142..cc5c5b510f 100644
--- a/code/game/objects/structures/flora/flora.dm
+++ b/code/game/objects/structures/flora/flora.dm
@@ -235,7 +235,7 @@
/obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user)
if(issilicon(user))
return // Don't try to put modules in here, you're a borg. TODO: Inventory refactor to not be ass.
-
+
if(stored_item)
to_chat(user, "[I] won't fit in. There already appears to be something in here...")
return
@@ -494,3 +494,47 @@
/obj/structure/flora/sif/tendrils/get_harvestable_desc()
return "\The [src] seems to be growing over something."
+
+/datum/category_item/catalogue/flora/frostbelle
+ name = "Sivian Flora - Frostbelle"
+ desc = "A rare plant native to Sif, with very peculiar growing requirements. Rarely seen outside of their original habitat,\
+ or the homes of the wealthy, the plant's unique vein structure is actually used to carry the plant's reproductive material \
+ to forming buds, the petals of which secrete the luminescent sap containing the pollen at the time of blooming. Certain \
+ horticulturists have found ways of halting this process prior to the secretion of the sap, leaving the flower's petals \
+ bright, at the cost of making that bud sterile."
+ value = CATALOGUER_REWARD_HARD
+
+/obj/structure/flora/sif/frostbelle
+ name = "gnarly shrub"
+ desc = "A stocky plant with fins bearing luminescent veins along its branches."
+ icon_state = "grass"
+ randomize_size = TRUE
+ catalogue_data = list(/datum/category_item/catalogue/flora/frostbelle)
+
+ harvest_tool = /obj/item/weapon/material/knife
+ max_harvests = 2
+ min_harvests = -4
+ harvest_loot = list(
+ /obj/item/weapon/reagent_containers/food/snacks/frostbelle = 1
+ )
+
+ var/variantnum = null
+
+/obj/structure/flora/sif/frostbelle/Initialize()
+ . = ..()
+
+ variantnum = rand(1,3)
+
+ update_icon()
+
+/obj/structure/flora/sif/frostbelle/update_icon()
+ ..()
+
+ if(max_harvests > 0 && harvest_count < max_harvests)
+ icon_state = "[initial(icon_state)][variantnum]"
+
+ else
+ icon_state = initial(icon_state)
+
+/obj/structure/flora/sif/frostbelle/get_harvestable_desc()
+ return "\The [src] seems to be budding."
diff --git a/code/game/objects/structures/flora/flora_vr.dm b/code/game/objects/structures/flora/flora_vr.dm
index 2e27319770..b7f722324c 100644
--- a/code/game/objects/structures/flora/flora_vr.dm
+++ b/code/game/objects/structures/flora/flora_vr.dm
@@ -36,3 +36,66 @@
/obj/structure/flora/pumpkin/carved/owo
desc = "A fat, freshly picked pumpkin. This one has a face carved into it! This one has large, round eyes and a squiggly, cat-like smiling mouth. Its pleasantly surprised expression seems to suggest that the pumpkin has noticed something about you."
icon_state = "decor-jackolantern-owo"
+
+// Various decorá
+/obj/structure/flora/log1
+ name = "waterlogged trunk"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A part of a felled tree. Moss is growing across it."
+ icon_state = "log1"
+
+/obj/structure/flora/log2
+ name = "driftwood"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "Driftwood carelessly lost in the water."
+ icon_state = "log2"
+
+/obj/structure/flora/lily1
+ name = "red flowered lilypads"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A bunch of lilypads. A beautiful red flower grows in the middle of them."
+ icon_state = "lilypad1"
+
+/obj/structure/flora/lily2
+ name = "yellow flowered lilypads"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A few lilypads. A sunny yellow flower stems from the water and from between the lilypads."
+ icon_state = "lilypad2"
+
+/obj/structure/flora/lily3
+ name = "lilypads"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A group of flowerless lilypads."
+ icon_state = "lilypad3"
+
+/obj/structure/flora/smallbould
+ name = "small boulder"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A small boulder, with its top smothered with moss."
+ icon_state = "smallerboulder"
+
+/obj/structure/flora/bboulder1
+ name = "large boulder"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "Small stones sit beside this large boulder. Moss grows on the top of each of them."
+ icon_state = "bigboulder1"
+ density = 1
+
+/obj/structure/flora/bboulder2
+ name = "jagged large boulder"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "This boulder has had plates broken off it. Moss grows in the cracks and across the top."
+ icon_state = "bigboulder2"
+ density = 1
+
+/obj/structure/flora/rocks1
+ name = "rocks"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A bunch of mossy rocks."
+ icon_state = "rocks1"
+
+/obj/structure/flora/rocks2
+ name = "rocks"
+ icon = 'icons/obj/flora/amayastuff.dmi'
+ desc = "A bunch of mossy rocks."
+ icon_state = "rocks2"
\ No newline at end of file
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 295aa9239c..b8597d6d29 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -11,12 +11,12 @@
/obj/structure/lattice/Initialize()
. = ..()
- if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral)))
+ if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral) || istype(src.loc, /turf/simulated/shuttle/plating/airless/carry)))
return INITIALIZE_HINT_QDEL
for(var/obj/structure/lattice/LAT in src.loc)
if(LAT != src)
- crash_with("Found multiple lattices at '[log_info_line(loc)]'")
+ log_debug("Found multiple lattices at '[log_info_line(loc)]'") //VOREStation Edit, why was this a runtime, it's harmless
return INITIALIZE_HINT_QDEL
icon = 'icons/obj/smoothlattice.dmi'
icon_state = "latticeblank"
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 1473c8fe90..2af3c3ccce 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -4,6 +4,7 @@
desc = "A SalonPro Nano-Mirror(TM) brand mirror! The leading technology in hair salon products, utilizing nano-machinery to style your hair just right."
icon = 'icons/obj/watercloset.dmi'
icon_state = "mirror"
+ layer = ABOVE_WINDOW_LAYER
density = 0
anchored = 1
var/shattered = 0
diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm
index 8d2126c289..c8e5dcd8b1 100644
--- a/code/game/objects/structures/trash_pile_vr.dm
+++ b/code/game/objects/structures/trash_pile_vr.dm
@@ -252,6 +252,7 @@
prob(1);/obj/item/weapon/material/knife/tacknife,
prob(1);/obj/item/weapon/storage/box/survival/space,
prob(1);/obj/item/weapon/storage/secure/briefcase/trashmoney,
+ prob(1);/obj/item/device/survivalcapsule/popcabin,
prob(1);/obj/item/weapon/reagent_containers/syringe/steroid)
var/obj/item/I = new path()
diff --git a/code/game/trader_visit_vr.dm b/code/game/trader_visit_vr.dm
index 81b9b3adcd..14de3f9bc5 100644
--- a/code/game/trader_visit_vr.dm
+++ b/code/game/trader_visit_vr.dm
@@ -3,7 +3,7 @@ GLOBAL_VAR(trader_loaded)
/proc/consider_trader_load()
if(!GLOB.trader_loaded)
GLOB.trader_loaded = TRUE
- var/datum/map_template/MT = SSmapping.map_templates["Special Area - Trader"]
+ var/datum/map_template/MT = SSmapping.map_templates["Special Area - Salamander Trader"] //was: "Special Area - Trader"
if(!istype(MT))
error("Trader is not a valid map template!")
else
diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm
index 12aa7fbcaa..08133f1b72 100644
--- a/code/game/turfs/flooring/flooring.dm
+++ b/code/game/turfs/flooring/flooring.dm
@@ -146,6 +146,7 @@ var/list/flooring_types
flags = TURF_REMOVE_SHOVEL
icon = 'icons/turf/outdoors.dmi'
icon_base = "grass_sif"
+ build_type = /obj/item/stack/tile/grass/sif
has_base_range = 1
/decl/flooring/water
diff --git a/code/game/turfs/simulated/floor_types_vr.dm b/code/game/turfs/simulated/floor_types_vr.dm
index 78e417fdc1..efd7c4cc4a 100644
--- a/code/game/turfs/simulated/floor_types_vr.dm
+++ b/code/game/turfs/simulated/floor_types_vr.dm
@@ -43,6 +43,35 @@
icon_state = "floor"
set_light(0,0,"#ffffff")
+/turf/simulated/shuttle/plating/airless/carry/attackby(obj/item/C, mob/user) //this is gross
+ if (istype(C, /obj/item/stack/rods))
+ var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
+ if(L)
+ return
+ var/obj/item/stack/rods/R = C
+ if (R.use(1))
+ to_chat(user, "Constructing support lattice ...")
+ playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
+ new/obj/structure/lattice(src)
+ return
+
+ if (istype(C, /obj/item/stack/tile/floor))
+ var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
+ if(L)
+ var/obj/item/stack/tile/floor/S = C
+ if (S.get_amount() < 1)
+ return
+ qdel(L)
+ playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
+ S.use(1)
+ ChangeTurf(/turf/simulated/floor/airless)
+ return
+ else
+ to_chat(user, "The plating is going to need some support.")
+
+/turf/simulated/shuttle/plating/airless/carry/is_solid_structure()
+ return locate(/obj/structure/lattice, src)
+
/turf/simulated/floor/gorefloor
name = "infected tile"
desc = "Slick, sickly-squirming meat has grown in and out of cracks once empty. It pulsates intermittently, and with every beat, blood seeps out of pores."
@@ -53,4 +82,4 @@
name = "putrid mass"
desc = "It is entirely made of sick, gurgling flesh. It is releasing a sickly odour."
icon_state = "bloodfloor_2"
- icon = 'icons/goonstation/turf/meatland.dmi'
\ No newline at end of file
+ icon = 'icons/goonstation/turf/meatland.dmi'
diff --git a/code/game/turfs/simulated/outdoors/grass.dm b/code/game/turfs/simulated/outdoors/grass.dm
index 4909b14c20..5c764a97da 100644
--- a/code/game/turfs/simulated/outdoors/grass.dm
+++ b/code/game/turfs/simulated/outdoors/grass.dm
@@ -87,5 +87,10 @@ var/list/grass_types = list(
icon_state = "grass_sif_dark0"
edge_blending_priority = 5
tree_chance = 10
- grass_chance = 0
+ grass_chance = 1
+ grass_types = list(
+ /obj/structure/flora/sif/frostbelle = 1,
+ /obj/structure/flora/sif/eyes = 5,
+ /obj/structure/flora/sif/tendrils = 30
+ )
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index b599c1fa6f..de4a2c7166 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -34,11 +34,6 @@
log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
- //VOREStation Add - No talking during voting
- if(SSvote && SSvote.mode)
- to_chat(src, "OOC is not allowed during voting.")
- return
- //VOREStation Add End
if(findtext(msg, "discord.gg") && !config.allow_discord_links)
to_chat(src, "Advertising discords is not allowed.")
log_admin("[key_name(src)] has attempted to advertise a discord server in OOC: [msg]")
diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm
index 5cc16d06bc..4ce9dcf6fc 100644
--- a/code/modules/asset_cache/asset_list.dm
+++ b/code/modules/asset_cache/asset_list.dm
@@ -119,18 +119,14 @@ GLOBAL_LIST_EMPTY(asset_datums)
if (size[SPRSZ_STRIPPED])
continue
- #ifdef RUST_G
// save flattened version
var/fname = "data/spritesheets/[name]_[size_id].png"
fcopy(size[SPRSZ_ICON], fname)
- var/error = call(RUST_G, "dmi_strip_metadata")(fname)
+ var/error = rustg_dmi_strip_metadata(fname)
if(length(error))
stack_trace("Failed to strip [name]_[size_id].png: [error]")
size[SPRSZ_STRIPPED] = icon(fname)
fdel(fname)
- #else
- #warn It looks like you don't have RUST_G enabled. Without RUST_G, the RPD icons will not function, so it strongly recommended you reenable it.
- #endif
/datum/asset/spritesheet/proc/generate_css()
var/list/out = list()
diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm
index 5d0ede01c0..b80bfdbe08 100644
--- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm
@@ -8,7 +8,7 @@
/datum/gear/choker/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
/datum/gear/collar
display_name = "collar, silver"
@@ -18,7 +18,7 @@
/datum/gear/collar/New()
..()
- gear_tweaks = list(gear_tweak_collar_tag)
+ gear_tweaks += gear_tweak_collar_tag
/datum/gear/collar/golden
display_name = "collar, golden"
@@ -106,4 +106,4 @@
/datum/gear/accessory/flops/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm
index f56331bcbc..4213aed60c 100644
--- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm
@@ -25,7 +25,7 @@
/datum/gear/fluff/collar/New()
..()
- gear_tweaks = list(gear_tweak_collar_tag)
+ gear_tweaks += gear_tweak_collar_tag
// 0-9 CKEYS
/datum/gear/fluff/malady_crop
@@ -66,6 +66,12 @@
ckeywhitelist = list("argobargsoup")
character_name = list("Lynn Shady")
+/datum/gear/fluff/felina_witchhat
+ path = /obj/item/clothing/head/wizard/marisa/fake
+ display_name = "Felina's Witch Hat"
+ ckeywhitelist = list("argobargsoup")
+ character_name = list("Felina Belliger")
+
/datum/gear/fluff/aronai_ccmeduniform
path = /obj/item/clothing/under/solgov/utility/sifguard/officer/medical
display_name = "centcom medical uniform"
@@ -732,6 +738,13 @@
character_name = list("Tiemli Kroto")
allowed_roles = list("Roboticist")
+/datum/gear/fluff/clara_flask
+ path = /obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask
+ display_name = "Clara's Vacuum Flask"
+ ckeywhitelist = list("rboys2")
+ character_name = list("Clara Mali")
+ cost = 1
+
// S CKEYS
/datum/gear/fluff/brynhild_medal
path = /obj/item/clothing/accessory/medal/silver/valor
diff --git a/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm b/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm
index c6c51f5bbd..269f9e7aa9 100644
--- a/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_gloves_vr.dm
@@ -12,7 +12,7 @@
/datum/gear/gloves/colored/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
/datum/gear/gloves/latex/colorable
@@ -21,7 +21,7 @@
/datum/gear/gloves/latex/colorable/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
/datum/gear/gloves/siren
display_name = "gloves, Siren"
diff --git a/code/modules/client/preference_setup/loadout/loadout_head.dm b/code/modules/client/preference_setup/loadout/loadout_head.dm
index e29b7d0a22..14f78b6e91 100644
--- a/code/modules/client/preference_setup/loadout/loadout_head.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_head.dm
@@ -383,3 +383,7 @@
/datum/gear/head/rose_crown
display_name = "rose crown"
path = /obj/item/clothing/head/rose_crown
+
+/datum/gear/head/blackngoldheaddress
+ display_name = "black and gold headdress"
+ path = /obj/item/clothing/head/blackngoldheaddress
\ No newline at end of file
diff --git a/code/modules/client/preference_setup/loadout/loadout_head_vr.dm b/code/modules/client/preference_setup/loadout/loadout_head_vr.dm
index 41214cbd67..ce6ada61ab 100644
--- a/code/modules/client/preference_setup/loadout/loadout_head_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_head_vr.dm
@@ -12,7 +12,7 @@
/datum/gear/head/headbando/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
//Detective alternative
/datum/gear/head/detective_alt
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
index 3dc33eb9b3..b9cae2ddd0 100644
--- a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
@@ -16,7 +16,7 @@
/datum/gear/suit/labcoat_colorable/New()
..()
- gear_tweaks = list(gear_tweak_free_color_choice)
+ gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/jacket_modular
display_name = "jacket, modular"
diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm
index 71c6f96140..806ce0f42b 100644
--- a/code/modules/client/preference_setup/loadout/loadout_uniform.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm
@@ -588,4 +588,60 @@
/datum/gear/uniform/cyberpunkharness
display_name = "cyberpunk strapped harness"
- path = /obj/item/clothing/under/cyberpunkharness
\ No newline at end of file
+ path = /obj/item/clothing/under/cyberpunkharness
+
+/datum/gear/uniform/whitegown
+ display_name = "white gown"
+ path = /obj/item/clothing/under/wedding/whitegown
+
+/datum/gear/uniform/floofdress
+ display_name = "floofy dress"
+ path = /obj/item/clothing/under/wedding/floofdress
+
+/datum/gear/uniform/floofdress/New()
+ ..()
+ gear_tweaks += gear_tweak_free_color_choice
+
+/datum/gear/uniform/blackngold
+ display_name = "black and gold gown"
+ path = /obj/item/clothing/under/blackngold
+
+/datum/gear/uniform/sheerblue
+ display_name = "sheer blue dress"
+ path = /obj/item/clothing/under/sheerblue
+
+/datum/gear/uniform/disheveled
+ display_name = "disheveled suit"
+ path = /obj/item/clothing/under/disheveled
+
+/datum/gear/uniform/orangedress
+ display_name = "orange dress"
+ path = /obj/item/clothing/under/dress/dress_orange
+
+/datum/gear/uniform/sundress_pink
+ display_name = "pink sundress"
+ path = /obj/item/clothing/under/dress/sundress_pink
+
+/datum/gear/uniform/sundress_white
+ display_name = "white sundress"
+ path = /obj/item/clothing/under/dress/sundress_white
+
+/datum/gear/uniform/sundress_pinkbow
+ display_name = "bowed pink sundress"
+ path = /obj/item/clothing/under/dress/sundress_pinkbow
+
+/datum/gear/uniform/sundress_blue
+ display_name = "long blue sundress"
+ path = /obj/item/clothing/under/dress/sundress_blue
+
+/datum/gear/uniform/sundress_pinkshort
+ display_name = "short pink sundress"
+ path = /obj/item/clothing/under/dress/sundress_pinkshort
+
+/datum/gear/uniform/twopiece
+ display_name = "two-piece dress"
+ path = /obj/item/clothing/under/dress/twopiece
+
+/datum/gear/uniform/gothic2
+ display_name = "lacey gothic dress"
+ path = /obj/item/clothing/under/dress/gothic2
\ No newline at end of file
diff --git a/code/modules/client/preferences_factions.dm b/code/modules/client/preferences_factions.dm
index 4371cdf860..00294d3a3e 100644
--- a/code/modules/client/preferences_factions.dm
+++ b/code/modules/client/preferences_factions.dm
@@ -13,6 +13,7 @@ var/global/list/seen_religions = list()
seen_religions |= M.client.prefs.religion*/
return
+// VOREStation Edits Start
var/global/list/citizenship_choices = list(
"Earth",
"Mars",
@@ -20,11 +21,19 @@ var/global/list/citizenship_choices = list(
"Binma",
"Moghes",
"Meralar",
- "Qerr'balak"
+ "Qerr'balak",
+ "Virgo 3b Colony",
+ "Virgo 4 NT Compound",
+ "Venus",
+ "Tiamat",
+ "An-Tahk-Et"
)
var/global/list/home_system_choices = list(
+ "Virgo-Erigone",
"Sol",
+ "Proxima Centauri",
+ "Procyon",
"Vir",
"Nyx",
"Tau Ceti",
@@ -33,8 +42,12 @@ var/global/list/home_system_choices = list(
"Rarkajar"
)
+
var/global/list/faction_choices = list(
- "Sol Central",
+ "Commonwealth of Sol-Procyon",
+ "United Fyrds",
+ "Elysian Colonies",
+ "Ares Confederation",
"Vey Med",
"Einstein Engines",
"Free Trade Union",
@@ -48,6 +61,7 @@ var/global/list/faction_choices = list(
"Morpheus Cyberkinetics",
"Xion Manufacturing Group"
)
+// VOREStation Edits Stop
var/global/list/antag_faction_choices = list() //Should be populated after brainstorming. Leaving as blank in case brainstorming does not occur.
@@ -75,5 +89,7 @@ var/global/list/religion_choices = list(
"Xilar Qall",
"Tajr-kii Rarkajar",
"Agnosticism",
- "Deism"
+ "Deism",
+ "Neo-Moreauism",
+ "Orthodox Moreauism"
)
\ No newline at end of file
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index caf6d395f1..4b230053d9 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -735,6 +735,7 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
slot_flags = SLOT_OCLOTHING
var/blood_overlay_type = "suit"
+ blood_sprite_state = "suitblood" //Defaults to the suit's blood overlay, so that some blood renders instead of no blood.
siemens_coefficient = 0.9
w_class = ITEMSIZE_NORMAL
preserve_item = 1
diff --git a/code/modules/clothing/clothing_icons.dm b/code/modules/clothing/clothing_icons.dm
index 33e1da6000..2d4f00c665 100644
--- a/code/modules/clothing/clothing_icons.dm
+++ b/code/modules/clothing/clothing_icons.dm
@@ -29,6 +29,7 @@
/obj/item/clothing/suit/apply_blood(var/image/standing)
if(blood_DNA && blood_sprite_state && ishuman(loc))
var/mob/living/carbon/human/H = loc
- var/image/bloodsies = image(icon = H.species.get_blood_mask(H), icon_state = "[blood_overlay_type]blood")
+ blood_sprite_state = "[blood_overlay_type]blood"
+ var/image/bloodsies = image(icon = H.species.get_blood_mask(H), icon_state = blood_sprite_state)
bloodsies.color = blood_color
standing.add_overlay(bloodsies)
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index dff571c50f..dab5e97075 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -445,3 +445,10 @@
desc = "A gold-lined white cowl. It gives off uncomfortable cult vibes, but fancy."
icon_state = "whitecowl"
body_parts_covered = 0
+
+/obj/item/clothing/head/blackngoldheaddress
+ name = "black and gold headdress"
+ desc = "An odd looking headdress that covers the eyes."
+ icon_state = "blackngoldheaddress"
+ flags_inv = HIDEEYES
+ body_parts_covered = HEAD|EYES
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index cb736737c6..bdf2be889d 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -2,7 +2,7 @@
desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle. They're large enough to be worn over other footwear."
name = "magboots"
icon_state = "magboots0"
- item_flags = PHORONGUARD
+ flags = PHORONGUARD
item_state_slots = list(slot_r_hand_str = "magboots", slot_l_hand_str = "magboots")
species_restricted = null
center_of_mass = list("x" = 17,"y" = 12)
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index cd65478a05..9606205cc4 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -11,6 +11,7 @@
name = "hardsuit control module"
icon = 'icons/obj/rig_modules.dmi'
desc = "A back-mounted hardsuit deployment and control mechanism."
+ flags = PHORONGUARD
slot_flags = SLOT_BACK
req_one_access = list()
req_access = list()
diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm
index 82caf79deb..8ae8ca3674 100644
--- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm
+++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm
@@ -23,7 +23,8 @@
/obj/item/clothing/gloves/gauntlets/rig
name = "gauntlets"
- item_flags = THICKMATERIAL|PHORONGUARD
+ flags = PHORONGUARD
+ item_flags = THICKMATERIAL
body_parts_covered = HANDS
heat_protection = HANDS
cold_protection = HANDS
diff --git a/code/modules/clothing/spacesuits/rig/rig_tgui.dm b/code/modules/clothing/spacesuits/rig/rig_tgui.dm
index 5fc1e17380..7f34fe11b8 100644
--- a/code/modules/clothing/spacesuits/rig/rig_tgui.dm
+++ b/code/modules/clothing/spacesuits/rig/rig_tgui.dm
@@ -98,12 +98,13 @@
if(module.charges && module.charges.len)
module_data["charges"] = list()
- var/datum/rig_charge/selected = module.charges[module.charge_selected]
+ var/datum/rig_charge/selected = module.charges["[module.charge_selected]"]
+ module_data["realchargetype"] = module.charge_selected
module_data["chargetype"] = selected ? "[selected.display_name]" : "none"
for(var/chargetype in module.charges)
var/datum/rig_charge/charge = module.charges[chargetype]
- module_data["charges"] += list(list("caption" = "[chargetype] ([charge.charges])", "index" = "[chargetype]"))
+ module_data["charges"] += list(list("caption" = "[charge.display_name] ([charge.charges])", "index" = "[chargetype]"))
module_list += list(module_data)
i++
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 7fb4df785e..20f33104ca 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -278,6 +278,7 @@
name = "armor vest"
desc = "A simple kevlar plate carrier."
icon_state = "kvest"
+ blood_overlay_type = "armor"
item_state_slots = list(slot_r_hand_str = "armor", slot_l_hand_str = "armor")
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/device/flashlight/maglight,/obj/item/clothing/head/helmet)
@@ -311,6 +312,7 @@
name = "Warden's jacket"
desc = "An armoured jacket with silver rank pips and livery."
icon_state = "warden_jacket"
+ blood_overlay_type = "suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
flags_inv = HIDETIE|HIDEHOLSTER
@@ -332,6 +334,7 @@
name = "armored coat"
desc = "A greatcoat enhanced with a special alloy for some protection and style."
icon_state = "hos"
+ blood_overlay_type = "suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
flags_inv = HIDETIE|HIDEHOLSTER
diff --git a/code/modules/clothing/suits/armor_vr.dm b/code/modules/clothing/suits/armor_vr.dm
index a5d95a6296..3bf51fb97f 100644
--- a/code/modules/clothing/suits/armor_vr.dm
+++ b/code/modules/clothing/suits/armor_vr.dm
@@ -17,7 +17,7 @@
desc = "An armored vest that protects against some damage. It appears to be created for a wolf-taur."
species_restricted = null //Species restricted since all it cares about is a taur half
icon = 'icons/mob/taursuits_wolf_vr.dmi'
- icon_state = "heavy_wolf_armor"
+ icon_state = "wolf_item"
item_state = "heavy_wolf_armor"
mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
if(..())
@@ -86,7 +86,7 @@
icon = 'icons/obj/clothing/suits_vr.dmi'
icon_override = 'icons/mob/suit_vr.dmi'
-// Armor Versions Here
+// Armor Versions Here
/obj/item/clothing/suit/armor/combat/crusader
name = "crusader armor"
desc = "ye olde knight, risen again."
@@ -96,7 +96,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO
armor = list(melee = 80, bullet = 50, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 2
-
+
/obj/item/clothing/suit/armor/combat/crusader/bedevere
name = "bedevere's armor"
desc = "ye olde knight, risen again."
@@ -113,7 +113,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 1
-
+
/obj/item/clothing/suit/armor/combat/crusader_costume/bedevere
name = "bedevere's costume armor"
desc = "ye olde knight, risen again."
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index 44fae55c92..744c2a55c2 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -159,6 +159,12 @@
icon_state = "scrubsnavyblue"
item_state_slots = list(slot_r_hand_str = "blue", slot_l_hand_str = "blue")
+/obj/item/clothing/under/rank/medical/scrubs/white
+ name = "scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards"
+ icon_state = "scrubs"
+ item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white")
+
/obj/item/clothing/under/rank/psych
desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist."
name = "psychiatrist's jumpsuit"
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 1d4ba551d9..fdc73151b0 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -603,12 +603,25 @@ obj/item/clothing/under/dress/yellowswoop
flags_inv = HIDESHOES
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+/obj/item/clothing/under/wedding/floofdress
+ name = "floofy dress"
+ desc = "A lovely floofed out dress for formal occasions. Comes in many colors!"
+ icon_state = "floofdress"
+ flags_inv = HIDESHOES
+ index = 1
+
+/obj/item/clothing/under/wedding/whitegown
+ name = "white gown"
+ desc = "A elegant white gown with accents of sheer mesh."
+ icon_state = "whitegown"
+ index = 1
+
/*
Uniforms and such
*/
/obj/item/clothing/under/sundress
- name = "sundress"
+ name = "flowery white sundress"
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
@@ -619,6 +632,47 @@ Uniforms and such
icon_state = "sundress_white"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
+/obj/item/clothing/under/dress/sundress_pink
+ name = "pink stripied sundress"
+ desc = "A cute pink sundress."
+ icon_state = "pinksun"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/under/dress/sundress_white
+ name = "white sundress"
+ desc = "A white sundress, it's short."
+ icon_state = "whitesun"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/under/dress/sundress_pinkbow
+ name = "bowed pink sundress"
+ desc = "A cute pink sundress with a bow."
+ icon_state = "bowsun"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/under/dress/sundress_blue
+ name = "long blue sundress"
+ desc = "A long blue sun dress with white frills towards the bottom."
+ icon_state = "bluesun"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
+
+/obj/item/clothing/under/dress/sundress_pinkshort
+ name = "short pink sundress"
+ desc = "A very short pink sundress, it's more like a chemise."
+ icon_state = "shortpink"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/under/dress/twopiece
+ name = "two-piece dress"
+ desc = "A fancy two-piece dress, the pieces are sewn together."
+ icon_state = "twopiece"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/under/dress/gothic2
+ name = "lacey gothic dress"
+ desc = "An elegant gothic dress with lace decorations."
+ icon_state = "gothic2"
+
/obj/item/clothing/under/captainformal
name = "site manager's formal uniform"
desc = "A Site Manager's formal-wear, for special occasions."
@@ -816,6 +870,24 @@ Uniforms and such
icon_state = "cyberhell"
index = 1
+/obj/item/clothing/under/blackngold
+ name = "black and gold gown"
+ desc = "A black and gold gown. You get the impression this is typically worn for religious purposes."
+ icon_state = "blackngold"
+ index = 1
+
+/obj/item/clothing/under/sheerblue
+ name = "sheer blue dress"
+ desc = "An entirely sheer blue dress. Best worn with something underneath!"
+ icon_state = "sheerblue"
+ index = 1
+
+/obj/item/clothing/under/disheveled
+ name = "disheveled suit"
+ desc = "What might pass as well maintained formal attire. If you're blind."
+ icon_state = "disheveled"
+ index = 1
+
/*
* swimsuit
*/
diff --git a/code/modules/food/drinkingglass/metaglass_vr.dm b/code/modules/food/drinkingglass/metaglass_vr.dm
index 887c752ba6..a718acf86d 100644
--- a/code/modules/food/drinkingglass/metaglass_vr.dm
+++ b/code/modules/food/drinkingglass/metaglass_vr.dm
@@ -123,6 +123,31 @@
glass_center_of_mass = list("x"=16, "y"=9)
glass_icon_file = 'icons/obj/drinks_vr.dmi'
+/datum/reagent/ethanol/originalsin
+ glass_icon_state = "originalsinglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/whiskeysour
+ glass_icon_state = "whiskeysourglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/newyorksour
+ glass_icon_state = "newyorksourglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/mudslide
+ glass_icon_state = "mudslideglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/windgarita
+ glass_icon_state = "windgaritaglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
/datum/reagent/drink/soda/kiraspecial
glass_icon_file = 'icons/obj/drinks_vr.dmi'
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index ad30c244f2..f5ca36f229 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -4039,6 +4039,40 @@
/obj/item/weapon/reagent_containers/food/snacks/rawsunflower/Initialize()
. = ..()
+/obj/item/weapon/reagent_containers/food/snacks/frostbelle
+ name = "frostbelle bud"
+ desc = "A frostbelle flower from Sif. Its petals shimmer with an inner light."
+ icon = 'icons/obj/food_ingredients.dmi'
+ icon_state = "frostbelle"
+ bitesize = 1
+ nutriment_amt = 1
+ nutriment_desc = list("another world" = 2)
+ catalogue_data = list(/datum/category_item/catalogue/flora/frostbelle)
+ filling_color = "#5dadcf"
+
+/obj/item/weapon/reagent_containers/food/snacks/frostbelle/Initialize()
+ . = ..()
+ set_light(1, 1, "#5dadcf")
+
+ reagents.add_reagent("oxycodone", 1)
+ reagents.add_reagent("sifsap", 5)
+ reagents.add_reagent("space_drugs", 5)
+
+/obj/item/weapon/reagent_containers/food/snacks/bellefritter
+ name = "frostbelle fritters"
+ desc = "Frostbelles, prepared traditionally."
+ icon = 'icons/obj/food_syn.dmi'
+ icon_state = "bellefritter"
+ filling_color = "#5dadcf"
+ center_of_mass = list("x"=16, "y"=12)
+ do_coating_prefix = 0
+
+/obj/item/weapon/reagent_containers/food/snacks/bellefritter/Initialize()
+ . = ..()
+ reagents.add_reagent("batter", 10)
+ reagents.add_reagent("sugar", 5)
+ bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/roastedsunflower
name = "sunflower seeds"
desc = "Sunflower seeds!"
diff --git a/code/modules/food/kitchen/gibber.dm b/code/modules/food/kitchen/gibber.dm
index 1fca845091..6402a432ae 100644
--- a/code/modules/food/kitchen/gibber.dm
+++ b/code/modules/food/kitchen/gibber.dm
@@ -188,18 +188,13 @@
update_icon()
var/slab_name = occupant.name
- var/slab_count = 3
- var/slab_type = /obj/item/weapon/reagent_containers/food/snacks/meat
+ var/slab_count = 2 + occupant.meat_amount
+ var/slab_type = occupant.meat_type ? occupant.meat_type : /obj/item/weapon/reagent_containers/food/snacks/meat
var/slab_nutrition = src.occupant.nutrition / 15
- // Some mobs have specific meat item types.
- if(istype(src.occupant,/mob/living/simple_mob))
- var/mob/living/simple_mob/critter = src.occupant
- if(critter.meat_amount)
- slab_count = critter.meat_amount
- if(critter.meat_type)
- slab_type = critter.meat_type
- else if(istype(src.occupant,/mob/living/carbon/human))
+ var/list/byproducts = occupant?.butchery_loot?.Copy()
+
+ if(istype(src.occupant,/mob/living/carbon/human))
var/mob/living/carbon/human/H = occupant
slab_name = src.occupant.real_name
slab_type = H.isSynthetic() ? /obj/item/stack/material/steel : H.species.meat_type
@@ -209,7 +204,8 @@
slab_nutrition *= 0.5
slab_nutrition /= slab_count
- for(var/i=1 to slab_count)
+ while(slab_count)
+ slab_count--
var/obj/item/weapon/reagent_containers/food/snacks/meat/new_meat = new slab_type(src, rand(3,8))
if(istype(new_meat))
new_meat.name = "[slab_name] [new_meat.name]"
@@ -222,17 +218,26 @@
src.occupant.ghostize()
spawn(gib_time)
-
- operating = 0
occupant.gib()
occupant = null
-
playsound(src, 'sound/effects/splat.ogg', 50, 1)
operating = 0
+ if(LAZYLEN(byproducts))
+ for(var/path in byproducts)
+ while(byproducts[path])
+ if(prob(min(90,30 * byproducts[path])))
+ new path(src)
+
+ byproducts[path] -= 1
+
for (var/obj/thing in contents)
- // There's a chance that the gibber will fail to destroy some evidence.
+ // There's a chance that the gibber will fail to destroy or butcher some evidence.
if(istype(thing,/obj/item/organ) && prob(80))
- qdel(thing)
+ var/obj/item/organ/OR = thing
+ if(OR.can_butcher(src))
+ OR.butcher(src, null, src) // Butcher it, and add it to our list of things to launch.
+ else
+ qdel(thing)
continue
thing.forceMove(get_turf(thing)) // Drop it onto the turf for throwing.
thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(0,3),emagged ? 100 : 50) // Being pelted with bits of meat and bone would hurt.
diff --git a/code/modules/food/kitchen/smartfridge.dm b/code/modules/food/kitchen/smartfridge.dm
index 7184b2f68c..d776e45296 100644
--- a/code/modules/food/kitchen/smartfridge.dm
+++ b/code/modules/food/kitchen/smartfridge.dm
@@ -137,6 +137,10 @@
var/obj/item/weapon/reagent_containers/food/snacks/S = O
if (S.dried_type)
return 1
+
+ if(istype(O, /obj/item/stack/wetleather))
+ return 1
+
return 0
/obj/machinery/smartfridge/drying_rack/process()
@@ -180,6 +184,17 @@
new D(get_turf(src))
qdel(S)
return
+
+ for(var/obj/item/stack/wetleather/WL in I.instances)
+ if(!WL.wetness)
+ if(WL.amount == 1)
+ WL.forceMove(get_turf(src))
+ I.instances -= WL
+ WL.dry()
+ break
+
+ WL.wetness = max(0, WL.wetness - rand(1, 3))
+
return
/obj/machinery/smartfridge/process()
diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm
index 8c7f1092bd..dae450d310 100644
--- a/code/modules/food/recipe.dm
+++ b/code/modules/food/recipe.dm
@@ -208,7 +208,7 @@
var/obj/item/I = locate(i) in container
if (I && I.reagents)
I.reagents.trans_to_holder(buffer,I.reagents.total_volume)
- qdel(I)
+ qdel(I)
//Find fruits
if (fruit && fruit.len)
diff --git a/code/modules/food/recipe_dump.dm b/code/modules/food/recipe_dump.dm
index 45f4c3e4ae..df0e6874aa 100644
--- a/code/modules/food/recipe_dump.dm
+++ b/code/modules/food/recipe_dump.dm
@@ -12,7 +12,8 @@
var/datum/chemical_reaction/drinks/CR = new path()
drink_recipes[path] = list("Result" = CR.name,
"ResAmt" = CR.result_amount,
- "Reagents" = CR.required_reagents)
+ "Reagents" = CR.required_reagents,
+ "Catalysts" = CR.catalysts)
qdel(CR)
//////////////////////// FOOD
@@ -30,8 +31,10 @@
"Result" = "[res.name]",
"ResAmt" = "1",
"Reagents" = R.reagents,
+ "Catalysts" = list(),
"Fruit" = R.fruit,
"Ingredients" = R.items,
+ "Coating" = R.coating,
"Appliance" = R.appliance,
"Image" = result_icon
)
@@ -45,6 +48,7 @@
food_recipes[path] = list("Result" = CR.name,
"ResAmt" = CR.result_amount,
"Reagents" = CR.required_reagents,
+ "Catalysts" = CR.catalysts,
"Fruit" = list(),
"Ingredients" = list(),
"Image" = null)
@@ -54,8 +58,11 @@
//Items needs further processing into human-readability.
for(var/Rp in food_recipes)
var/working_ing_list = list()
+ food_recipes[Rp]["has_coatable_items"] = FALSE
for(var/I in food_recipes[Rp]["Ingredients"])
var/atom/ing = new I()
+ if(istype(ing, /obj/item/weapon/reagent_containers/food/snacks)) // only subtypes of this have a coating variable and are checked for it (fruit are a subtype of this, so there's a check for them too later)
+ food_recipes[Rp]["has_coatable_items"] = TRUE
//So now we add something like "Bread" = 3
if(ing.name in working_ing_list)
@@ -64,6 +71,8 @@
else
working_ing_list[ing.name] = 1
+ if(LAZYLEN(food_recipes[Rp]["Fruit"]))
+ food_recipes[Rp]["has_coatable_items"] = TRUE
food_recipes[Rp]["Ingredients"] = working_ing_list
//Reagents can be resolved to nicer names as well
@@ -77,6 +86,15 @@
var/amt = food_recipes[Rp]["Reagents"][rid]
food_recipes[Rp]["Reagents"] -= rid
food_recipes[Rp]["Reagents"][R_name] = amt
+ for(var/rid in food_recipes[Rp]["Catalysts"])
+ var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
+ if(!Rd) // Leaving this here in the event that if rd is ever invalid or there's a recipe issue, it'll be skipped and recipe dumps can still be ran.
+ log_runtime(EXCEPTION("Food \"[Rp]\" had an invalid RID: \"[rid]\"! Check your reagents list for a missing or mistyped reagent!"))
+ continue // This allows the dump to still continue, and it will skip the invalid recipes.
+ var/R_name = Rd.name
+ var/amt = food_recipes[Rp]["Catalysts"][rid]
+ food_recipes[Rp]["Catalysts"] -= rid
+ food_recipes[Rp]["Catalysts"][R_name] = amt
for(var/Rp in drink_recipes)
for(var/rid in drink_recipes[Rp]["Reagents"])
var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
@@ -87,6 +105,15 @@
var/amt = drink_recipes[Rp]["Reagents"][rid]
drink_recipes[Rp]["Reagents"] -= rid
drink_recipes[Rp]["Reagents"][R_name] = amt
+ for(var/rid in drink_recipes[Rp]["Catalysts"])
+ var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
+ if(!Rd) // Leaving this here in the event that if rd is ever invalid or there's a recipe issue, it'll be skipped and recipe dumps can still be ran.
+ log_runtime(EXCEPTION("Food \"[Rp]\" had an invalid RID: \"[rid]\"! Check your reagents list for a missing or mistyped reagent!"))
+ continue // This allows the dump to still continue, and it will skip the invalid recipes.
+ var/R_name = Rd.name
+ var/amt = drink_recipes[Rp]["Catalysts"][rid]
+ drink_recipes[Rp]["Catalysts"] -= rid
+ drink_recipes[Rp]["Catalysts"][R_name] = amt
//We can also change the appliance to its proper name.
for(var/Rp in food_recipes)
@@ -174,6 +201,20 @@
if(pretty_ing != "")
html += "
Ingredients: [pretty_ing]
"
+ //Coating
+ if(!food_recipes[Rp]["has_coatable_items"])
+ html += "
Coating: N/A, no coatable items
"
+ // css can be used to style or hide these depending on the class. This has two classes
+ // coating and coating_not_applicable, which can each have styles applied.
+ else if(food_recipes[Rp]["Coating"] == -1)
+ html += "
Coating: Optionally, any coating
"
+ else if(isnull(food_recipes[Rp]["Coating"]))
+ html += "
Coating: Must be uncoated
"
+ else
+ var/coatingtype = food_recipes[Rp]["Coating"]
+ var/datum/reagent/coating = new coatingtype()
+ html += "
Coating: [coating.name]
"
+
//For each fruit
var/pretty_fru = ""
count = 0
@@ -192,6 +233,15 @@
if(pretty_rea != "")
html += "
"
+
+ for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
+ if(u_attack == default_attack)
+ dat += "Primarily [u_attack.attack_name] - default - reset
"
+ else
+ dat += "Primarily [u_attack.attack_name] - set default
"
+
+ src << browse(dat, "window=checkattack")
+
+/mob/living/carbon/human/Topic(href, href_list)
+ if(href_list["default_attk"])
+ if(href_list["default_attk"] == "reset_attk")
+ set_default_attack(null)
+ else
+ var/datum/unarmed_attack/u_attack = locate(href_list["default_attk"])
+ if(u_attack && (u_attack in species.unarmed_attacks))
+ set_default_attack(u_attack)
+ check_attacks()
+ return 1
+ else
+ return ..()
+
+/mob/living/carbon/human/proc/set_default_attack(var/datum/unarmed_attack/u_attack)
+ default_attack = u_attack
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index b8343ad694..50b3c9b053 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -288,7 +288,7 @@
oxyloss = 0
else
..()
-
+
/mob/living/carbon/human/adjustHalLoss(var/amount)
if(species.flags & NO_PAIN)
halloss = 0
@@ -439,13 +439,14 @@ This function restores all organs.
return 0
return
-
+/*
/mob/living/carbon/human/proc/get_organ(var/zone)
if(!zone)
zone = BP_TORSO
else if (zone in list( O_EYES, O_MOUTH ))
zone = BP_HEAD
return organs_by_name[zone]
+*/
/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/soaked = 0, var/sharp = 0, var/edge = 0, var/obj/used_weapon = null)
if(Debug2)
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index dcde2ac30b..208e1e1ffc 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -44,7 +44,7 @@
var/age = 30 //Player's age (pure fluff)
var/b_type = "A+" //Player's bloodtype
- var/datum/robolimb/synthetic //If they are a synthetic (aka synthetic torso)
+ var/datum/robolimb/synthetic //If they are a synthetic (aka synthetic torso). Also holds the datum for the type of robolimb.
var/list/all_underwear = list()
var/list/all_underwear_metadata = list()
@@ -85,7 +85,6 @@
var/special_voice = "" // For changing our voice. Used by a symptom.
var/last_dam = -1 //Used for determining if we need to process all organs or just some or even none.
- var/list/bad_external_organs = list()// organs we check until they are good.
var/xylophone = 0 //For the spoooooooky xylophone cooldown
@@ -118,3 +117,4 @@
var/obj/machinery/machine_visual //machine that is currently applying visual effects to this mob. Only used for camera monitors currently.
inventory_panel_type = /datum/inventory_panel/human
+ butchery_loot = list(/obj/item/stack/animalhide/human = 1)
diff --git a/code/modules/mob/living/carbon/human/human_defines_vr.dm b/code/modules/mob/living/carbon/human/human_defines_vr.dm
index 9316b90e88..3a52565d08 100644
--- a/code/modules/mob/living/carbon/human/human_defines_vr.dm
+++ b/code/modules/mob/living/carbon/human/human_defines_vr.dm
@@ -9,6 +9,7 @@
var/impersonate_bodytype //For impersonating a bodytype
var/ability_flags = 0 //Shadekin abilities/potentially other species-based?
var/sensorpref = 5 //Suit sensor loadout pref
+ var/wings_hidden = FALSE
/mob/living/carbon/human/proc/shadekin_get_energy()
var/datum/species/shadekin/SK = species
@@ -48,4 +49,4 @@
if(!istype(SK))
return 0
- SK.set_energy(src, SK.get_energy(src) + amount)
\ No newline at end of file
+ SK.set_energy(src, SK.get_energy(src) + amount)
diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm
index 96005d7407..59d3576485 100644
--- a/code/modules/mob/living/carbon/human/human_organs.dm
+++ b/code/modules/mob/living/carbon/human/human_organs.dm
@@ -5,6 +5,7 @@
update_icons_body() //Body handles eyes
update_eyes() //For floating eyes only
+/*
/mob/living/carbon/var/list/internal_organs = list()
/mob/living/carbon/human/var/list/organs = list()
/mob/living/carbon/human/var/list/organs_by_name = list() // map organ names to organs
@@ -13,6 +14,7 @@
/mob/living/carbon/human/proc/get_bodypart_name(var/zone)
var/obj/item/organ/external/E = get_organ(zone)
if(E) . = E.name
+*/
/mob/living/carbon/human/proc/recheck_bad_external_organs()
var/damage_this_tick = getToxLoss()
diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm
index 3a5c358720..2755255252 100644
--- a/code/modules/mob/living/carbon/human/species/species_attack.dm
+++ b/code/modules/mob/living/carbon/human/species/species_attack.dm
@@ -1,4 +1,5 @@
/datum/unarmed_attack/bite/sharp //eye teeth
+ attack_name = "sharp bite"
attack_verb = list("bit", "chomped on")
attack_sound = 'sound/weapons/bite.ogg'
shredding = 0
@@ -6,12 +7,14 @@
edge = 1
/datum/unarmed_attack/diona
+ attack_name = "tendrils"
attack_verb = list("lashed", "bludgeoned")
attack_noun = list("tendril")
eye_attack_text = "a tendril"
eye_attack_text_victim = "a tendril"
/datum/unarmed_attack/claws
+ attack_name = "claws"
attack_verb = list("scratched", "clawed", "slashed")
attack_noun = list("claws")
eye_attack_text = "claws"
@@ -54,6 +57,7 @@
if(5) user.visible_message("[user] tears [T.his] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!")
/datum/unarmed_attack/claws/strong
+ attack_name = "strong claws"
attack_verb = list("slashed")
damage = 5
shredding = 1
@@ -67,6 +71,7 @@
damage = 15
/datum/unarmed_attack/bite/strong
+ attack_name = "strong bite"
attack_verb = list("mauled")
damage = 8
shredding = 1
@@ -75,6 +80,7 @@
damage = 10
/datum/unarmed_attack/slime_glomp
+ attack_name = "glomp"
attack_verb = list("glomped")
attack_noun = list("body")
damage = 2
@@ -84,6 +90,7 @@
user.apply_stored_shock_to(target)
/datum/unarmed_attack/stomp/weak
+ attack_name = "weak stomp"
attack_verb = list("jumped on")
/datum/unarmed_attack/stomp/weak/get_unarmed_damage()
diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm
index 53a137f2be..6d091e1682 100644
--- a/code/modules/mob/living/carbon/human/species/station/seromi.dm
+++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm
@@ -69,6 +69,8 @@
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
push_flags = MONKEY|SLIME|SIMPLE_ANIMAL|ALIEN
+ body_temperature = 270
+
cold_level_1 = 180 //Default 260
cold_level_2 = 130 //Default 200
cold_level_3 = 70 //Default 120
@@ -129,8 +131,8 @@
)
unarmed_types = list(
- /datum/unarmed_attack/bite/sharp,
/datum/unarmed_attack/claws,
+ /datum/unarmed_attack/bite/sharp,
/datum/unarmed_attack/stomp/weak
)
@@ -241,4 +243,4 @@
if(!(H.sdisabilities & DEAF) && !H.ear_deaf)
return SEE_SELF|SEE_MOBS
else
- return SEE_SELF
\ No newline at end of file
+ return SEE_SELF
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index 208ff6d9a9..06829fe7f5 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -198,7 +198,7 @@
home worlds and speak a variety of languages, especially Siik and Akhani."
catalogue_data = list(/datum/category_item/catalogue/fauna/tajaran)
- body_temperature = 320.15 //Even more cold resistant, even more flammable
+ body_temperature = 280.15 //Even more cold resistant, even more flammable
cold_level_1 = 200 //Default 260
cold_level_2 = 140 //Default 200
@@ -235,7 +235,7 @@
"Your overheated skin itches."
)
- cold_discomfort_level = 275
+ cold_discomfort_level = 215
has_organ = list( //No appendix.
O_HEART = /obj/item/organ/internal/heart,
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
index 87ee6b048b..f2c72bf8e8 100644
--- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
@@ -94,6 +94,12 @@
cost = 2
var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp, /datum/unarmed_attack/bite/sharp/numbing))
+/datum/trait/fangs
+ name = "Numbing Fangs"
+ desc = "Provides fangs that makes the person bit unable to feel their body or pain."
+ cost = 1
+ var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite/sharp/numbing))
+
/datum/trait/minor_brute_resist
name = "Minor Brute Resist"
desc = "Adds 10% resistance to brute damage sources."
diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm
index 2f15a4ba49..4e3facb09c 100644
--- a/code/modules/mob/living/carbon/human/unarmed_attack.dm
+++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm
@@ -2,6 +2,7 @@ var/global/list/sparring_attack_cache = list()
//Species unarmed attacks
/datum/unarmed_attack
+ var/attack_name = "fist"
var/attack_verb = list("attack") // Empty hand hurt intent verb.
var/attack_noun = list("fist")
var/damage = 0 // Extra empty hand attack damage.
@@ -109,6 +110,7 @@ var/global/list/sparring_attack_cache = list()
return FALSE //return true if the unarmed override prevents further attacks
/datum/unarmed_attack/bite
+ attack_name = "bite"
attack_verb = list("bit")
attack_sound = 'sound/weapons/bite.ogg'
shredding = 0
@@ -127,6 +129,7 @@ var/global/list/sparring_attack_cache = list()
return TRUE
/datum/unarmed_attack/punch
+ attack_name = "punch"
attack_verb = list("punched")
attack_noun = list("fist")
eye_attack_text = "fingers"
@@ -181,6 +184,7 @@ var/global/list/sparring_attack_cache = list()
user.visible_message("[user] [pick("punched", "threw a punch against", "struck", "slammed [TU.his] [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets?
/datum/unarmed_attack/kick
+ attack_name = "kick"
attack_verb = list("kicked", "kicked", "kicked", "kneed")
attack_noun = list("kick", "kick", "kick", "knee strike")
attack_sound = "swing_hit"
@@ -224,6 +228,7 @@ var/global/list/sparring_attack_cache = list()
if(5) user.visible_message("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!")
/datum/unarmed_attack/stomp
+ attack_name = "stomp"
attack_verb = null
attack_noun = list("stomp")
attack_sound = "swing_hit"
@@ -269,6 +274,7 @@ var/global/list/sparring_attack_cache = list()
if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [TU.his] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
/datum/unarmed_attack/light_strike
+ attack_name = "light hit"
attack_noun = list("tap","light strike")
attack_verb = list("tapped", "lightly struck")
damage = 3
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 24f06a43b4..06429d02f3 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -151,7 +151,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone.
M.Turn(90)
M.Scale(desired_scale_x, desired_scale_y)
- M.Translate(1,-6)
+ if(species.icon_height == 64)//VOREStation Edit
+ M.Translate(13,-22)
+ else
+ M.Translate(1,-6)
layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters
else
M.Scale(desired_scale_x, desired_scale_y)
diff --git a/code/modules/mob/living/carbon/human/update_icons_vr.dm b/code/modules/mob/living/carbon/human/update_icons_vr.dm
index 45a5690ae6..d05f8afa22 100644
--- a/code/modules/mob/living/carbon/human/update_icons_vr.dm
+++ b/code/modules/mob/living/carbon/human/update_icons_vr.dm
@@ -3,13 +3,13 @@
return
//If you are FBP with wing style and didn't set a custom one
- if(synthetic && synthetic.includes_wing && !wing_style)
+ if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden)
var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing?
wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
return image(wing_s)
//If you have custom wings selected
- if(wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL))
+ if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden)
var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state)
if(wing_style.do_colouration)
wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 68f993412a..75179e2a3a 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -31,9 +31,25 @@
nest = null
if(buckled)
buckled.unbuckle_mob(src, TRUE)
+
qdel(selected_image)
QDEL_NULL(vorePanel) //VOREStation Add
QDEL_LIST_NULL(vore_organs) //VOREStation Add
+
+ if(LAZYLEN(organs))
+ organs_by_name.Cut()
+ while(organs.len)
+ var/obj/item/OR = organs[1]
+ organs -= OR
+ qdel(OR)
+
+ if(LAZYLEN(internal_organs))
+ internal_organs_by_name.Cut()
+ while(internal_organs.len)
+ var/obj/item/OR = internal_organs[1]
+ internal_organs -= OR
+ qdel(OR)
+
return ..()
//mob verbs are faster than object verbs. See mob/verb/examine.
@@ -924,6 +940,12 @@ default behaviour is:
/mob/living/Moved(var/atom/oldloc, direct, forced, movetime)
. = ..()
handle_footstep(loc)
+ // Begin VOREstation edit
+ if(is_shifted)
+ is_shifted = FALSE
+ pixel_x = 0
+ pixel_y = 0
+ // End VOREstation edit
if(pulling) // we were pulling a thing and didn't lose it during our move.
var/pull_dir = get_dir(src, pulling)
@@ -1461,4 +1483,4 @@ default behaviour is:
// Tries to turn off things that let you see through walls, like mesons.
// Each mob does vision a bit differently so this is just for inheritence and also so overrided procs can make the vision apply instantly if they call `..()`.
/mob/living/proc/disable_spoiler_vision()
- handle_vision()
\ No newline at end of file
+ handle_vision()
diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm
index 319dff87f8..4238a56080 100644
--- a/code/modules/mob/living/living_defines.dm
+++ b/code/modules/mob/living/living_defines.dm
@@ -74,4 +74,4 @@
var/image/selected_image = null // Used for buildmode AI control stuff.
var/inventory_panel_type = /datum/inventory_panel
- var/datum/inventory_panel/inventory_panel
\ No newline at end of file
+ var/datum/inventory_panel/inventory_panel
diff --git a/code/modules/mob/living/organs.dm b/code/modules/mob/living/organs.dm
new file mode 100644
index 0000000000..d0489bcf6f
--- /dev/null
+++ b/code/modules/mob/living/organs.dm
@@ -0,0 +1,28 @@
+/mob/living
+ var/list/internal_organs = list()
+ var/list/organs = list()
+ var/list/organs_by_name = list() // map organ names to organs
+ var/list/internal_organs_by_name = list() // so internal organs have less ickiness too
+ var/list/bad_external_organs = list()// organs we check until they are good.
+
+/mob/living/proc/get_bodypart_name(var/zone)
+ var/obj/item/organ/external/E = get_organ(zone)
+ if(E) . = E.name
+
+/mob/living/proc/get_organ(var/zone)
+ if(!zone)
+ zone = BP_TORSO
+ else if (zone in list( O_EYES, O_MOUTH ))
+ zone = BP_HEAD
+ return organs_by_name[zone]
+
+/mob/living/gib()
+ for(var/obj/item/organ/I in internal_organs)
+ I.removed()
+ if(isturf(I?.loc)) // Some organs qdel themselves or other things when removed
+ I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30)
+
+ for(var/obj/item/organ/external/E in src.organs)
+ E.droplimb(0,DROPLIMB_EDGE,1)
+
+ ..()
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 18bdb281b2..c6a3eac1ef 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -17,7 +17,7 @@ var/list/department_radio_keys = list(
":v" = "Service", ".v" = "Service",
":p" = "AI Private", ".p" = "AI Private",
":y" = "Explorer", ".y" = "Explorer",
- ":t" = "Talon", ".t" = "Talon", //VOREStation Add,
+ ":a" = "Talon", ".a" = "Talon", //VOREStation Add,
":R" = "right ear", ".R" = "right ear",
":L" = "left ear", ".L" = "left ear",
@@ -36,7 +36,7 @@ var/list/department_radio_keys = list(
":V" = "Service", ".V" = "Service",
":P" = "AI Private", ".P" = "AI Private",
":Y" = "Explorer", ".Y" = "Explorer",
- ":T" = "Talon", ".T" = "Talon", //VOREStation Add,
+ ":A" = "Talon", ".A" = "Talon", //VOREStation Add,
//kinda localization -- rastaf0
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
index 95c14bc195..a68746c33d 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
@@ -145,6 +145,7 @@
name = "MediHound hypospray"
desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves, designed for heavy-duty medical equipment."
charge_cost = 10
+ reagent_ids = list("inaprovaline", "dexalin", "bicaridine", "kelotane", "anti_toxin", "spaceacillin", "paracetamol")
var/datum/matter_synth/water = null
/obj/item/weapon/reagent_containers/borghypo/hound/process() //Recharges in smaller steps and uses the water reserves as well.
@@ -252,7 +253,7 @@
to_chat(user, "You finish off \the [target.name], and gain some charge!")
var/mob/living/silicon/robot/R = user
var/obj/item/weapon/cell/C = target
- R.cell.charge += C.maxcharge / 3
+ R.cell.charge += C.charge / 3
water.use_charge(5)
qdel(target)
return
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
index 3ce9a40447..b754b3fda3 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
@@ -39,6 +39,7 @@
var/datum/matter_synth/water = null
var/digest_brute = 2
var/digest_burn = 3
+ var/digest_multiplier = 1
var/recycles = FALSE
var/medsensor = TRUE //Does belly sprite come with patient ok/dead light?
@@ -541,8 +542,8 @@
else
var/old_brute = T.getBruteLoss()
var/old_burn = T.getFireLoss()
- T.adjustBruteLoss(digest_brute)
- T.adjustFireLoss(digest_burn)
+ T.adjustBruteLoss(digest_brute * digest_multiplier)
+ T.adjustFireLoss(digest_burn * digest_multiplier)
var/actual_brute = T.getBruteLoss() - old_brute
var/actual_burn = T.getFireLoss() - old_burn
var/damage_gain = actual_brute + actual_burn
@@ -716,6 +717,6 @@
desc = "A mounted survival unit with fuel processor."
icon_state = "sleeperc"
injection_chems = list("glucose","inaprovaline","tricordrazine")
- max_item_count = 1
+ max_item_count = 10
-#undef SLEEPER_INJECT_COST
\ No newline at end of file
+#undef SLEEPER_INJECT_COST
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index d6f5acfb3d..bd608ca006 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -219,7 +219,8 @@
/obj/item/mecha_parts/part,
/obj/item/mecha_parts/micro/part, //VOREStation Edit: Allow construction of micromechs,
/obj/item/mecha_parts/mecha_equipment,
- /obj/item/mecha_parts/mecha_tracking
+ /obj/item/mecha_parts/mecha_tracking,
+ /obj/item/mecha_parts/component
)
/obj/item/weapon/gripper/no_use //Used when you want to hold and put items in other things, but not able to 'use' the item
diff --git a/code/modules/mob/living/simple_mob/appearance.dm b/code/modules/mob/living/simple_mob/appearance.dm
index 14f09e9057..106c565a31 100644
--- a/code/modules/mob/living/simple_mob/appearance.dm
+++ b/code/modules/mob/living/simple_mob/appearance.dm
@@ -71,6 +71,5 @@
/mob/living/simple_mob/proc/remove_eyes()
cut_overlay(eye_layer)
-
/mob/living/simple_mob/gib()
- ..(icon_gib,1,icon) // we need to specify where the gib animation is stored
\ No newline at end of file
+ ..(icon_gib,1,icon) // we need to specify where the gib animation is stored
diff --git a/code/modules/mob/living/simple_mob/butchering.dm b/code/modules/mob/living/simple_mob/butchering.dm
new file mode 100644
index 0000000000..c03c6b8015
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/butchering.dm
@@ -0,0 +1,8 @@
+/mob/living/simple_mob
+ gib_on_butchery = TRUE
+
+/mob/living/simple_mob/can_butcher(var/mob/user, var/obj/item/I) // Override for special butchering checks.
+ . = ..()
+
+ if(. && (!is_sharp(I) || !has_edge(I)))
+ return FALSE
diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm
index 1a301b8bfd..b17274bd2f 100644
--- a/code/modules/mob/living/simple_mob/defense.dm
+++ b/code/modules/mob/living/simple_mob/defense.dm
@@ -68,9 +68,9 @@
else
var/datum/gender/T = gender_datums[src.get_visible_gender()]
to_chat(user, "\The [src] is dead, medical items won't bring [T.him] back to life.") // the gender lookup is somewhat overkill, but it functions identically to the obsolete gender macros and future-proofs this code
- if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead.
- if(istype(O, /obj/item/weapon/material/knife))
- harvest(user)
+ if(can_butcher(user, O)) //if the animal can be butchered, do so and return. It's likely to be gibbed.
+ harvest(user, O)
+ return
if(user.a_intent == I_HELP && harvest_tool && istype(O, harvest_tool) && stat != DEAD)
if(world.time > (harvest_recent + harvest_cooldown))
diff --git a/code/modules/mob/living/simple_mob/harvesting.dm b/code/modules/mob/living/simple_mob/harvesting.dm
index 95de747fee..e9439fab99 100644
--- a/code/modules/mob/living/simple_mob/harvesting.dm
+++ b/code/modules/mob/living/simple_mob/harvesting.dm
@@ -17,7 +17,7 @@
/mob/living/simple_mob/examine(mob/user)
. = ..()
- if(user && harvest_tool && (get_dist(user, src) <= 3))
+ if(stat != DEAD && user && harvest_tool && (get_dist(user, src) <= 3))
. += "\The [src] can be [harvest_verb] with a [initial(harvest_tool.name)] every [round(harvest_cooldown, 0.1)] minutes."
var/time_to_harvest = (harvest_recent + harvest_cooldown) - world.time
if(time_to_harvest > 0)
diff --git a/code/modules/mob/living/simple_mob/life.dm b/code/modules/mob/living/simple_mob/life.dm
index 781589dad1..493a68e43b 100644
--- a/code/modules/mob/living/simple_mob/life.dm
+++ b/code/modules/mob/living/simple_mob/life.dm
@@ -14,6 +14,8 @@
handle_special()
+ handle_guts()
+
return TRUE
@@ -94,7 +96,7 @@
throw_alert("oxy", /obj/screen/alert/too_much_oxy)
else
clear_alert("oxy")
-
+
if(min_tox && Environment.gas["phoron"] < min_tox)
atmos_unsuitable = 2
throw_alert("tox_in_air", /obj/screen/alert/not_enough_tox)
@@ -137,6 +139,12 @@
else
adjustOxyLoss(-unsuitable_atoms_damage)
+/mob/living/simple_mob/proc/handle_guts()
+ for(var/obj/item/organ/OR in internal_organs)
+ OR.process()
+
+ for(var/obj/item/organ/OR in organs)
+ OR.process()
/mob/living/simple_mob/proc/handle_supernatural()
if(purge)
diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm
index f3bf4543db..4d178b4ece 100644
--- a/code/modules/mob/living/simple_mob/simple_mob.dm
+++ b/code/modules/mob/living/simple_mob/simple_mob.dm
@@ -57,8 +57,6 @@
var/response_harm = "tries to hurt" // If clicked on harm intent
var/list/friends = list() // Mobs on this list wont get attacked regardless of faction status.
var/harm_intent_damage = 3 // How much an unarmed harm click does to this mob.
- var/meat_amount = 0 // How much meat to drop from this mob when butchered
- var/obj/meat_type // The meat object to drop
var/list/loot_list = list() // The list of lootable objects to drop, with "/path = prob%" structure
var/obj/item/weapon/card/id/myid// An ID card if they have one to give them access to stuff.
@@ -158,6 +156,10 @@
// don't process me if there's nobody around to see it
low_priority = TRUE
+ // Used for if the mob can drop limbs. Overrides species dmi.
+ var/limb_icon
+ // Used for if the mob can drop limbs. Overrides the icon cache key, so it doesn't keep remaking the icon needlessly.
+ var/limb_icon_key
/mob/living/simple_mob/Initialize()
verbs -= /mob/verb/observe
@@ -170,8 +172,31 @@
if(has_eye_glow)
add_eyes()
- return ..()
+ if(LAZYLEN(organs))
+ for(var/path in organs)
+ if(ispath(path))
+ var/obj/item/organ/external/neworg = new path(src)
+ neworg.name = "[name] [neworg.name]"
+ neworg.meat_type = meat_type
+
+ if(limb_icon)
+ neworg.force_icon = limb_icon
+ neworg.force_icon_key = limb_icon_key
+
+ organs |= neworg
+ organs -= path
+
+ if(LAZYLEN(internal_organs))
+ for(var/path in internal_organs)
+ if(ispath(path))
+ var/obj/item/organ/neworg = new path(src)
+ neworg.name = "[name] [neworg.name]"
+ neworg.meat_type = meat_type
+ internal_organs |= neworg
+ internal_organs -= path
+
+ return ..()
/mob/living/simple_mob/Destroy()
default_language = null
@@ -190,7 +215,6 @@
update_icon()
..()
-
//Client attached
/mob/living/simple_mob/Login()
. = ..()
@@ -269,27 +293,6 @@
/mob/living/simple_mob/get_speech_ending(verb, var/ending)
return verb
-
-// Harvest an animal's delicious byproducts
-/mob/living/simple_mob/proc/harvest(var/mob/user, var/invisible)
- var/actual_meat_amount = max(1,(meat_amount/2))
- var/attacker_name = user.name
- if(invisible)
- attacker_name = "someone"
-
- if(meat_type && actual_meat_amount>0 && (stat == DEAD))
- for(var/i=0;i[attacker_name] chops up \the [src]!")
- new/obj/effect/decal/cleanable/blood/splatter(get_turf(src))
- qdel(src)
- else
- user.visible_message("[attacker_name] butchers \the [src] messily!")
- gib()
-
-
/mob/living/simple_mob/is_sentient()
return mob_class & MOB_CLASS_HUMANOID|MOB_CLASS_ANIMAL|MOB_CLASS_SLIME // Update this if needed.
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm
index e41d5ae66b..56194f13bb 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm
@@ -6,4 +6,17 @@
response_disarm = "shoos"
response_harm = "hits"
- ai_holder_type = /datum/ai_holder/simple_mob/melee
\ No newline at end of file
+ ai_holder_type = /datum/ai_holder/simple_mob/melee
+
+ internal_organs = list(\
+ /obj/item/organ/internal/brain,\
+ /obj/item/organ/internal/heart,\
+ /obj/item/organ/internal/liver,\
+ /obj/item/organ/internal/stomach,\
+ /obj/item/organ/internal/intestine,\
+ /obj/item/organ/internal/lungs\
+ )
+
+ butchery_loot = list(\
+ /obj/item/stack/animalhide = 3\
+ )
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
index f0c47be7f8..c0c44250a8 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
@@ -110,6 +110,10 @@
var/poison_chance = 10 // Chance for injection to occur.
var/poison_per_bite = 5 // Amount added per injection.
+ butchery_loot = list(\
+ /obj/item/stack/material/chitin = 1\
+ )
+
/mob/living/simple_mob/animal/giant_spider/apply_melee_effects(var/atom/A)
if(isliving(A))
var/mob/living/L = A
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage_vr.dm
index 3ac368a7ee..31c9cdf10f 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage_vr.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage_vr.dm
@@ -1,4 +1,4 @@
-/datum/category_item/catalogue/technology/drone/hivebot/laser // Hivebot Scanner Data - This is for Laser Hivebots
+/datum/category_item/catalogue/technology/drone/hivebot/rapidfire // Hivebot Scanner Data - This is for Rapidfire Hivebots
name = "Drone - Rapidfire Hivebot"
desc = "A drone that walks on several legs, with yellow/gold armor plating. It appears to have some sort of \
rifle, built for high-rate fire. Other than that, it has similar yellowish color \
diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support_vr.dm
index 0003b78124..434ce659e8 100644
--- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support_vr.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/support_vr.dm
@@ -5,7 +5,7 @@
to the other hivebots. Other than that, it has similar yellowish color to regular hivebots."
value = CATALOGUER_REWARD_HARD
-/datum/category_item/catalogue/technology/drone/hivebot/logistics // Hivebot Scanner Data - This is for Commander Hivebots
+/datum/category_item/catalogue/technology/drone/hivebot/logistics // Hivebot Scanner Data - This is for Logistics Hivebots
name = "Drone - Logistics Hivebot"
desc = "A drone that walks on several legs, with yellow/gold armor plating. It appears to have some sort of \
ballistic weapon. It also appears to have supply deploying bays, and internal fabs to repair and buff their allies' special capabilities. \
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm
new file mode 100644
index 0000000000..c2e984864c
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm
@@ -0,0 +1,304 @@
+/mob/living/simple_mob/vore/lamia
+ name = "purple lamia"
+ desc = "Combination snake-human. This one is purple."
+
+ icon = 'icons/mob/vore_lamia.dmi'
+ icon_state = "ffta"
+ icon_living = "ffta"
+ icon_rest = "ffta_rest"
+ icon_dead = "ffta_dead"
+
+ harm_intent_damage = 5
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+
+ response_help = "pets"
+ response_disarm = "gently baps"
+ response_harm = "hits"
+
+ health = 60
+ maxHealth = 60
+
+ old_x = -16
+ old_y = 0
+ default_pixel_x = -16
+ pixel_x = -16
+ pixel_y = 0
+
+ // Vore tags
+ vore_active = 1
+ vore_capacity = 1
+ vore_bump_emote = "coils their tail around"
+ vore_icons = 0
+ // Default stomach
+ vore_stomach_name = "upper stomach"
+ vore_stomach_flavor = "You've ended up inside of the lamia's human stomach. It's pretty much identical to any human stomach, but the valve leading deeper is much bigger."
+
+ // Meaningful stats
+ vore_default_mode = DM_HOLD
+ vore_digest_chance = 0
+ vore_pounce_chance = 65
+ vore_bump_chance = 50
+ vore_standing_too = TRUE
+ vore_escape_chance = 25
+
+ // Special lamia vore tags
+ var/vore_upper_transfer_chance = 50
+ var/vore_tail_digest_chance = 25
+ var/vore_tail_absorb_chance = 0
+ var/vore_tail_transfer_chance = 50
+
+ say_list_type = /datum/say_list/lamia
+ ai_holder_type = /datum/ai_holder/simple_mob/passive
+
+/mob/living/simple_mob/vore/lamia/update_fullness()
+ var/new_fullness = 0
+ // We only want to count our upper_stomach towards capacity
+ for(var/belly in vore_organs)
+ var/obj/belly/B = belly
+ if(B.name == "upper stomach")
+ for(var/mob/living/M in B)
+ new_fullness += M.size_multiplier
+ new_fullness /= size_multiplier
+ new_fullness = round(new_fullness, 1)
+ vore_fullness = min(vore_capacity, new_fullness)
+
+/mob/living/simple_mob/vore/lamia/update_icon()
+ . = ..()
+
+ if(vore_active)
+ // Icon_state for fullness is as such if they are CONSCIOUS:
+ // [icon_living]_vore_[upper_shows]_[tail_shows]
+ // So copper_vore_1_1 is a full upper stomach *and* tail stomach
+ // And copper_vore_1_0 is full upper stomach, but empty tail stomach
+ // For unconscious: [icon_rest]_vore_[upper]_[tail]
+ // For dead, it doesn't show.
+ var/upper_shows = FALSE
+ var/tail_shows = FALSE
+
+ for(var/belly in vore_organs)
+ var/obj/belly/B = belly
+ if(!(B.name in list("upper stomach", "tail stomach")))
+ continue
+ var/belly_fullness = 0
+ for(var/mob/living/M in B)
+ belly_fullness += M.size_multiplier
+ belly_fullness /= size_multiplier
+ belly_fullness = round(belly_fullness, 1)
+
+ if(belly_fullness)
+ if(B.name == "upper stomach")
+ upper_shows = TRUE
+ else if(B.name == "tail stomach")
+ tail_shows = TRUE
+
+ if(upper_shows || tail_shows)
+ if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED)))
+ icon_state = "[icon_living]_vore_[upper_shows]_[tail_shows]"
+ else if(stat >= DEAD)
+ icon_state = icon_dead
+ else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest)
+ icon_state = "[icon_rest]_vore_[upper_shows]_[tail_shows]"
+
+/mob/living/simple_mob/vore/lamia/init_vore()
+ . = ..()
+ var/obj/belly/B = vore_selected
+
+ B.transferchance = vore_upper_transfer_chance
+ B.transferlocation = "tail stomach"
+
+ var/obj/belly/tail = new /obj/belly(src)
+ tail.immutable = TRUE
+ tail.name = "tail stomach"
+ tail.desc = "You slide out into the narrow, constricting tube of flesh that is the lamia's snake half, heated walls and strong muscles all around clinging to your form with every slither."
+ tail.digest_mode = vore_default_mode
+ tail.mode_flags = vore_default_flags
+ tail.item_digest_mode = vore_default_item_mode
+ tail.contaminates = vore_default_contaminates
+ tail.contamination_flavor = vore_default_contamination_flavor
+ tail.contamination_color = vore_default_contamination_color
+ tail.escapable = TRUE // needed for transferchance
+ tail.escapechance = 0 // No directly escaping a tail, gotta squirm back out.
+ tail.digestchance = vore_tail_digest_chance
+ tail.absorbchance = vore_tail_absorb_chance
+ tail.transferchance = vore_tail_transfer_chance
+ tail.transferlocation = "upper stomach"
+ tail.human_prey_swallow_time = swallowTime
+ tail.nonhuman_prey_swallow_time = swallowTime
+ tail.vore_verb = "stuff"
+ tail.emote_lists[DM_HOLD] = B.emote_lists[DM_HOLD].Copy()
+ tail.emote_lists[DM_DIGEST] = B.emote_lists[DM_DIGEST].Copy()
+
+// FFTA Bra
+/mob/living/simple_mob/vore/lamia/bra
+ desc = "Combination snake-human. This one is purple. They're wearing a bra."
+ icon_state = "ffta_bra"
+ icon_living = "ffta_bra"
+ icon_rest = "ffta_bra_rest"
+ icon_dead = "ffta_bra_dead"
+
+// Albino
+/mob/living/simple_mob/vore/lamia/albino
+ name = "albino lamia"
+ desc = "Combination snake-human. This one is albino."
+ icon_state = "albino"
+ icon_living = "albino"
+ icon_rest = "albino_rest"
+ icon_dead = "albino_dead"
+
+/mob/living/simple_mob/vore/lamia/albino/bra
+ desc = "Combination snake-human. This one is albino. They're wearing a bra."
+ icon_state = "albino_bra"
+ icon_living = "albino_bra"
+ icon_rest = "albino_bra_rest"
+ icon_dead = "albino_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/albino/shirt
+ desc = "Combination snake-human. This one is albino. They're wearing a shirt."
+ icon_state = "albino_shirt"
+ icon_living = "albino_shirt"
+ icon_rest = "albino_shirt_rest"
+ icon_dead = "albino_shirt_dead"
+
+// Cobra
+/mob/living/simple_mob/vore/lamia/cobra
+ name = "cobra lamia"
+ desc = "Combination snake-human. This one looks like a cobra."
+ icon_state = "cobra"
+ icon_living = "cobra"
+ icon_rest = "cobra_rest"
+ icon_dead = "cobra_dead"
+
+/mob/living/simple_mob/vore/lamia/cobra/bra
+ desc = "Combination snake-human. This one looks like a cobra. They're wearing a bra."
+ icon_state = "cobra_bra"
+ icon_living = "cobra_bra"
+ icon_rest = "cobra_bra_rest"
+ icon_dead = "cobra_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/cobra/shirt
+ desc = "Combination snake-human. This one looks like a cobra. They're wearing a shirt."
+ icon_state = "cobra_shirt"
+ icon_living = "cobra_shirt"
+ icon_rest = "cobra_shirt_rest"
+ icon_dead = "cobra_shirt_dead"
+
+// Copper
+/mob/living/simple_mob/vore/lamia/copper
+ name = "copper lamia"
+ desc = "Combination snake-human. This one is copper."
+ icon_state = "copper"
+ icon_living = "copper"
+ icon_rest = "copper_rest"
+ icon_dead = "copper_dead"
+
+/mob/living/simple_mob/vore/lamia/copper/bra
+ desc = "Combination snake-human. This one is copper. They're wearing a bra."
+ icon_state = "copper_bra"
+ icon_living = "copper_bra"
+ icon_rest = "copper_bra_rest"
+ icon_dead = "copper_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/copper/shirt
+ desc = "Combination snake-human. This one is copper. They're wearing a shirt."
+ icon_state = "copper_shirt"
+ icon_living = "copper_shirt"
+ icon_rest = "copper_shirt_rest"
+ icon_dead = "copper_shirt_dead"
+
+// Green
+/mob/living/simple_mob/vore/lamia/green
+ name = "green lamia"
+ desc = "Combination snake-human. This one is green."
+ icon_state = "green"
+ icon_living = "green"
+ icon_rest = "green_rest"
+ icon_dead = "green_dead"
+
+/mob/living/simple_mob/vore/lamia/green/bra
+ desc = "Combination snake-human. This one is green. They're wearing a bra."
+ icon_state = "green_bra"
+ icon_living = "green_bra"
+ icon_rest = "green_bra_rest"
+ icon_dead = "green_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/green/shirt
+ desc = "Combination snake-human. This one is green. They're wearing a shirt."
+ icon_state = "green_shirt"
+ icon_living = "green_shirt"
+ icon_rest = "green_shirt_rest"
+ icon_dead = "green_shirt_dead"
+
+// Zebra
+/mob/living/simple_mob/vore/lamia/zebra
+ name = "zebra lamia"
+ desc = "Combination snake-human. This one has a zebra pattern."
+ icon_state = "zebra"
+ icon_living = "zebra"
+ icon_rest = "zebra_rest"
+ icon_dead = "zebra_dead"
+
+/mob/living/simple_mob/vore/lamia/zebra/bra
+ desc = "Combination snake-human. This one has a zebra pattern. They're wearing a bra."
+ icon_state = "zebra_bra"
+ icon_living = "zebra_bra"
+ icon_rest = "zebra_bra_rest"
+ icon_dead = "zebra_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/zebra/shirt
+ desc = "Combination snake-human. This one has a zebra pattern. They're wearing a shirt."
+ icon_state = "zebra_shirt"
+ icon_living = "zebra_shirt"
+ icon_rest = "zebra_shirt_rest"
+ icon_dead = "zebra_shirt_dead"
+
+GLOBAL_LIST_INIT(valid_random_lamias, list(
+ /mob/living/simple_mob/vore/lamia,
+ /mob/living/simple_mob/vore/lamia/bra,
+ /mob/living/simple_mob/vore/lamia/albino,
+ /mob/living/simple_mob/vore/lamia/albino/bra,
+ /mob/living/simple_mob/vore/lamia/albino/shirt,
+ /mob/living/simple_mob/vore/lamia/cobra,
+ /mob/living/simple_mob/vore/lamia/cobra/bra,
+ /mob/living/simple_mob/vore/lamia/cobra/shirt,
+ /mob/living/simple_mob/vore/lamia/copper,
+ /mob/living/simple_mob/vore/lamia/copper/bra,
+ /mob/living/simple_mob/vore/lamia/copper/shirt,
+ /mob/living/simple_mob/vore/lamia/green,
+ /mob/living/simple_mob/vore/lamia/green/bra,
+ /mob/living/simple_mob/vore/lamia/green/shirt,
+ /mob/living/simple_mob/vore/lamia/zebra,
+ /mob/living/simple_mob/vore/lamia/zebra/bra,
+ /mob/living/simple_mob/vore/lamia/zebra/shirt,
+))
+
+/mob/living/simple_mob/vore/lamia/random
+/mob/living/simple_mob/vore/lamia/random/New()
+ var/mob/living/simple_mob/vore/lamia/new_attrs = pick(GLOB.valid_random_lamias)
+
+ name = initial(new_attrs.name)
+ desc = initial(new_attrs.desc)
+
+ icon_state = initial(new_attrs.icon_state)
+ icon_living = initial(new_attrs.icon_living)
+ icon_rest = initial(new_attrs.icon_rest)
+ icon_dead = initial(new_attrs.icon_dead)
+
+ vore_default_mode = initial(new_attrs.vore_default_mode)
+ vore_digest_chance = initial(new_attrs.vore_digest_chance)
+ vore_pounce_chance = initial(new_attrs.vore_pounce_chance)
+ vore_bump_chance = initial(new_attrs.vore_bump_chance)
+ vore_standing_too = initial(new_attrs.vore_standing_too)
+ vore_escape_chance = initial(new_attrs.vore_escape_chance)
+
+ vore_upper_transfer_chance = initial(new_attrs.vore_upper_transfer_chance)
+ vore_tail_digest_chance = initial(new_attrs.vore_tail_digest_chance)
+ vore_tail_absorb_chance = initial(new_attrs.vore_tail_absorb_chance)
+ vore_tail_transfer_chance = initial(new_attrs.vore_tail_transfer_chance)
+
+ . = ..()
+
+/datum/say_list/lamia
+ speak = list("Sss...","Sss!","Hiss!","HSSSSS")
+ emote_hear = list("hisses","slithers")
+ emote_see = list("shakes her head","coils","stretches","slithers")
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 4d9a2e774a..ea09b6a25a 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -222,16 +222,24 @@
if(istype(A, /obj/effect/decal/point))
return 0
- var/tile = get_turf(A)
+ var/turf/tile = get_turf(A)
if (!tile)
return 0
- var/obj/P = new /obj/effect/decal/point(tile)
- P.invisibility = invisibility
- P.plane = plane
- spawn (20)
- if(P)
- qdel(P) // qdel
+ var/turf/our_tile = get_turf(src)
+ var/obj/visual = new /obj/effect/decal/point(our_tile)
+ visual.invisibility = invisibility
+ visual.plane = plane
+
+ animate(visual,
+ pixel_x = (tile.x - our_tile.x) * world.icon_size + A.pixel_x,
+ pixel_y = (tile.y - our_tile.y) * world.icon_size + A.pixel_y,
+ time = 1.7,
+ easing = EASE_OUT)
+
+ spawn(20)
+ if(visual)
+ qdel(visual) // qdel
face_atom(A)
return 1
@@ -1014,6 +1022,40 @@ mob/proc/yank_out_object()
set hidden = 1
set_face_dir(client.client_dir(WEST))
+// Begin VOREstation edit
+/mob/verb/shiftnorth()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_y <= 16)
+ pixel_y++
+ is_shifted = TRUE
+
+/mob/verb/shiftsouth()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_y >= -16)
+ pixel_y--
+ is_shifted = TRUE
+
+/mob/verb/shiftwest()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_x >= -16)
+ pixel_x--
+ is_shifted = TRUE
+
+mob/verb/shifteast()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_x <= 16)
+ pixel_x++
+ is_shifted = TRUE
+// End VOREstation edit
+
/mob/proc/adjustEarDamage()
return
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index c5066adb7c..daf9ab6d89 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -83,6 +83,7 @@
var/resting = 0 //Carbon
var/lying = 0
var/lying_prev = 0
+ var/is_shifted = FALSE // VoreStation Edit; pixel shifting
var/canmove = 1
//Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
var/incorporeal_move = 0 //0 is off, 1 is normal, 2 is for ninjas.
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index ff68a02eac..953f4d01ac 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -220,7 +220,7 @@
break
if((equip_preview_mob & EQUIP_PREVIEW_LOADOUT) && !(previewJob && (equip_preview_mob & EQUIP_PREVIEW_JOB) && (previewJob.type == /datum/job/ai || previewJob.type == /datum/job/cyborg)))
- var/list/equipped_slots = list() //If more than one item takes the same slot only spawn the first
+ var/list/equipped_slots = list()
for(var/thing in gear)
var/datum/gear/G = gear_datums[thing]
if(G)
@@ -243,7 +243,8 @@
if(G.slot && !(G.slot in equipped_slots))
var/metadata = gear[G.display_name]
if(mannequin.equip_to_slot_or_del(G.spawn_item(mannequin, metadata), G.slot))
- equipped_slots += G.slot
+ if(G.slot != slot_tie)
+ equipped_slots += G.slot
if((equip_preview_mob & EQUIP_PREVIEW_JOB) && previewJob)
mannequin.job = previewJob.title
diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm
index 19fdbb8d0f..74578c8e9a 100644
--- a/code/modules/mob/new_player/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories.dm
@@ -1427,10 +1427,15 @@
var/body_parts = list() //A list of bodyparts this covers, in organ_tag defines
//Reminder: BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD
-/datum/sprite_accessory/marking/tat_heart
- name = "Tattoo (Heart, Torso)"
- icon_state = "tat_heart"
- body_parts = list(BP_TORSO)
+/datum/sprite_accessory/marking/tat_rheart
+ name = "Tattoo (Heart, R. Arm)"
+ icon_state = "tat_rheart"
+ body_parts = list(BP_R_ARM)
+
+/datum/sprite_accessory/marking/tat_lheart
+ name = "Tattoo (Heart, L. Arm)"
+ icon_state = "tat_lheart"
+ body_parts = list(BP_L_ARM)
/datum/sprite_accessory/marking/tat_hive
name = "Tattoo (Hive, Back)"
diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm
index 720b72fa18..223f6c9cb9 100644
--- a/code/modules/mob/new_player/sprite_accessories_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_vr.dm
@@ -697,6 +697,11 @@
icon_state = "eyes_sergal"
body_parts = list(BP_HEAD)
+ closedeyes
+ name = "Closed Eyes"
+ icon_state = "eyes_closed"
+ body_parts = list(BP_HEAD)
+
brows
name = "Eyebrows"
icon_state = "brows"
@@ -1179,4 +1184,10 @@
bee_stripes
name = "bee stripes"
icon_state = "beestripes"
- body_parts = list(BP_TORSO,BP_GROIN)
\ No newline at end of file
+ body_parts = list(BP_TORSO,BP_GROIN)
+
+ vas_toes
+ name = "Bug Paws (Vasilissan)"
+ icon_state = "vas_toes"
+ color_blend_mode = ICON_MULTIPLY
+ body_parts = list(BP_L_FOOT,BP_R_FOOT)
\ No newline at end of file
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 7a8f2412f2..52e843a9ee 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -14,7 +14,7 @@
set_typing_indicator(FALSE)
usr.say(message)
-/mob/verb/me_verb(message as text)
+/mob/verb/me_verb(message as message)
set name = "Me"
set category = "IC"
diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 05642705a1..4f48a4adf4 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -2,7 +2,7 @@
////////////////////SUBTLE COMMAND////////////////////
//////////////////////////////////////////////////////
-/mob/verb/me_verb_subtle(message as text) //This would normally go in say.dm
+/mob/verb/me_verb_subtle(message as message) //This would normally go in say.dm
set name = "Subtle"
set category = "IC"
set desc = "Emote to nearby people (and your pred/prey)"
diff --git a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
index 1f88ed6cb2..f56683451e 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
@@ -3,6 +3,7 @@
desc = "A wall-mounted touchscreen computer."
icon = 'icons/obj/modular_telescreen.dmi'
icon_state = "telescreen"
+ layer = ABOVE_WINDOW_LAYER
icon_state_unpowered = "telescreen"
icon_state_menu = "menu"
icon_state_screensaver = "standby"
diff --git a/code/modules/nifsoft/software/14_commlink.dm b/code/modules/nifsoft/software/14_commlink.dm
index 26539f20f2..34e36f6527 100644
--- a/code/modules/nifsoft/software/14_commlink.dm
+++ b/code/modules/nifsoft/software/14_commlink.dm
@@ -43,7 +43,6 @@
..()
nif = newloc
nifsoft = soft
- QDEL_NULL(camera) //Not supported on internal one.
/obj/item/device/communicator/commlink/Destroy()
if(nif)
diff --git a/code/modules/nifsoft/software/15_misc.dm b/code/modules/nifsoft/software/15_misc.dm
index 7cdd364b16..bd0975269d 100644
--- a/code/modules/nifsoft/software/15_misc.dm
+++ b/code/modules/nifsoft/software/15_misc.dm
@@ -127,7 +127,7 @@
/datum/nifsoft/sizechange/activate()
if((. = ..()))
- var/new_size = input("Put the desired size (25-200%)", "Set Size", 200) as num
+ var/new_size = input("Put the desired size (25-200%)", "Set Size", 200) as num|null
if (!ISINRANGE(new_size,25,200))
to_chat(nif.human,"The safety features of the NIF Program prevent you from choosing this size.")
diff --git a/code/modules/organs/internal/augment.dm b/code/modules/organs/internal/augment.dm
index 569b5dda44..da8ee8d577 100644
--- a/code/modules/organs/internal/augment.dm
+++ b/code/modules/organs/internal/augment.dm
@@ -14,6 +14,8 @@
target_parent_classes = list() // Is the parent supposed to be organic, robotic, assisted?
forgiving_class = TRUE // Will the organ give its verbs when it isn't a perfect match? I.E., assisted in organic, synthetic in organic.
+ butcherable = FALSE
+
var/obj/item/integrated_object // Objects held by the organ, used for re-usable, deployable things.
var/integrated_object_type // Object type the organ will spawn.
var/target_slot = null
diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm
index 0412ab1470..30c539bbde 100644
--- a/code/modules/organs/internal/brain.dm
+++ b/code/modules/organs/internal/brain.dm
@@ -83,8 +83,11 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
health = config.default_brain_health
defib_timer = (config.defib_timer MINUTES) / 2
spawn(5)
- if(brainmob && brainmob.client)
- brainmob.client.screen.len = null //clear the hud
+ if(brainmob)
+ butcherable = FALSE
+
+ if(brainmob.client)
+ brainmob.client.screen.len = null //clear the hud
/obj/item/organ/internal/brain/Destroy()
QDEL_NULL(brainmob)
@@ -96,9 +99,11 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
brainmob = new(src)
brainmob.name = H.real_name
brainmob.real_name = H.real_name
- brainmob.dna = H.dna.Clone()
- brainmob.timeofhostdeath = H.timeofdeath
- brainmob.ooc_notes = H.ooc_notes //VOREStation Edit
+
+ if(istype(H))
+ brainmob.dna = H.dna.Clone()
+ brainmob.timeofhostdeath = H.timeofdeath
+ brainmob.ooc_notes = H.ooc_notes //VOREStation Edit
// Copy modifiers.
for(var/datum/modifier/M in H.modifiers)
@@ -125,13 +130,13 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
if(name == initial(name))
name = "\the [owner.real_name]'s [initial(name)]"
- var/mob/living/simple_mob/animal/borer/borer = owner.has_brain_worms()
+ var/mob/living/simple_mob/animal/borer/borer = owner?.has_brain_worms()
if(borer)
borer.detatch() //Should remove borer if the brain is removed - RR
var/obj/item/organ/internal/brain/B = src
- if(istype(B) && istype(owner))
+ if(istype(B) && owner)
B.transfer_identity(owner)
..()
diff --git a/code/modules/organs/internal/liver.dm b/code/modules/organs/internal/liver.dm
index 1fcfac93bb..c23467466a 100644
--- a/code/modules/organs/internal/liver.dm
+++ b/code/modules/organs/internal/liver.dm
@@ -8,7 +8,7 @@
/obj/item/organ/internal/liver/process()
..()
- if(!owner) return
+ if(!iscarbon(owner)) return
if(owner.life_tick % PROCESS_ACCURACY == 0)
diff --git a/code/modules/organs/internal/robotic/robotic.dm b/code/modules/organs/internal/robotic/robotic.dm
index 7a40ab8101..71414af1ae 100644
--- a/code/modules/organs/internal/robotic/robotic.dm
+++ b/code/modules/organs/internal/robotic/robotic.dm
@@ -9,3 +9,4 @@
decays = FALSE // Ditto. Rust takes a while.
robotic = ORGAN_ROBOT
+ butcherable = FALSE
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 2d3f68a40c..c60420d359 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -44,6 +44,9 @@ var/list/organ_cache = list()
var/list/target_parent_classes = list() // Is the parent supposed to be organic, robotic, assisted?
var/forgiving_class = TRUE // Will the organ give its verbs when it isn't a perfect match? I.E., assisted in organic, synthetic in organic.
+ var/butcherable = TRUE
+ var/meat_type // What does butchering, if possible, make?
+
/obj/item/organ/Destroy()
handle_organ_mod_special(TRUE)
@@ -59,21 +62,42 @@ var/list/organ_cache = list()
/obj/item/organ/proc/update_health()
return
-/obj/item/organ/New(var/mob/living/carbon/holder, var/internal)
+/obj/item/organ/New(var/mob/living/holder, var/internal)
..(holder)
create_reagents(5)
- if(!max_damage)
- max_damage = min_broken_damage * 2
- if(istype(holder))
+
+ if(isliving(holder))
src.owner = holder
src.w_class = max(src.w_class + mob_size_difference(holder.mob_size, MOB_MEDIUM), 1) //smaller mobs have smaller organs.
+ if(internal)
+ if(!LAZYLEN(holder.internal_organs))
+ holder.internal_organs = list()
+ if(!LAZYLEN(holder.internal_organs_by_name))
+ holder.internal_organs_by_name = list()
+
+ holder.internal_organs |= src
+ holder.internal_organs_by_name[organ_tag] = src
+
+ else
+ if(!LAZYLEN(holder.organs))
+ holder.organs = list()
+ if(!LAZYLEN(holder.organs_by_name))
+ holder.organs_by_name = list()
+
+ holder.internal_organs |= src
+ holder.internal_organs_by_name[organ_tag] = src
+
+ if(!max_damage)
+ max_damage = min_broken_damage * 2
+ if(iscarbon(holder))
+ var/mob/living/carbon/C = holder
species = GLOB.all_species[SPECIES_HUMAN]
if(holder.dna)
- dna = holder.dna.Clone()
- species = holder.species //VOREStation Edit - For custom species
+ dna = C.dna.Clone()
+ species = C.species //VOREStation Edit - For custom species
else
log_debug("[src] at [loc] spawned without a proper DNA.")
- var/mob/living/carbon/human/H = holder
+ var/mob/living/carbon/human/H = C
if(istype(H))
if(internal)
var/obj/item/organ/external/E = H.get_organ(parent_organ)
@@ -81,18 +105,32 @@ var/list/organ_cache = list()
if(E.internal_organs == null)
E.internal_organs = list()
E.internal_organs |= src
- H.internal_organs_by_name[organ_tag] = src
if(dna)
if(!blood_DNA)
blood_DNA = list()
blood_DNA[dna.unique_enzymes] = dna.b_type
- if(internal)
- holder.internal_organs |= src
else
species = GLOB.all_species["Human"]
handle_organ_mod_special()
+/obj/item/organ/Initialize()
+ ..()
+
+ if(owner)
+ if(!meat_type)
+ if(owner.isSynthetic())
+ meat_type = /obj/item/stack/material/steel
+ else if(ishuman(owner))
+ var/mob/living/carbon/human/H = owner
+ meat_type = H?.species?.meat_type
+
+ if(!meat_type)
+ if(owner.meat_type)
+ meat_type = owner.meat_type
+ else
+ meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
+
/obj/item/organ/proc/set_dna(var/datum/dna/new_dna)
if(new_dna)
dna = new_dna.Clone()
@@ -134,7 +172,7 @@ var/list/organ_cache = list()
handle_organ_proc_special()
//Process infections
- if(robotic >= ORGAN_ROBOT || (owner && owner.species && (owner.species.flags & IS_PLANT || (owner.species.flags & NO_INFECT))))
+ if(robotic >= ORGAN_ROBOT || (istype(owner) && (owner.species && (owner.species.flags & (IS_PLANT | NO_INFECT)))))
germ_level = 0
return
@@ -152,7 +190,7 @@ var/list/organ_cache = list()
if(germ_level >= INFECTION_LEVEL_THREE)
die()
- else if(owner && owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs
+ else if(owner && owner?.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs
//** Handle antibiotics and curing infections
handle_antibiotics()
handle_rejection()
@@ -170,7 +208,7 @@ var/list/organ_cache = list()
germ_level = 0
return 0
- var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] || 0
+ var/antibiotics = iscarbon(owner) ? owner.chem_effects[CE_ANTIBIOTIC] || 0 : 0
var/infection_damage = 0
@@ -203,10 +241,12 @@ var/list/organ_cache = list()
//Level 1 qualifies for specific organ processing effects
if(germ_level >= INFECTION_LEVEL_ONE)
- . = 1
- var/fever_temperature = owner.species.heat_discomfort_level * 1.10 //Heat discomfort level plus 10%
- if(owner.bodytemperature < fever_temperature)
- owner.bodytemperature += min(0.2,(fever_temperature - owner.bodytemperature) / 10) //Will usually climb by 0.2, else 10% of the difference if less
+ . = 1 //Organ qualifies for effect-specific processing
+ //var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 5)* min(germ_level/INFECTION_LEVEL_TWO, 1) + owner.species.body_temperature
+ //owner.bodytemperature += between(0, (fever_temperature - T20C)/BODYTEMP_COLD_DIVISOR + 1, fever_temperature - owner.bodytemperature)
+ var/fever_temperature = owner?.species.heat_discomfort_level * 1.10 //Heat discomfort level plus 10%
+ if(owner?.bodytemperature < fever_temperature)
+ owner?.bodytemperature += min(0.2,(fever_temperature - owner?.bodytemperature) / 10) //Will usually climb by 0.2, else 10% of the difference if less
//Level two qualifies for further processing effects
if (germ_level >= INFECTION_LEVEL_TWO)
@@ -269,19 +309,20 @@ var/list/organ_cache = list()
//Germs
/obj/item/organ/proc/handle_antibiotics()
- var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] || 0
+ if(istype(owner))
+ var/antibiotics = owner.chem_effects[CE_ANTIBIOTIC] || 0
- if (!germ_level || antibiotics < ANTIBIO_NORM)
- return
+ if (!germ_level || antibiotics < ANTIBIO_NORM)
+ return
- if (germ_level < INFECTION_LEVEL_ONE)
- germ_level = 0 //cure instantly
- else if (germ_level < INFECTION_LEVEL_TWO)
- adjust_germ_level(-antibiotics*4) //at germ_level < 500, this should cure the infection in a minute
- else if (germ_level < INFECTION_LEVEL_THREE)
- adjust_germ_level(-antibiotics*2) //at germ_level < 1000, this will cure the infection in 5 minutes
- else
- adjust_germ_level(-antibiotics) // You waited this long to get treated, you don't really deserve this organ
+ if (germ_level < INFECTION_LEVEL_ONE)
+ germ_level = 0 //cure instantly
+ else if (germ_level < INFECTION_LEVEL_TWO)
+ adjust_germ_level(-antibiotics*4) //at germ_level < 500, this should cure the infection in a minute
+ else if (germ_level < INFECTION_LEVEL_THREE)
+ adjust_germ_level(-antibiotics*2) //at germ_level < 1000, this will cure the infection in 5 minutes
+ else
+ adjust_germ_level(-antibiotics) // You waited this long to get treated, you don't really deserve this organ
//Adds autopsy data for used_weapon.
/obj/item/organ/proc/add_autopsy_data(var/used_weapon, var/damage)
@@ -304,7 +345,7 @@ var/list/organ_cache = list()
//only show this if the organ is not robotic
if(owner && parent_organ && amount > 0)
- var/obj/item/organ/external/parent = owner.get_organ(parent_organ)
+ var/obj/item/organ/external/parent = owner?.get_organ(parent_organ)
if(parent && !silent)
owner.custom_pain("Something inside your [parent.name] hurts a lot.", amount)
@@ -322,6 +363,7 @@ var/list/organ_cache = list()
robotic = ORGAN_ASSISTED
min_bruised_damage = 15
min_broken_damage = 35
+ butcherable = FALSE
/obj/item/organ/proc/digitize() //Used to make the circuit-brain. On this level in the event more circuit-organs are added/tweaks are wanted.
robotize()
@@ -341,31 +383,30 @@ var/list/organ_cache = list()
take_damage(rand(1,3))
/obj/item/organ/proc/removed(var/mob/living/user)
+ if(owner)
+ owner.internal_organs_by_name[organ_tag] = null
+ owner.internal_organs_by_name -= organ_tag
+ owner.internal_organs_by_name -= null
+ owner.internal_organs -= src
- if(!istype(owner))
- return
+ var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
+ if(affected) affected.internal_organs -= src
- owner.internal_organs_by_name[organ_tag] = null
- owner.internal_organs_by_name -= organ_tag
- owner.internal_organs_by_name -= null
- owner.internal_organs -= src
+ forceMove(owner.drop_location())
+ START_PROCESSING(SSobj, src)
+ rejecting = null
- var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
- if(affected) affected.internal_organs -= src
+ if(istype(owner))
+ var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
+ if(!organ_blood || !organ_blood.data["blood_DNA"])
+ owner.vessel.trans_to(src, 5, 1, 1)
- forceMove(owner.drop_location())
- START_PROCESSING(SSobj, src)
- rejecting = null
- var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
- if(!organ_blood || !organ_blood.data["blood_DNA"])
- owner.vessel.trans_to(src, 5, 1, 1)
-
- if(owner && vital)
- if(user)
- add_attack_logs(user, owner, "Removed vital organ [src.name]")
- if(owner.stat != DEAD)
- owner.can_defib = 0
- owner.death()
+ if(owner && vital)
+ if(user)
+ add_attack_logs(user, owner, "Removed vital organ [src.name]")
+ if(owner.stat != DEAD)
+ owner.can_defib = 0
+ owner.death()
handle_organ_mod_special(TRUE)
@@ -379,13 +420,13 @@ var/list/organ_cache = list()
var/datum/reagent/blood/transplant_blood = locate(/datum/reagent/blood) in reagents.reagent_list
transplant_data = list()
if(!transplant_blood)
- transplant_data["species"] = target.species.name
- transplant_data["blood_type"] = target.dna.b_type
- transplant_data["blood_DNA"] = target.dna.unique_enzymes
+ transplant_data["species"] = target?.species.name
+ transplant_data["blood_type"] = target?.dna.b_type
+ transplant_data["blood_DNA"] = target?.dna.unique_enzymes
else
- transplant_data["species"] = transplant_blood.data["species"]
- transplant_data["blood_type"] = transplant_blood.data["blood_type"]
- transplant_data["blood_DNA"] = transplant_blood.data["blood_DNA"]
+ transplant_data["species"] = transplant_blood?.data["species"]
+ transplant_data["blood_type"] = transplant_blood?.data["blood_type"]
+ transplant_data["blood_DNA"] = transplant_blood?.data["blood_DNA"]
owner = target
loc = owner
@@ -428,6 +469,46 @@ var/list/organ_cache = list()
bitten(user)
return
+/obj/item/organ/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ if(can_butcher(W, user))
+ butcher(W, user)
+ return
+
+ return ..()
+
+/obj/item/organ/proc/can_butcher(var/obj/item/O, var/mob/living/user)
+ if(butcherable && meat_type)
+
+ if(istype(O, /obj/machinery/gibber)) // The great equalizer.
+ return TRUE
+
+ if(robotic >= ORGAN_ROBOT)
+ if(O.is_screwdriver())
+ return TRUE
+
+ else
+ if(is_sharp(O) && has_edge(O))
+ return TRUE
+
+ return FALSE
+
+/obj/item/organ/proc/butcher(var/obj/item/O, var/mob/living/user, var/atom/newtarget)
+ if(robotic >= ORGAN_ROBOT)
+ user?.visible_message("[user] disassembles \the [src].")
+
+ else
+ user?.visible_message("[user] butchers \the [src].")
+
+ if(!newtarget)
+ newtarget = get_turf(src)
+
+ var/obj/item/newmeat = new meat_type(newtarget)
+
+ if(istype(newmeat, /obj/item/weapon/reagent_containers/food/snacks/meat))
+ newmeat.name = "[src.name] [newmeat.name]" // "liver meat" "heart meat", etc.
+
+ qdel(src)
+
/obj/item/organ/proc/organ_can_feel_pain()
if(species.flags & NO_PAIN)
return 0
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 7e954df0eb..c9617afe11 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -33,7 +33,8 @@
var/body_part = null // Part flag
var/icon_position = 0 // Used in mob overlay layering calculations.
var/model // Used when caching robolimb icons.
- var/force_icon // Used to force override of species-specific limb icons (for prosthetics).
+ var/force_icon // Used to force override of species-specific limb icons (for prosthetics). Also used for any limbs chopped from a simple mob, and then attached to humans.
+ var/force_icon_key // Used to force the override of the icon-key generated using the species. Must be used in tandem with the above.
var/icon/mob_icon // Cached icon for use in mob overlays.
var/gendered_icon = 0 // Whether or not the icon state appends a gender.
var/s_tone // Skin tone.
@@ -96,7 +97,7 @@
qdel(splinted)
splinted = null
- if(owner)
+ if(istype(owner))
owner.organs -= src
owner.organs_by_name[organ_tag] = null
owner.organs_by_name -= organ_tag
@@ -198,7 +199,7 @@
return
dislocated = 1
- if(owner)
+ if(istype(owner))
owner.verbs |= /mob/living/carbon/human/proc/relocate
/obj/item/organ/external/proc/relocate()
@@ -206,7 +207,7 @@
return
dislocated = 0
- if(owner)
+ if(istype(owner))
owner.shock_stage += 20
//check to see if we still need the verb
@@ -220,7 +221,7 @@
/obj/item/organ/external/New(var/mob/living/carbon/holder)
..(holder, 0)
- if(owner)
+ if(istype(owner))
replaced(owner)
sync_colour_to_human(owner)
spawn(1)
@@ -884,11 +885,11 @@ Note that amputating the affected organ does in fact remove the infection from t
var/mob/living/carbon/human/victim = owner //Keep a reference for post-removed().
var/obj/item/organ/external/parent_organ = parent
- var/use_flesh_colour = species.get_flesh_colour(owner)
- var/use_blood_colour = species.get_blood_colour(owner)
+ var/use_flesh_colour = species?.get_flesh_colour(owner) ? species.get_flesh_colour(owner) : "#C80000"
+ var/use_blood_colour = species?.get_blood_colour(owner) ? species.get_blood_colour(owner) : "#C80000"
removed(null, ignore_children)
- victim.traumatic_shock += 60
+ victim?.traumatic_shock += 60
if(parent_organ)
var/datum/wound/lost_limb/W = new (src, disintegrate, clean)
@@ -904,9 +905,12 @@ Note that amputating the affected organ does in fact remove the infection from t
stump.update_damages()
spawn(1)
- victim.updatehealth()
- victim.UpdateDamageIcon()
- victim.update_icons_body()
+ if(istype(victim))
+ victim.updatehealth()
+ victim.UpdateDamageIcon()
+ victim.update_icons_body()
+ else
+ victim.update_icons()
dir = 2
var/atom/droploc = victim.drop_location()
@@ -1231,7 +1235,7 @@ Note that amputating the affected organ does in fact remove the infection from t
organ.loc = src
// Remove parent references
- parent.children -= src
+ parent?.children -= src
parent = null
release_restraints(victim)
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index a5be7341fc..1fda536c93 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -58,7 +58,7 @@ var/global/list/limb_icon_cache = list()
cut_overlays()
//Every 'addon' below requires information from species
- if(!owner || !owner.species)
+ if(!iscarbon(owner) || !owner.species)
return
//Eye color/icon
@@ -135,7 +135,10 @@ var/global/list/limb_icon_cache = list()
if(owner && owner.gender == FEMALE)
gender = "f"
- icon_cache_key = "[icon_name]_[species ? species.get_bodytype() : SPECIES_HUMAN]" //VOREStation Edit
+ if(!force_icon_key)
+ icon_cache_key = "[icon_name]_[species ? species.get_bodytype() : SPECIES_HUMAN]" //VOREStation Edit
+ else
+ icon_cache_key = "[icon_name]_[force_icon_key]"
if(force_icon)
mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]")
diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm
index 8624a71453..01b0abdc61 100644
--- a/code/modules/organs/subtypes/machine.dm
+++ b/code/modules/organs/subtypes/machine.dm
@@ -38,6 +38,7 @@
var/brain_type = /obj/item/device/mmi
var/obj/item/device/mmi/stored_mmi
robotic = ORGAN_ASSISTED
+ butcherable = FALSE
/obj/item/organ/internal/mmi_holder/Destroy()
if(stored_mmi && (stored_mmi.loc == src))
diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm
index bb4a9c7a13..1ebd92106c 100644
--- a/code/modules/organs/subtypes/standard.dm
+++ b/code/modules/organs/subtypes/standard.dm
@@ -282,14 +282,15 @@
/obj/item/organ/external/head/removed()
if(owner)
- name = "[owner.real_name]'s head"
- owner.drop_from_inventory(owner.glasses)
- owner.drop_from_inventory(owner.head)
- owner.drop_from_inventory(owner.l_ear)
- owner.drop_from_inventory(owner.r_ear)
- owner.drop_from_inventory(owner.wear_mask)
- spawn(1)
- owner.update_hair()
+ if(iscarbon(owner))
+ name = "[owner.real_name]'s head"
+ owner.drop_from_inventory(owner.glasses)
+ owner.drop_from_inventory(owner.head)
+ owner.drop_from_inventory(owner.l_ear)
+ owner.drop_from_inventory(owner.r_ear)
+ owner.drop_from_inventory(owner.wear_mask)
+ spawn(1)
+ owner.update_hair()
get_icon()
..()
diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm
index 1c231fc4e0..16a44332cb 100644
--- a/code/modules/overmap/ships/computers/helm.dm
+++ b/code/modules/overmap/ships/computers/helm.dm
@@ -274,6 +274,7 @@ GLOBAL_LIST_EMPTY(all_waypoints)
/obj/machinery/computer/ship/navigation/telescreen //little hacky but it's only used on one ship so it should be okay
icon_state = "tele_nav"
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = null
circuit = /obj/item/weapon/circuitboard/nav/tele
diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm
index 658ae729a4..8bae95434a 100644
--- a/code/modules/overmap/spacetravel.dm
+++ b/code/modules/overmap/spacetravel.dm
@@ -73,8 +73,9 @@ proc/get_deepspace(x,y)
/mob/lost_in_space()
return isnull(client)
-/mob/living/carbon/human/lost_in_space()
- return isnull(client) && !key && stat == DEAD
+/mob/living/lost_in_space()
+ return FALSE
+ // return isnull(client) && !key && stat == DEAD // Allows bodies that players have ghosted from to be deleted - Ater
proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A)
if (!T || !A)
diff --git a/code/modules/pda/ai.dm b/code/modules/pda/ai.dm
index 9072eef96e..10a04effb3 100644
--- a/code/modules/pda/ai.dm
+++ b/code/modules/pda/ai.dm
@@ -26,7 +26,7 @@
set name = "Use PDA"
set src in usr
- if(!can_use())
+ if(!can_use(usr))
return
tgui_interact(usr)
diff --git a/code/modules/pda/messenger.dm b/code/modules/pda/messenger.dm
index 38360e127a..a902bec3aa 100644
--- a/code/modules/pda/messenger.dm
+++ b/code/modules/pda/messenger.dm
@@ -109,7 +109,7 @@
// Specifically here for the chat message.
/datum/data/pda/app/messenger/Topic(href, href_list)
- if(!pda.can_use())
+ if(!pda.can_use(usr))
return
unnotify()
@@ -140,7 +140,7 @@
if(last_text && world.time < last_text + 5)
return
- if(!pda.can_use())
+ if(!pda.can_use(usr))
return
last_text = world.time
diff --git a/code/modules/pda/pda.dm b/code/modules/pda/pda.dm
index 3c9b03ce1e..2c3b368730 100644
--- a/code/modules/pda/pda.dm
+++ b/code/modules/pda/pda.dm
@@ -147,16 +147,8 @@ var/global/list/obj/item/device/pda/PDAs = list()
log_debug("Invalid switch for PDA, defaulting to old PDA icons. [pdachoice] chosen.")
start_program(find_program(/datum/data/pda/app/main_menu))
-/obj/item/device/pda/proc/can_use()
- if(!ismob(loc))
- return FALSE
-
- var/mob/M = loc
- if(M.incapacitated(INCAPACITATION_ALL))
- return FALSE
- if(src in M.contents)
- return TRUE
- return FALSE
+/obj/item/device/pda/proc/can_use(mob/user)
+ return (tgui_status(user, GLOB.tgui_inventory_state) == STATUS_INTERACTIVE)
/obj/item/device/pda/GetAccess()
if(id)
@@ -169,7 +161,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
- if((!istype(over_object, /obj/screen)) && can_use())
+ if((!istype(over_object, /obj/screen)) && can_use(usr))
return attack_self(M)
return
diff --git a/code/modules/pda/pda_tgui.dm b/code/modules/pda/pda_tgui.dm
index 0d70b6db02..6d57a6c25e 100644
--- a/code/modules/pda/pda_tgui.dm
+++ b/code/modules/pda/pda_tgui.dm
@@ -2,11 +2,6 @@
/obj/item/device/pda/tgui_state(mob/user)
return GLOB.tgui_inventory_state
-/obj/item/device/pda/tgui_status(mob/user, datum/tgui_state/state)
- . = ..()
- if(!can_use())
- . = min(., STATUS_UPDATE)
-
/obj/item/device/pda/tgui_interact(mob/user, datum/tgui/ui, datum/tgui/parent_ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
@@ -50,6 +45,7 @@
data["idLink"] = (id ? text("[id.registered_name], [id.assignment]") : "--------")
data["useRetro"] = retro_mode
+ data["touch_silent"] = touch_silent
data["cartridge_name"] = cartridge ? cartridge.name : ""
data["stationTime"] = stationtime2text() //worldtime2stationtime(world.time) // Aaa which fucking one is canonical there's SO MANY
@@ -68,12 +64,6 @@
if(..())
return TRUE
- if(!can_use())
- usr.unset_machine()
- if(ui)
- ui.close()
- return FALSE
-
add_fingerprint(usr)
usr.set_machine(src)
@@ -113,6 +103,8 @@
id_check(usr, 1)
if("Retro")
retro_mode = !retro_mode
+ if("TouchSounds")
+ touch_silent = !touch_silent
if("Ringtone")
return set_ringtone()
else
diff --git a/code/modules/persistence/noticeboard.dm b/code/modules/persistence/noticeboard.dm
index 046972ee36..c37e084ce8 100644
--- a/code/modules/persistence/noticeboard.dm
+++ b/code/modules/persistence/noticeboard.dm
@@ -3,6 +3,7 @@
desc = "A board for pinning important notices upon."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "nboard00"
+ layer = ABOVE_WINDOW_LAYER
density = 0
anchored = 1
var/list/notices
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 2ce2758090..868e3e4349 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -80,8 +80,7 @@ GLOBAL_LIST_EMPTY(apcs)
desc = "A control terminal for the area electrical systems."
icon = 'icons/obj/power.dmi'
icon_state = "apc0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
use_power = USE_POWER_OFF
clicksound = "switch"
diff --git a/code/modules/power/batteryrack_vr.dm b/code/modules/power/batteryrack_vr.dm
index 69a2cb5330..8cc2b2c636 100644
--- a/code/modules/power/batteryrack_vr.dm
+++ b/code/modules/power/batteryrack_vr.dm
@@ -1,3 +1,15 @@
+/obj/machinery/power/smes/batteryrack/mapped
+ var/cell_type = /obj/item/weapon/cell/apc
+ var/cell_number = 3
+
+/obj/machinery/power/smes/batteryrack/mapped/Initialize()
+ . = ..()
+ for(var/i = 1 to cell_number)
+ if(i > max_cells)
+ break
+ var/obj/item/weapon/cell/newcell = new cell_type(src.loc)
+ insert_cell(newcell)
+
/obj/item/weapon/module/power_control/attackby(var/obj/item/I, var/mob/user)
if(I.is_multitool())
to_chat(user, SPAN_NOTICE("You begin tweaking the power control circuits to support a power cell rack."))
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 996847b13b..c3927ec2bd 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -12,11 +12,19 @@
light_range = 4
var/obj/machinery/field_generator/FG1 = null
var/obj/machinery/field_generator/FG2 = null
+ var/list/shockdirs
var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
/obj/machinery/containment_field/Initialize()
+ . = ..()
+ shockdirs = list(turn(dir,90),turn(dir,-90))
sense_proximity(callback = .HasProximity)
+/obj/machinery/containment_field/set_dir(new_dir)
+ . = ..()
+ if(.)
+ shockdirs = list(turn(dir,90),turn(dir,-90))
+
/obj/machinery/containment_field/Destroy()
unsense_proximity(callback = .HasProximity)
if(FG1 && !FG1.clean_up)
@@ -36,11 +44,17 @@
/obj/machinery/containment_field/ex_act(severity)
return 0
+/obj/machinery/containment_field/Crossed(mob/living/L)
+ if(!istype(L) || L.incorporeal_move)
+ return
+ shock(L)
+
/obj/machinery/containment_field/HasProximity(turf/T, atom/movable/AM, old_loc)
- if(istype(AM,/mob/living/silicon) && prob(40))
- shock(AM)
- return 1
- if(istype(AM,/mob/living/carbon) && prob(50))
+ if(!istype(AM, /mob/living) || AM:incorporeal_move)
+ return 0
+ if(!(get_dir(src,AM) in shockdirs))
+ return 0
+ if(issilicon(AM) ? prob(40) : prob(50))
shock(AM)
return 1
return 0
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 763dd32ca8..6112da7b00 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -285,11 +285,10 @@ field_generator power level display
var/field_dir = get_dir(T,get_step(G.loc, NSEW))
T = get_step(T, NSEW)
if(!locate(/obj/machinery/containment_field) in T)
- var/obj/machinery/containment_field/CF = new/obj/machinery/containment_field()
+ var/obj/machinery/containment_field/CF = new/obj/machinery/containment_field(T)
CF.set_master(src,G)
fields += CF
G.fields += CF
- CF.loc = T
CF.set_dir(field_dir)
var/listcheck = 0
for(var/obj/machinery/field_generator/FG in connected_gens)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 325ff928e1..ec059bc5f4 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -24,13 +24,16 @@ GLOBAL_LIST_EMPTY(solars_list)
var/ndir = SOUTH // target dir
var/turn_angle = 0
var/obj/machinery/power/solar_control/control = null
+ var/glass_type = /obj/item/stack/material/glass
/obj/machinery/power/solar/drain_power()
return -1
-/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
+/obj/machinery/power/solar/Initialize(mapload, glass_type)
. = ..()
- Make(S)
+ if(glass_type == /obj/item/stack/material/glass/reinforced) //if the panel is in reinforced glass
+ health *= 2
+ update_icon()
connect_to_network()
/obj/machinery/power/solar/Destroy()
@@ -50,28 +53,16 @@ GLOBAL_LIST_EMPTY(solars_list)
control.connected_panels.Remove(src)
control = null
-/obj/machinery/power/solar/proc/Make(var/obj/item/solar_assembly/S)
- if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/material/glass
- S.anchored = TRUE
- S.loc = src
- if(S.glass_type == /obj/item/stack/material/glass/reinforced) //if the panel is in reinforced glass
- health *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
- update_icon()
-
-
-
/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user)
if(W.is_crowbar())
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar panel.")
if(do_after(user, 50))
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.loc = src.loc
- S.give_glass()
+ var/obj/item/solar_assembly/S = new(loc)
+ S.anchored = TRUE
+ var/obj/item/stack/glass = new glass_type(loc)
+ glass.amount = 2
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off the solar panel.")
qdel(src)
@@ -169,8 +160,8 @@ GLOBAL_LIST_EMPTY(solars_list)
return
-/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S)
- ..(loc, S, 0)
+/obj/machinery/power/solar/fake/New(var/turf/loc, var/glass_type)
+ ..(loc, glass_type, 0)
/obj/machinery/power/solar/fake/process()
. = PROCESS_KILL
@@ -213,20 +204,11 @@ GLOBAL_LIST_EMPTY(solars_list)
w_class = ITEMSIZE_LARGE // Pretty big!
anchored = 0
var/tracker = 0
- var/glass_type = null
/obj/item/solar_assembly/attack_hand(var/mob/user)
if(!anchored || !isturf(loc)) // You can't pick it up
..()
-// Give back the glass type we were supplied with
-/obj/item/solar_assembly/proc/give_glass()
- if(glass_type)
- var/obj/item/stack/material/S = new glass_type(src.loc)
- S.amount = 2
- glass_type = null
-
-
/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user)
if (!isturf(loc))
return 0
@@ -246,15 +228,12 @@ GLOBAL_LIST_EMPTY(solars_list)
if(istype(W, /obj/item/stack/material) && (W.get_material_name() == "glass" || W.get_material_name() == "rglass"))
var/obj/item/stack/material/S = W
if(S.use(2))
- glass_type = W.type
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] places the glass on the solar assembly.")
if(tracker)
- new /obj/machinery/power/tracker(get_turf(src), src)
- for(var/obj/item/solar_assembly/A in loc)
- qdel(A)
+ new /obj/machinery/power/tracker(get_turf(src), W.type)
else
- new /obj/machinery/power/solar(get_turf(src), src)
+ new /obj/machinery/power/solar(get_turf(src), W.type)
qdel(src)
else
to_chat(user, "You need two sheets of glass to put them into a solar panel.")
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 899e553b10..e3ccafa4cc 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -87,7 +87,7 @@
forceMove(T)
set_dir(move_dir)
for(var/mob/living/carbon/C in loc)
- dust_mobs(C)
+ dust_mob(C)
sleep(1) // So movement is smooth
/obj/singularity/energy_ball/proc/handle_energy()
@@ -112,7 +112,7 @@
var/Orchiectomy_target = pick(orbiting_balls)
qdel(Orchiectomy_target)
- else if(orbiting_balls.len)
+ else
dissipate() //sing code has a much better system.
/obj/singularity/energy_ball/proc/new_mini_ball()
@@ -129,43 +129,38 @@
EB.orbit(src, orbitsize, pick(FALSE, TRUE), rand(10, 25), pick(3, 4, 5, 6, 36))
+/obj/singularity/energy_ball/attack_hand(mob/user)
+ dust_mob(user)
+ return 1
/obj/singularity/energy_ball/Bump(atom/A)
- dust_mobs(A)
+ dust_mob(A)
/obj/singularity/energy_ball/Bumped(atom/movable/AM)
- dust_mobs(AM)
+ dust_mob(AM)
/obj/singularity/energy_ball/orbit(obj/singularity/energy_ball/target)
if (istype(target))
target.orbiting_balls += src
//TODO-LESH-DEL global.poi_list -= src
- target.dissipate_strength = target.orbiting_balls.len
+ target.dissipate_strength = target.orbiting_balls.len + 1
. = ..()
/obj/singularity/energy_ball/stop_orbit()
if (orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball))
var/obj/singularity/energy_ball/orbitingball = orbiting.orbiting
orbitingball.orbiting_balls -= src
- orbitingball.dissipate_strength = orbitingball.orbiting_balls.len
+ orbitingball.dissipate_strength = orbitingball.orbiting_balls.len + 1
..()
if (!loc && !QDELETED(src))
qdel(src)
-/obj/singularity/energy_ball/proc/dust_mobs(atom/A)
- if(isliving(A))
- var/mob/living/L = A
- if(L.incorporeal_move)
- return
- if(!iscarbon(A))
+/obj/singularity/energy_ball/proc/dust_mob(mob/living/L)
+ if(!istype(L) || L.incorporeal_move)
return
- for(var/obj/machinery/power/grounding_rod/GR in orange(src, 2))
- if(GR.anchored)
- return
- var/mob/living/carbon/C = A
- // C.dust() - Changing to do fatal elecrocution instead
- C.electrocute_act(500, src, def_zone = BP_TORSO)
+ // L.dust() - Changing to do fatal elecrocution instead
+ L.electrocute_act(500, src, def_zone = BP_TORSO)
/proc/tesla_zap(atom/source, zap_range = 3, power, explosive = FALSE, stun_mobs = TRUE)
if(!source) // Some mobs and maybe some objects delete themselves when they die.
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 0e2cc7cbf8..c03d7db3b6 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -11,14 +11,15 @@
anchored = 1
density = 1
use_power = USE_POWER_OFF
+ var/glass_type = /obj/item/stack/material/glass
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
-/obj/machinery/power/tracker/New(var/turf/loc, var/obj/item/solar_assembly/S)
- ..(loc)
- Make(S)
+/obj/machinery/power/tracker/Initialize(mapload, glass_type)
+ . = ..()
+ update_icon()
connect_to_network()
/obj/machinery/power/tracker/Destroy()
@@ -38,15 +39,6 @@
control.connected_tracker = null
control = null
-/obj/machinery/power/tracker/proc/Make(var/obj/item/solar_assembly/S)
- if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/material/glass
- S.tracker = 1
- S.anchored = 1
- S.loc = src
- update_icon()
-
//updates the tracker icon and the facing angle for the control computer
/obj/machinery/power/tracker/proc/set_angle(var/angle)
sun_angle = angle
@@ -63,10 +55,11 @@
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar tracker.")
if(do_after(user, 50))
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.loc = src.loc
- S.give_glass()
+ var/obj/item/solar_assembly/S = new(loc)
+ S.tracker = TRUE
+ S.anchored = TRUE
+ var/obj/item/stack/glass = new glass_type(loc)
+ glass.amount = 2
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off the tracker.")
qdel(src)
diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm
index 0594e2abb3..d70439a440 100644
--- a/code/modules/projectiles/guns/magnetic/bore.dm
+++ b/code/modules/projectiles/guns/magnetic/bore.dm
@@ -1,27 +1,24 @@
/obj/item/weapon/gun/magnetic/matfed
- name = "portable phoron bore"
- desc = "A large man-portable tunnel bore, using phorogenic plasma blasts. Point away from user."
- description_fluff = "An aging Grayson Manufactories mining tool used for rapidly digging through rock. Mass production was discontinued when many of the devices were stolen and used to break into a high security facility by Boiling Point drones."
- description_antag = "This device is exceptional at breaking down walls, though it is incredibly loud when doing so."
- description_info = "The projectile of this tool will travel six tiles before dissipating, excavating mineral walls as it does so. It can be reloaded with phoron sheets."
-
- icon_state = "bore"
- item_state = "bore"
- wielded_item_state = "bore-wielded"
- one_handed_penalty = 5
-
- projectile_type = /obj/item/projectile/bullet/magnetic/bore
-
- gun_unreliable = 0
-
power_cost = 750
- load_type = /obj/item/stack/material
+ load_type = list(/obj/item/stack/material, /obj/item/weapon/ore)
var/mat_storage = 0 // How much material is stored inside? Input in multiples of 2000 as per auto/protolathe.
var/max_mat_storage = 8000 // How much material can be stored inside?
var/mat_cost = 500 // How much material is used per-shot?
- var/ammo_material = MAT_PHORON
+ var/ammo_material
+ var/obj/item/weapon/stock_parts/manipulator/manipulator // Installed manipulator. Mostly for Phoron Bore, higher rating == less mats consumed upon firing. Set to a path to spawn with one of that type.
var/loading = FALSE
+/obj/item/weapon/gun/magnetic/matfed/Initialize()
+ . = ..()
+ if(ispath(manipulator))
+ manipulator = new manipulator(src)
+ if(manipulator)
+ mat_cost = initial(mat_cost) / (2*manipulator.rating)
+
+/obj/item/weapon/gun/magnetic/matfed/Destroy()
+ QDEL_NULL(manipulator)
+ . = ..()
+
/obj/item/weapon/gun/magnetic/matfed/examine(mob/user)
. = ..()
var/ammotext = show_ammo()
@@ -46,6 +43,7 @@
overlays = overlays_to_add
..()
+
/obj/item/weapon/gun/magnetic/matfed/attack_hand(var/mob/user) // It doesn't keep a loaded item inside.
if(user.get_inactive_hand() == src)
var/obj/item/removing
@@ -55,7 +53,6 @@
cell = null
if(removing)
- removing.forceMove(get_turf(src))
user.put_in_hands(removing)
user.visible_message("\The [user] removes \the [removing] from \the [src].")
playsound(src, 'sound/machines/click.ogg', 10, 1)
@@ -77,91 +74,170 @@
/obj/item/weapon/gun/magnetic/matfed/attackby(var/obj/item/thing, var/mob/user)
if(removable_components)
- if(istype(thing, /obj/item/weapon/cell))
- if(cell)
- to_chat(user, "\The [src] already has \a [cell] installed.")
- return
- cell = thing
- user.drop_from_inventory(cell)
- cell.forceMove(src)
- playsound(src, 'sound/machines/click.ogg', 10, 1)
- user.visible_message("\The [user] slots \the [cell] into \the [src].")
- update_icon()
- return
if(thing.is_crowbar())
if(!manipulator)
to_chat(user, "\The [src] has no manipulator installed.")
return
- manipulator.forceMove(get_turf(src))
user.put_in_hands(manipulator)
user.visible_message("\The [user] levers \the [manipulator] from \the [src].")
- playsound(src, 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(src, thing.usesound, 50, 1)
+ mat_cost = initial(mat_cost)
manipulator = null
update_icon()
return
- if(thing.is_screwdriver())
- if(!capacitor)
- to_chat(user, "\The [src] has no capacitor installed.")
- return
- capacitor.forceMove(get_turf(src))
- user.put_in_hands(capacitor)
- user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].")
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
- capacitor = null
- update_icon()
- return
-
- if(istype(thing, /obj/item/weapon/stock_parts/capacitor))
- if(capacitor)
- to_chat(user, "\The [src] already has \a [capacitor] installed.")
- return
- capacitor = thing
- user.drop_from_inventory(capacitor)
- capacitor.forceMove(src)
- playsound(src, 'sound/machines/click.ogg', 10, 1)
- power_per_tick = (power_cost*0.15) * capacitor.rating
- user.visible_message("\The [user] slots \the [capacitor] into \the [src].")
- update_icon()
- return
if(istype(thing, /obj/item/weapon/stock_parts/manipulator))
if(manipulator)
to_chat(user, "\The [src] already has \a [manipulator] installed.")
return
manipulator = thing
- user.drop_from_inventory(manipulator)
- manipulator.forceMove(src)
+ user.drop_from_inventory(manipulator, src)
playsound(src, 'sound/machines/click.ogg', 10,1)
- mat_cost = initial(mat_cost) % (2*manipulator.rating)
+ mat_cost = initial(mat_cost) / (2*manipulator.rating)
user.visible_message("\The [user] slots \the [manipulator] into \the [src].")
update_icon()
return
- if(istype(thing, load_type))
- loading = TRUE
+ if(is_type_in_list(thing, load_type))
var/obj/item/stack/material/M = thing
- if(!M.material || M.material.name != ammo_material)
- return
+ if(istype(M)) //stack
+ if(!M.material || M.material.name != ammo_material || loading)
+ return
- if(mat_storage + 2000 > max_mat_storage)
- to_chat(user, "\The [src] cannot hold more [ammo_material].")
- return
+ if(mat_storage + SHEET_MATERIAL_AMOUNT > max_mat_storage)
+ to_chat(user, "\The [src] cannot hold more [ammo_material].")
+ return
- var/can_hold_val = 0
- while(can_hold_val < round(max_mat_storage / 2000))
- if(mat_storage + 2000 <= max_mat_storage && do_after(user,1.5 SECONDS))
+ var/can_hold_val = 0
+ loading = TRUE
+ while(mat_storage + SHEET_MATERIAL_AMOUNT <= max_mat_storage && do_after(user,1.5 SECONDS))
can_hold_val ++
- mat_storage += 2000
+ mat_storage += SHEET_MATERIAL_AMOUNT
playsound(src, 'sound/effects/phasein.ogg', 15, 1)
- else
- loading = FALSE
- break
- M.use(can_hold_val)
+ M.use(can_hold_val)
+ loading = FALSE
+
+ else //ore
+ if(M.material != ammo_material)
+ return
+
+ if(mat_storage + (SHEET_MATERIAL_AMOUNT/2*0.8) > max_mat_storage)
+ to_chat(user, "\The [src] cannot hold more [ammo_material].")
+ return
+
+ qdel(M)
+ mat_storage += (SHEET_MATERIAL_AMOUNT/2*0.8) //two plasma ores needed per sheet, some inefficiency for not using refined product
+
user.visible_message("\The [user] loads \the [src] with \the [M].")
playsound(src, 'sound/weapons/flipblade.ogg', 50, 1)
update_icon()
return
+
. = ..()
+
+#define GEN_STARTING -1
+#define GEN_OFF 0
+#define GEN_IDLE 1
+#define GEN_ACTIVE 2
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore
+ name = "portable phoron bore"
+ desc = "A large man-portable tunnel bore, using phorogenic plasma blasts. Point away from user."
+ description_fluff = "An aging Grayson Manufactories mining tool used for rapidly digging through rock. Mass production was discontinued when many of the devices were stolen and used to break into a high security facility by Boiling Point drones."
+ description_antag = "This device is exceptional at breaking down walls, though it is incredibly loud when doing so."
+ description_info = "The projectile of this tool will travel six tiles before dissipating, excavating mineral walls as it does so. It can be reloaded with phoron sheets or ore, and has a togglable generator that can recharge the power cell using stored phoron."
+
+ icon_state = "bore"
+ item_state = "bore"
+ wielded_item_state = "bore-wielded"
+ one_handed_penalty = 5
+
+ projectile_type = /obj/item/projectile/bullet/magnetic/bore
+
+ gun_unreliable = 0
+ power_cost = 100
+ ammo_material = MAT_PHORON
+
+ action_button_name = "Toggle internal generator"
+
+ var/generator_state = GEN_OFF
+ var/datum/looping_sound/small_motor/soundloop
+ var/time_started //to keep the soundloop from being "stopped" too soon and playing indefinitely
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/Initialize()
+ . = ..()
+ soundloop = new(list(src), 0)
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/Destroy()
+ QDEL_NULL(soundloop)
+ . = ..()
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/ui_action_click()
+ toggle_generator(usr)
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/process()
+ if(generator_state && !mat_storage)
+ audible_message(SPAN_NOTICE("\The [src] goes quiet."),SPAN_NOTICE("A motor noise cuts out."))
+ soundloop.stop()
+ generator_state = GEN_OFF
+
+ else if(generator_state > GEN_OFF)
+ if(generator_state == GEN_IDLE && (cell?.percent() < 80 || (!cell && capacitor && capacitor.charge/capacitor.max_charge < 0.8)))
+ generator_state = GEN_ACTIVE
+ else if(generator_state == GEN_ACTIVE && (!cell || cell.fully_charged()) && (!capacitor || capacitor.charge == capacitor.max_charge))
+ generator_state = GEN_IDLE
+ soundloop.speed = generator_state
+ generator_generate()
+
+ if(capacitor)
+ if(cell)
+ if(capacitor.charge < capacitor.max_charge && cell.checked_use(power_per_tick))
+ capacitor.charge(power_per_tick)
+ else if(!generator_state)
+ capacitor.use(capacitor.charge * 0.05)
+
+ update_state()
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/proc/generator_generate()
+ var/fuel_used = generator_state == GEN_IDLE ? 5 : 25
+ var/power_made = fuel_used * 800 * CELLRATE //20kW when active, same power as a pacman on setting one, but less efficient because compact and portable
+ if(cell)
+ cell.give(power_made)
+ else if(capacitor)
+ capacitor.charge(power_made)
+ mat_storage = max(mat_storage - fuel_used, 0)
+ var/turf/T = get_turf(src)
+ if(T)
+ T.assume_gas("carbon_dioxide", fuel_used * 0.01, T0C+200)
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/proc/toggle_generator(mob/living/user)
+ if(!generator_state && !mat_storage)
+ to_chat(user, SPAN_NOTICE("\The [src] has no fuel!"))
+ return
+
+ else if(!generator_state)
+ generator_state = GEN_STARTING
+ var/pull = (!cell || cell.charge < 100) ? rand(1,4) : 0
+ while(pull)
+ playsound(src, 'sound/items/small_motor/motor_pull_attempt.ogg', 100)
+ if(!do_after(user, 2 SECONDS, src))
+ generator_state = GEN_OFF
+ return
+ pull--
+ soundloop.start()
+ time_started = world.time
+ cell?.use(100)
+ audible_message(SPAN_NOTICE("\The [src] starts chugging."),SPAN_NOTICE("A motor noise starts up."))
+ generator_state = GEN_IDLE
+
+ else if(generator_state > GEN_OFF && time_started + 3 SECONDS < world.time)
+ soundloop.stop()
+ audible_message(SPAN_NOTICE("\The [src] goes quiet."),SPAN_NOTICE("A motor noise cuts out."))
+ generator_state = GEN_OFF
+
+/obj/item/weapon/gun/magnetic/matfed/phoronbore/loaded
+ cell = /obj/item/weapon/cell/apc
+ capacitor = /obj/item/weapon/stock_parts/capacitor
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index bbdcc29936..1b13bd8f8c 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -17,7 +17,6 @@
var/obj/item/weapon/cell/cell // Currently installed powercell.
var/obj/item/weapon/stock_parts/capacitor/capacitor // Installed capacitor. Higher rating == faster charge between shots. Set to a path to spawn with one of that type.
- var/obj/item/weapon/stock_parts/manipulator/manipulator // Installed manipulator. Mostly for Phoron Bore, higher rating == less mats consumed upon firing. Set to a path to spawn with one of that type.
var/removable_components = TRUE // Whether or not the gun can be dismantled.
var/gun_unreliable = 15 // Percentage chance of detonating in your hands.
@@ -38,16 +37,14 @@
if(ispath(capacitor))
capacitor = new capacitor(src)
capacitor.charge = capacitor.max_charge
- if(ispath(manipulator))
- manipulator = new manipulator(src)
if(ispath(loaded))
loaded = new loaded(src)
-
+
START_PROCESSING(SSobj, src)
-
+
if(capacitor)
power_per_tick = (power_cost*0.15) * capacitor.rating
-
+
update_icon()
/obj/item/weapon/gun/magnetic/Destroy()
@@ -55,7 +52,6 @@
QDEL_NULL(cell)
QDEL_NULL(loaded)
QDEL_NULL(capacitor)
- QDEL_NULL(manipulator)
. = ..()
/obj/item/weapon/gun/magnetic/get_cell()
@@ -68,7 +64,7 @@
capacitor.charge(power_per_tick)
else
capacitor.use(capacitor.charge * 0.05)
-
+
update_state() // May update icon, only if things changed.
/obj/item/weapon/gun/magnetic/proc/update_state()
@@ -80,7 +76,7 @@
newstate |= ICON_CELL
if(capacitor)
newstate |= ICON_CAP
-
+
// Functional state
if(!cell || !capacitor)
newstate |= ICON_BAD
@@ -88,7 +84,7 @@
newstate |= ICON_CHARGE
else
newstate |= ICON_READY
-
+
// Ammo indicator
if(loaded)
newstate |= ICON_LOADED
@@ -99,7 +95,7 @@
needs_update = TRUE
state = newstate
-
+
if(needs_update)
update_icon()
@@ -153,8 +149,7 @@
to_chat(user, "\The [src] already has \a [cell] installed.")
return
cell = thing
- user.drop_from_inventory(cell)
- cell.forceMove(src)
+ user.drop_from_inventory(cell, src)
playsound(src, 'sound/machines/click.ogg', 10, 1)
user.visible_message("\The [user] slots \the [cell] into \the [src].")
update_icon()
@@ -164,10 +159,9 @@
if(!capacitor)
to_chat(user, "\The [src] has no capacitor installed.")
return
- capacitor.forceMove(get_turf(src))
user.put_in_hands(capacitor)
user.visible_message("\The [user] unscrews \the [capacitor] from \the [src].")
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src, thing.usesound, 50, 1)
capacitor = null
update_icon()
return
@@ -177,8 +171,7 @@
to_chat(user, "\The [src] already has \a [capacitor] installed.")
return
capacitor = thing
- user.drop_from_inventory(capacitor)
- capacitor.forceMove(src)
+ user.drop_from_inventory(capacitor, src)
playsound(src, 'sound/machines/click.ogg', 10, 1)
power_per_tick = (power_cost*0.15) * capacitor.rating
user.visible_message("\The [user] slots \the [capacitor] into \the [src].")
diff --git a/code/modules/projectiles/projectile/magnetic.dm b/code/modules/projectiles/projectile/magnetic.dm
index c79afc76ca..0293ea1383 100644
--- a/code/modules/projectiles/projectile/magnetic.dm
+++ b/code/modules/projectiles/projectile/magnetic.dm
@@ -162,6 +162,9 @@
irradiate = 20
range = 6
+/obj/item/projectile/bullet/magnetic/bore/get_structure_damage()
+ return damage * 3 //made for boring holes
+
/obj/item/projectile/bullet/magnetic/bore/Bump(atom/A, forced=0)
if(istype(A, /turf/simulated/mineral))
var/turf/simulated/mineral/MI = A
@@ -171,7 +174,6 @@
return 0
else if(istype(A, /turf/simulated/wall) || istype(A, /turf/simulated/shuttle/wall)) // Cause a loud, but relatively minor explosion on the wall it hits.
explosion(A, -1, -1, 1, 3)
- qdel(src)
- return 1
+ return ..()
else
..()
diff --git a/code/modules/radiation/radiation.dm b/code/modules/radiation/radiation.dm
index cb701027d8..c467183cb5 100644
--- a/code/modules/radiation/radiation.dm
+++ b/code/modules/radiation/radiation.dm
@@ -45,7 +45,11 @@
/turf/simulated/wall/calc_rad_resistance()
SSradiation.resistance_cache[src] = (length(contents) + 1)
- cached_rad_resistance = (density ? (material.weight + material.radiation_resistance) / config.radiation_material_resistance_divisor : 0)
+ var/temp_rad_resistance
+ temp_rad_resistance += material.weight + material.radiation_resistance
+ if(reinf_material)
+ temp_rad_resistance += reinf_material.weight + reinf_material.radiation_resistance
+ cached_rad_resistance = (density ? (temp_rad_resistance) / config.radiation_material_resistance_divisor : 0)
return
/turf/simulated/mineral/calc_rad_resistance()
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
index 0d6957ae1d..d1a165af09 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
@@ -78,6 +78,50 @@
glass_name = "Pink Moo"
glass_desc = "A very familiar looking drink. ...moo?"
+/datum/reagent/ethanol/originalsin
+ name = "Original Sin"
+ id = "originalsin"
+ description = "Angel Ichor, entirely transformed by one drop of apple juice"
+ taste_description = "the apple Eve gave to Adam"
+ color = "#99CC35"
+ strength = 17
+
+ glass_name = "Original Sin"
+ glass_desc = "A drink so fine, you may just risk eternal damnation!"
+
+/datum/reagent/ethanol/newyorksour
+ name = "New York Sour"
+ id = "newyorksour"
+ description = "Whiskey sour, with a layer of wine and egg white."
+ taste_description = "refreshing lemoned whiskey, smoothed with wine"
+ color = "#FFBF3C"
+ strength = 17
+
+ glass_name = "New York Sour"
+ glass_desc = "A carefully poured three layered drink"
+
+/datum/reagent/ethanol/windgarita
+ name = "WND-Garita"
+ id = "windgarita"
+ description = "A highly questionable combination of margarita and Space Mountain Wind"
+ taste_description = "like sin, and some tequilia"
+ color = "#90D93D"
+ strength = 15
+
+ glass_name = "WND-Garita"
+ glass_desc = "Who the hell comes up with these drinks?!"
+
+/datum/reagent/ethanol/mudslide
+ name = "Mudslide"
+ id = "mudslide"
+ description = "Vodka, Kahlua and Irish Cream together at last."
+ taste_description = "a mocha milkshake, with a splash of vodka."
+ color = "#8B6338"
+ strength = 13
+
+ glass_name = "Mudslide"
+ glass_desc = "A richly coloured drink, comes with a chocolate garnish!"
+
/datum/reagent/ethanol/monstertamer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
..()
diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm
index bf0e614489..dc4ec6222a 100644
--- a/code/modules/reagents/Chemistry-Recipes_vr.dm
+++ b/code/modules/reagents/Chemistry-Recipes_vr.dm
@@ -77,7 +77,7 @@
/datum/chemical_reaction/foam/softdrink
required_reagents = list("cola" = 1, "mint" = 1)
-
+
/datum/chemical_reaction/firefightingfoam //TODO: Make it so we can add this to the foam tanks to refill them
name = "Firefighting Foam"
id = "firefighting foam"
@@ -85,6 +85,15 @@
required_reagents = list("water" = 1)
catalysts = list("fluorine" = 10)
result_amount = 1
+
+/datum/chemical_reaction/firefightingfoamqol //Please don't abuse this and make us remove it. Seriously.
+ name = "Firefighting Foam EZ"
+ id = "firefighting foam ez"
+ result = "firefoam"
+ required_reagents = list("water" = 1)
+ catalysts = list("firefoam" = 5)
+ inhibitors = list("fluorine" = 0.01)
+ result_amount = 1
///////////////////////////////////////////////////////////////////////////////////
/// Vore Drugs
@@ -290,6 +299,35 @@
required_reagents = list("blackrussian" = 2, "berryshake" = 1)
result_amount = 3
+/datum/chemical_reaction/drinks/originalsin
+ name = "Original Sin"
+ id = "originalsin"
+ result = "originalsin"
+ required_reagents = list("holywine" = 1)
+ catalysts = list("applejuice" = 1)
+ result_amount = 1
+
+/datum/chemical_reaction/drinks/windgarita
+ name = "WND-Garita"
+ id = "windgarita"
+ result = "windgarita"
+ required_reagents = list("margarita" = 3, "spacemountainwind" = 2, "melonliquor" = 1)
+ result_amount = 6
+
+/datum/chemical_reaction/drinks/newyorksour
+ name = "New York Sour"
+ id = "newyorksour"
+ result = "newyorksour"
+ required_reagents = list("whiskeysour" = 3, "wine" = 2, "egg" = 1)
+ result_amount = 6
+
+/datum/chemical_reaction/drinks/mudslide
+ name = "Mudslide"
+ id = "mudslide"
+ result = "mudslide"
+ required_reagents = list("blackrussian" = 1, "irishcream" = 1)
+ result_amount = 2
+
///////////////////////////////////////////////////////////////////////////////////
/// Reagent colonies.
/datum/chemical_reaction/meatcolony
diff --git a/code/modules/rogueminer_vr/zonemaster.dm b/code/modules/rogueminer_vr/zonemaster.dm
index 2c0839fc95..ffca74bb34 100644
--- a/code/modules/rogueminer_vr/zonemaster.dm
+++ b/code/modules/rogueminer_vr/zonemaster.dm
@@ -127,6 +127,8 @@
rm_controller.dbg("ZM(pa): The asteroid has [A.map.len] X-lists.")
+ var/list/changedturfs = list()
+
for(var/Ix=1, Ix <= A.map.len, Ix++)
var/list/curr_x = A.map[Ix]
rm_controller.dbg("ZM(pa): Now doing X:[Ix] which has [curr_x.len] Y-lists.")
@@ -153,15 +155,17 @@
rm_controller.dbg("ZM(pa): Replacing [P.type] with [T].")
var/turf/newturf = P.ChangeTurf(T)
+ changedturfs += newturf
switch(newturf.type)
if(/turf/simulated/mineral/vacuum)
place_resources(newturf)
- newturf.update_icon(1)
else //Anything not a turf
rm_controller.dbg("ZM(pa): Creating [T].")
new T(spot)
+ for(var/turf/T in changedturfs)
+ T.update_icon(1)
/datum/rogue/zonemaster/proc/place_resources(var/turf/simulated/mineral/M)
#define XENOARCH_SPAWN_CHANCE 0.3
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index 707bd3ccd9..8956e9e3c8 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -3,6 +3,7 @@
desc = "This device is used to trigger station functions, which require more than one ID card to authenticate."
icon = 'icons/obj/monitors.dmi'
icon_state = "auth_off"
+ layer = ABOVE_WINDOW_LAYER
circuit = /obj/item/weapon/circuitboard/keycard_auth
var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made.
var/event = ""
diff --git a/code/modules/tgui/modules/communications.dm b/code/modules/tgui/modules/communications.dm
index 1af2a003cc..7166a3db61 100644
--- a/code/modules/tgui/modules/communications.dm
+++ b/code/modules/tgui/modules/communications.dm
@@ -104,9 +104,10 @@
"line_2" = (stat_msg2 ? stat_msg2 : "-----"),
"presets" = list(
- list("name" = "blank", "label" = "Clear", "desc" = "Blank slate"),
- list("name" = "shuttle", "label" = "Shuttle ETA", "desc" = "Display how much time is left."),
- list("name" = "message", "label" = "Message", "desc" = "A custom message.")
+ list("name" = "blank", "label" = "Clear", "desc" = "Blank slate."),
+ list("name" = "time", "label" = "Station Time", "desc" = "The current time according to the station's clock."),
+ list("name" = "shuttle", "label" = "Tram ETA", "desc" = "Display how much time is left."), //VOREStation Edit - Shuttle ETA -> Tram ETA because we use trams
+ list("name" = "message", "label" = "Message", "desc" = "A custom message.")
),
)
@@ -248,7 +249,7 @@
to_chat(usr, "Security measures prevent you from changing the alert level.")
return
- if(check_access(usr, access_captain))
+ if(is_authenticated(usr))
change_security_level(text2num(params["level"]))
else
to_chat(usr, "You are not authorized to do this.")
diff --git a/code/modules/turbolift/turbolift_console_vr.dm b/code/modules/turbolift/turbolift_console_vr.dm
new file mode 100644
index 0000000000..a02730c08d
--- /dev/null
+++ b/code/modules/turbolift/turbolift_console_vr.dm
@@ -0,0 +1,7 @@
+// TFF 6/10/20 - Just a little thing to prevent the button
+ // and console from being destroyed by explosions.
+/obj/structure/lift/button/ex_act()
+ return
+
+/obj/structure/lift/panel/ex_act()
+ return
\ No newline at end of file
diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm
index 6890f0ba4c..f5b6613cdf 100644
--- a/code/modules/vchat/vchat_client.dm
+++ b/code/modules/vchat/vchat_client.dm
@@ -397,22 +397,22 @@ var/to_chat_src
to_chat(src, "Error: Your chat log is already being prepared. Please wait until it's been downloaded before trying to export it again.")
return
- o_file = file(o_file)
-
// Write the CSS file to the log
- o_file << ""
+ var/text_blob = ""
// Write the messages to the log
for(var/list/result in results)
- o_file << "[result["message"]] "
+ text_blob += "[result["message"]] "
CHECK_TICK
- o_file << ""
+ text_blob += ""
+
+ rustg_file_write(text_blob, o_file)
// Send the log to the client
- src << ftp(o_file, "log_[time2text(world.timeofday, "YYYY_MM_DD_(hh_mm)")].html")
+ src << ftp(file(o_file), "log_[time2text(world.timeofday, "YYYY_MM_DD_(hh_mm)")].html")
// clean up the file on our end
spawn(10 SECONDS)
diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm
index ff5e6dbcfe..d4053e8e52 100644
--- a/code/modules/virus2/isolator.dm
+++ b/code/modules/virus2/isolator.dm
@@ -73,7 +73,7 @@
var/mob/living/carbon/human/D = B.data["donor"]
pathogen_pool.Add(list(list(\
- "name" = "[D.get_species()] [B.name]", \
+ "name" = "[istype(D) ? "[D.get_species()] " : ""][B.name]", \
"dna" = B.data["blood_DNA"], \
"unique_id" = V.uniqueID, \
"reference" = "\ref[V]", \
diff --git a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
index 4257afa1d6..e2c3a86b9d 100644
--- a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
+++ b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
@@ -68,8 +68,13 @@
var/mob/living/carbon/human/H = M
if(isTaurTail(H.tail_style))
- to_chat(src,"Too many legs. TOO MANY LEGS!!")
- return FALSE
+ var/datum/sprite_accessory/tail/taur/ridertype = H.tail_style
+ if(ridertype.can_ride)
+ if(istype(ridertype, /datum/sprite_accessory/tail/taur/naga) || istype(ridertype, /datum/sprite_accessory/tail/taur/slug))
+ to_chat(src,"Too few legs. TOO FEW LEGS!!")
+ return FALSE
+ to_chat(src,"Too many legs. TOO MANY LEGS!!")
+ return FALSE
. = ..()
if(.)
@@ -190,18 +195,18 @@
extra_overlay = "fatwolf_markings"
//icon_sprite_tag = "fatwolf2c"
-/datum/sprite_accessory/tail/taur/wolf/skunk
- name = "Skunk (Taur)"
- icon_state = "skunk_s"
- extra_overlay = "skunk_markings"
- icon_sprite_tag = "skunk"
-
/datum/sprite_accessory/tail/taur/wolf/synthwolf
name = "SynthWolf dual-color (Taur)"
icon_state = "synthwolf_s"
extra_overlay = "synthwolf_markings"
//icon_sprite_tag = "synthwolf"
+/datum/sprite_accessory/tail/taur/skunk
+ name = "Skunk (Taur)"
+ icon_state = "skunk_s"
+ extra_overlay = "skunk_markings"
+ icon_sprite_tag = "skunk"
+
/datum/sprite_accessory/tail/taur/naga
name = "Naga (Taur)"
icon_state = "naga_s"
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index fab6af6fca..247995a7e3 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -338,6 +338,8 @@
prey.forceMove(src)
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
for(var/mob/living/M in contents)
M.updateVRPanel()
@@ -506,6 +508,8 @@
//Update owner
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
//Digest a single item
//Receives a return value from digest_act that's how much nutrition
@@ -675,6 +679,8 @@
I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color)
items_preserved -= content
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
for(var/mob/living/M in contents)
M.updateVRPanel()
diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm
index e9b31904f9..d5eaeb4d25 100644
--- a/code/modules/vore/eating/bellymodes_vr.dm
+++ b/code/modules/vore/eating/bellymodes_vr.dm
@@ -230,4 +230,6 @@
if(M.client)
M.updateVRPanel()
if(owner.client)
- owner.updateVRPanel()
\ No newline at end of file
+ owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
\ No newline at end of file
diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm
index df59ffb35d..d5ec12ee85 100644
--- a/code/modules/vore/eating/digest_act_vr.dm
+++ b/code/modules/vore/eating/digest_act_vr.dm
@@ -28,7 +28,7 @@
if(g_damage > digest_stage)
g_damage = digest_stage
digest_stage -= g_damage
- else
+ if(digest_stage <= 0)
for(var/obj/item/O in contents)
if(istype(O,/obj/item/weapon/storage/internal)) //Dump contents from dummy pockets.
for(var/obj/item/SO in O)
@@ -38,6 +38,8 @@
else if(item_storage)
O.forceMove(item_storage)
qdel(src)
+ if(g_damage > w_class)
+ return w_class
return g_damage
/////////////
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index 9ca0ddf045..449d8cd336 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -187,14 +187,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
return FALSE
//Write it out
-#ifdef RUST_G
- call(RUST_G, "file_write")(json_to_file, path)
-#else
- // Fall back to using old format if we are not using rust-g
- if(fexists(path))
- fdel(path) //Byond only supports APPENDING to files, not replacing.
- text2file(json_to_file, path)
-#endif
+ rustg_file_write(json_to_file, path)
+
if(!fexists(path))
log_debug("Saving: [path] failed file write")
return FALSE
diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index 483d041297..b2d82a7066 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -1283,4 +1283,25 @@
overlay_icon = 'icons/obj/modular_laptop.dmi'
icon_state_unpowered = "shadowlaptop-open"
icon_state = "shadowlaptop-open"
- icon_state_closed = "shadowlaptop-closed"
\ No newline at end of file
+ icon_state_closed = "shadowlaptop-closed"
+
+//Rboys2 - Clara Mali
+/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask
+ name = "Clara's Vacuum Flask"
+ desc = "A rose gold vacuum flask."
+ base_name = "Clara's Vacuum Flask"
+ base_icon = "claraflask"
+ icon = 'icons/vore/custom_items_vr.dmi'
+ center_of_mass = list("x" = 15,"y" = 4)
+ filling_states = list(15, 30, 50, 60, 80, 100)
+ volume = 60
+
+/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask/Initialize()
+ . = ..()
+ reagents.add_reagent("tea", 40)
+ reagents.add_reagent("milk", 20)
+
+/obj/item/weapon/reagent_containers/food/drinks/glass2/fluff/claraflask/update_icon()
+ ..()
+ name = initial(name)
+ desc = initial(desc)
\ No newline at end of file
diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm
index 27fd388c5f..b121724219 100644
--- a/code/modules/xenoarcheaology/finds/find_spawning.dm
+++ b/code/modules/xenoarcheaology/finds/find_spawning.dm
@@ -551,7 +551,9 @@
var/obj/item/weapon/reagent_containers/syringe/S = new_item
S.volume = 30
- S.reagents.maximum_volume = 30
+ //If S hasn't initialized yet, S.reagents will be null.
+ //However, in that case Initialize will set the maximum volume to the volume for us, so we don't need to do anything.
+ S.reagents?.maximum_volume = 30
item_type = new_item.name
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 504472e334..fdd63290e7 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -111,6 +111,7 @@ h1.alert, h2.alert {color: #000000;}
.say_quote {font-family: Georgia, Verdana, sans-serif;}
.terminus {font-family: "Times New Roman", Times, serif, sans-serif}
.interface {color: #330033;}
+.spacer {color: #9c660b;}
.psionic {color: #993399;} /*YWedit*/
BIG IMG.icon {width: 32px; height: 32px;}
diff --git a/code/world.dm b/code/world.dm
index 1c43ce6132..8e76fd11d7 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -5,3 +5,4 @@
area = /area/space
view = "15x15"
cache_lifespan = 7
+ fps = 20 // If this isnt hard-defined, anything relying on this variable before world load will cry a lot
diff --git a/config/alienwhitelist.txt b/config/alienwhitelist.txt
index fa189b4b0b..3c32be398c 100644
--- a/config/alienwhitelist.txt
+++ b/config/alienwhitelist.txt
@@ -2,28 +2,32 @@ some~user - Species
admiraldragon - Vox
aetherelemental - Daemon
+alphaprime1 - Protean
+amarewolf - Xenochimera
arandomalien - Xenochimera
arokha - Protean
aruis - Diona
aruis - Xenochimera
-amarewolf - Xenochimera
azmodan412 - Xenochimera
-alphaprime1 - Protean
bothnevarbackwards - Diona
bricker98 - Protean
-crossexonar - Protean
-chillyfang - Black-Eyed Shadekin
cgr - Protean
+chargae - Protean
+chillyfang - Black-Eyed Shadekin
+crossexonar - Protean
+detectivegoogle - Protean
draycu - Vox
flaktual - Vox
-funnyman2003 - Xenochimera
flurriee - Protean
+funnyman2003 - Xenochimera
hawkerthegreat - Vox
hollifex - Diona
inuzari - Diona
jademanique - Xenochimera
-ktccd - Diona
khanivore - Protean
+killjaden - Protean
+ktccd - Diona
+magpiemayhem - Vox
mewchild - Diona
mewchild - Vox
mrsebbi - Xenochimera
@@ -34,22 +38,25 @@ oreganovulgaris - Xenochimera
paradoxspace - Xenochimera
pearlprophet - Protean
phoenixx0 - Vox
+radiantaurora - Protean
rapidvalj - Vox
rapidvalj - Common Skrellian
rapidvalj - High Skrellian
rikaru19xjenkins - Xenochimera
rixunie - Diona
-rykkastormheart - Xenochimera
rubyflamewing - Protean
-radiantaurora - Protean
+rykkastormheart - Xenochimera
ryumi - Protean
+scoutisafolflol - Xenochimera
seiga - Vox
sepulchre - Vox
+sharplight - Protean
silvertalismen - Diona
silvertalismen - Vox
silvertalismen - Xenochimera
+skylarks - Black-Eyed Shadekin
+stackerrobot - Protean
storesund97 - Protean
-sharplight - Protean
tastypred - Black-Eyed Shadekin
tastypred - Xenochimera
tastypred - Protean
@@ -64,4 +71,3 @@ xioen - Xenochimera
xonkon - Protean
zalvine - Shadekin Empathy
zammyman215 - Vox
-stackerrobot - Protean
diff --git a/html/changelogs/Meghan Rossi - borosilicate shard fix.yml b/html/changelogs/Meghan Rossi - borosilicate shard fix.yml
new file mode 100644
index 0000000000..491d3380aa
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - borosilicate shard fix.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Fixed borosilicate glass not producing shards in most situations."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml b/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml
new file mode 100644
index 0000000000..5932db7e4c
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Cooking a mouse into a mouseburger now uses up the mouse."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - isolator fix.yml b/html/changelogs/Meghan Rossi - isolator fix.yml
new file mode 100644
index 0000000000..4801a45890
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - isolator fix.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Blood from artifacts will no longer break the pathogenic isolator."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - poiareas.yml b/html/changelogs/Meghan Rossi - poiareas.yml
new file mode 100644
index 0000000000..2b845c8d26
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - poiareas.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Fixed some mountain POIs sometimes overlapping in odd ways"
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - tesla dissipation.yml b/html/changelogs/Meghan Rossi - tesla dissipation.yml
new file mode 100644
index 0000000000..2ee721ad9a
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - tesla dissipation.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - tweak: "The tesla energy ball will now eventually disappear if not kept charged with the particle accelerator"
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - the_teslagen.yml b/html/changelogs/Meghan Rossi - the_teslagen.yml
new file mode 100644
index 0000000000..ee59d5663e
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - the_teslagen.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - rscadd: "The Tesla Generator is now available from cargo. Coils and grounding rods for it may be printed on the protolathe and autolathe, respectively."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - wall machine layering.yml b/html/changelogs/Meghan Rossi - wall machine layering.yml
new file mode 100644
index 0000000000..1e3f903681
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - wall machine layering.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "If you place wall-mounted machines such as status displays on a window, they will no longer be hidden underneath the window."
\ No newline at end of file
diff --git a/html/changelogs/Runa Dacino - Exosuit gripper tweak.yml b/html/changelogs/Runa Dacino - Exosuit gripper tweak.yml
new file mode 100644
index 0000000000..fc17d241d0
--- /dev/null
+++ b/html/changelogs/Runa Dacino - Exosuit gripper tweak.yml
@@ -0,0 +1,37 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: N3X15
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Enabled research borgs equipped with 'exosuit gripper' to be able to replace internal exosuit parts like actuators, to upgrade or to repair"
+
diff --git a/html/changelogs/Woodrat - Vote.yml b/html/changelogs/Woodrat - Vote.yml
new file mode 100644
index 0000000000..78317ec750
--- /dev/null
+++ b/html/changelogs/Woodrat - Vote.yml
@@ -0,0 +1,36 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Woodrat
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - tweak: "Changes vote notification sound to that of World Server in order to help people realize there is a vote occurring."
diff --git a/html/changelogs/mechoid - butchery.yml b/html/changelogs/mechoid - butchery.yml
new file mode 100644
index 0000000000..433bf787e7
--- /dev/null
+++ b/html/changelogs/mechoid - butchery.yml
@@ -0,0 +1,37 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Mechoid
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Animals can be butchered for organs and hide. Requires scraping (sharp), washing (water or washing machine), and then drying (bonfire or drying rack)."
+ - rscadd: "Organs can be butchered for meat, named "[organ] meat". Heart meat, liver meat, etc. Brains from player mobs cannot be butchered."
diff --git a/icons/effects/lighting_overlay.dmi b/icons/effects/lighting_overlay.dmi
index bc3d25204c..80807db1e6 100644
Binary files a/icons/effects/lighting_overlay.dmi and b/icons/effects/lighting_overlay.dmi differ
diff --git a/icons/mecha/fighters64x64.dmi b/icons/mecha/fighters64x64.dmi
index 7240417552..6025a94c86 100644
Binary files a/icons/mecha/fighters64x64.dmi and b/icons/mecha/fighters64x64.dmi differ
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index 2d26351b98..585b658f99 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index d2be45594c..69842406d4 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/human_races/markings.dmi b/icons/mob/human_races/markings.dmi
index 46ed122c8f..f9f91da90b 100644
Binary files a/icons/mob/human_races/markings.dmi and b/icons/mob/human_races/markings.dmi differ
diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi
index 873d455872..673ba8deb6 100644
Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ
diff --git a/icons/mob/species/seromi/uniform.dmi b/icons/mob/species/seromi/uniform.dmi
index 88408e1f58..aab4dcfe06 100644
Binary files a/icons/mob/species/seromi/uniform.dmi and b/icons/mob/species/seromi/uniform.dmi differ
diff --git a/icons/mob/taursuits_wolf_vr.dmi b/icons/mob/taursuits_wolf_vr.dmi
index 0f638ea6d3..140e6de426 100644
Binary files a/icons/mob/taursuits_wolf_vr.dmi and b/icons/mob/taursuits_wolf_vr.dmi differ
diff --git a/icons/mob/uniform_1.dmi b/icons/mob/uniform_1.dmi
index 20749c8afc..27a67cb2ca 100644
Binary files a/icons/mob/uniform_1.dmi and b/icons/mob/uniform_1.dmi differ
diff --git a/icons/mob/vore_lamia.dmi b/icons/mob/vore_lamia.dmi
new file mode 100644
index 0000000000..d062b473fc
Binary files /dev/null and b/icons/mob/vore_lamia.dmi differ
diff --git a/icons/mob/widerobot_vr.dmi b/icons/mob/widerobot_vr.dmi
index 33381425cd..620a150254 100644
Binary files a/icons/mob/widerobot_vr.dmi and b/icons/mob/widerobot_vr.dmi differ
diff --git a/icons/obj/butchery.dmi b/icons/obj/butchery.dmi
new file mode 100644
index 0000000000..eef08d1aa7
Binary files /dev/null and b/icons/obj/butchery.dmi differ
diff --git a/icons/obj/closets/bases/wall_double.dmi b/icons/obj/closets/bases/wall_double.dmi
new file mode 100644
index 0000000000..e6b1a39271
Binary files /dev/null and b/icons/obj/closets/bases/wall_double.dmi differ
diff --git a/icons/obj/closets/decals/large_crate.dmi b/icons/obj/closets/decals/large_crate.dmi
index 2a9ff64380..4ced8d4f28 100644
Binary files a/icons/obj/closets/decals/large_crate.dmi and b/icons/obj/closets/decals/large_crate.dmi differ
diff --git a/icons/obj/closets/decals/wall.dmi b/icons/obj/closets/decals/wall.dmi
index 8d34c97d1a..8e5edd8148 100644
Binary files a/icons/obj/closets/decals/wall.dmi and b/icons/obj/closets/decals/wall.dmi differ
diff --git a/icons/obj/closets/decals/wall_double.dmi b/icons/obj/closets/decals/wall_double.dmi
new file mode 100644
index 0000000000..3649cd44ec
Binary files /dev/null and b/icons/obj/closets/decals/wall_double.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 6f8f14c6a2..8be6774832 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 7b397d3ead..473b6614e6 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/clothing/uniforms_1.dmi b/icons/obj/clothing/uniforms_1.dmi
index 32a55ec9c2..eba7fa299f 100644
Binary files a/icons/obj/clothing/uniforms_1.dmi and b/icons/obj/clothing/uniforms_1.dmi differ
diff --git a/icons/obj/drinks_vr.dmi b/icons/obj/drinks_vr.dmi
index 0f383a823f..280bf84cbd 100644
Binary files a/icons/obj/drinks_vr.dmi and b/icons/obj/drinks_vr.dmi differ
diff --git a/icons/obj/flora/amayastuff.dmi b/icons/obj/flora/amayastuff.dmi
new file mode 100644
index 0000000000..ed5196cd86
Binary files /dev/null and b/icons/obj/flora/amayastuff.dmi differ
diff --git a/icons/obj/flora/sifflora.dmi b/icons/obj/flora/sifflora.dmi
index 654ca02db9..ae29d4c0f4 100644
Binary files a/icons/obj/flora/sifflora.dmi and b/icons/obj/flora/sifflora.dmi differ
diff --git a/icons/obj/food_ingredients.dmi b/icons/obj/food_ingredients.dmi
index 0dd553ec94..4795180c2f 100644
Binary files a/icons/obj/food_ingredients.dmi and b/icons/obj/food_ingredients.dmi differ
diff --git a/icons/obj/food_syn.dmi b/icons/obj/food_syn.dmi
index 1104d4ddbf..f186b53089 100644
Binary files a/icons/obj/food_syn.dmi and b/icons/obj/food_syn.dmi differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index 21b649006c..33f220896e 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 24e8f9f541..dae925d5d9 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ
diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi
index 72a49c07c7..b83b49c93a 100644
Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ
diff --git a/icons/turf/areas_vr_talon.dmi b/icons/turf/areas_vr_talon.dmi
new file mode 100644
index 0000000000..0878adbfea
Binary files /dev/null and b/icons/turf/areas_vr_talon.dmi differ
diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi
index 4b4f56ebc3..4856d6c311 100644
Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 4c9af52e3b..2d2c42800d 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -53,6 +53,18 @@ macro "borghotkeymode"
elem
name = "SOUTH+REP"
command = ".movedown"
+ elem
+ name = "CTRL+SHIFT+NORTH"
+ command = "shiftnorth"
+ elem
+ name = "CTRL+SHIFT+SOUTH"
+ command = "shiftsouth"
+ elem
+ name = "CTRL+SHIFT+WEST"
+ command = "shiftwest"
+ elem
+ name = "CTRL+SHIFT+EAST"
+ command = "shifteast"
elem
name = "INSERT"
command = "a-intent right"
@@ -274,6 +286,18 @@ macro "macro"
elem
name = "SOUTH+REP"
command = ".movedown"
+ elem
+ name = "CTRL+SHIFT+NORTH"
+ command = "shiftnorth"
+ elem
+ name = "CTRL+SHIFT+SOUTH"
+ command = "shiftsouth"
+ elem
+ name = "CTRL+SHIFT+WEST"
+ command = "shiftwest"
+ elem
+ name = "CTRL+SHIFT+EAST"
+ command = "shifteast"
elem
name = "INSERT"
command = "a-intent right"
@@ -441,6 +465,18 @@ macro "hotkeymode"
elem
name = "SOUTH+REP"
command = ".movedown"
+ elem
+ name = "CTRL+SHIFT+NORTH"
+ command = "shiftnorth"
+ elem
+ name = "CTRL+SHIFT+SOUTH"
+ command = "shiftsouth"
+ elem
+ name = "CTRL+SHIFT+WEST"
+ command = "shiftwest"
+ elem
+ name = "CTRL+SHIFT+EAST"
+ command = "shifteast"
elem
name = "INSERT"
command = "a-intent right"
@@ -680,6 +716,18 @@ macro "borgmacro"
elem
name = "SOUTH+REP"
command = ".movedown"
+ elem
+ name = "CTRL+SHIFT+NORTH"
+ command = "shiftnorth"
+ elem
+ name = "CTRL+SHIFT+SOUTH"
+ command = "shiftsouth"
+ elem
+ name = "CTRL+SHIFT+WEST"
+ command = "shiftwest"
+ elem
+ name = "CTRL+SHIFT+EAST"
+ command = "shifteast"
elem
name = "INSERT"
command = "a-intent right"
@@ -1225,6 +1273,7 @@ window "mapwindow"
saved-params = "icon-size"
on-show = ".winset\"mainwindow.mainvsplit.left=mapwindow\""
on-hide = ".winset\"mainwindow.mainvsplit.left=\""
+ style=".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_srus {color: #7c4848;} .zombie {color: #ff0000;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .kidan {color: #664205;} .slime {color: #0077AA;} .drask {color: #a3d4eb;} .vulpkanin {color: #B97A57;} .abductor {color: #800080; font-style: italic;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }"
window "outputwindow"
elem "outputwindow"
diff --git a/librust_g.so b/librust_g.so
new file mode 100644
index 0000000000..3247fb19af
Binary files /dev/null and b/librust_g.so differ
diff --git a/maps/expedition_vr/space/_debrisfield.dm b/maps/expedition_vr/space/_debrisfield.dm
index 7b06a3bfcc..e8ffd87a0b 100644
--- a/maps/expedition_vr/space/_debrisfield.dm
+++ b/maps/expedition_vr/space/_debrisfield.dm
@@ -50,28 +50,167 @@
icon = 'icons/turf/areas_vr.dmi'
icon_state = "dark"
-/area/tether_away/debrisfield/explored
+/area/tether_away/debrisfield/shuttle_buffer //For space around shuttle landmarks to keep submaps from generating to block them
icon_state = "debrisexplored"
+ name = "\improper Space"
+ requires_power = 1
+ always_unpowered = 1
+ dynamic_lighting = 0
+ has_gravity = 0
+ power_light = 0
+ power_equip = 0
+ power_environ = 0
+ ambience = AMBIENCE_SPACE
+ flags = AREA_FLAG_IS_NOT_PERSISTENT
-/area/tether_away/debrisfield/unexplored
+/area/submap/debrisfield
+ icon = 'icons/turf/areas_vr.dmi'
icon_state = "debrisunexplored"
-/area/tether_away/debrisfield/derelict
+/area/submap/debrisfield/derelict
icon_state = "debrisexplored"
forced_ambience = list('sound/ambience/tension/tension.ogg', 'sound/ambience/tension/horror.ogg')
//TFF 26/12/19 - Sub-areas for the APCs.
-/area/tether_away/debrisfield/derelict/ai_access_port
+
+/area/submap/debrisfield/derelict/ai_access_port
name = "POI - Abandoned Derelict AI Acess Port"
-/area/tether_away/debrisfield/derelict/ai_access_starboard
+/area/submap/debrisfield/derelict/ai_access_starboard
name = "POI - Abandoned Derelict AI Access Starboard"
-/area/tether_away/debrisfield/derelict/ai_chamber
+/area/submap/debrisfield/derelict/ai_chamber
name = "POI - Abandoned Derelict AI Chamber"
-/area/tether_away/debrisfield/derelict/bridge
+/area/submap/debrisfield/derelict/bridge
name = "POI - Abandoned Derelict Bridge"
-/area/tether_away/debrisfield/derelict/interior
- name = "POI - Abandoned Derelict Interior"
\ No newline at end of file
+/area/submap/debrisfield/derelict/interior
+ name = "POI - Abandoned Derelict Interior"
+
+/area/submap/debrisfield/foodstand
+ name = "POI - Foodstand"
+
+/area/submap/debrisfield/sci_overrun
+ name = "POI - Overrun Science Ship"
+ requires_power = 0
+
+/area/submap/debrisfield/old_sat
+ name = "POI - Old Satellite"
+
+/area/submap/debrisfield/old_tele
+ name = "POI - Old Teleporter"
+
+/area/submap/debrisfield/mining_drone_ship
+ name = "POI - Disabled Mining Drone"
+ requires_power = 0
+
+/area/submap/debrisfield/mining_outpost
+ name = "POI - Destroyed Mining Outpost"
+
+/area/submap/debrisfield/tinyshuttle
+ secret_name = 0
+
+/area/submap/debrisfield/tinyshuttle/crew
+ name = "Crew Bay"
+
+/area/submap/debrisfield/tinyshuttle/bridge
+ name = "Bridge"
+
+/area/submap/debrisfield/tinyshuttle/hangar
+ name = "Hangar"
+ has_gravity = 0
+
+/area/submap/debrisfield/tinyshuttle/engine
+ name = "Systems Bay"
+
+/datum/shuttle/autodock/overmap/tinycarrier
+ name = "Debris Carrier"
+ warmup_time = 0
+ current_location = "debris_field_carrier_start"
+ docking_controller_tag = "debris_carrier_docker"
+ shuttle_area = list(/area/submap/debrisfield/tinyshuttle/crew, /area/submap/debrisfield/tinyshuttle/bridge, /area/submap/debrisfield/tinyshuttle/hangar, /area/submap/debrisfield/tinyshuttle/engine)
+ fuel_consumption = 3
+ defer_initialisation = TRUE
+ move_direction = WEST
+
+/obj/effect/shuttle_landmark/shuttle_initializer/tinycarrier
+ name = "Debris Field"
+ base_area = /area/space
+ base_turf = /turf/space
+ landmark_tag = "debris_field_carrier_start"
+ shuttle_type = /datum/shuttle/autodock/overmap/tinycarrier
+
+/obj/effect/shuttle_landmark/shuttle_initializer/tinycarrier/Initialize()
+ var/obj/effect/overmap/visitable/O = get_overmap_sector(get_z(src)) //make this into general system some other time
+ LAZYINITLIST(O.initial_restricted_waypoints)
+ O.initial_restricted_waypoints["Debris Carrier"] = list(landmark_tag)
+ . = ..()
+
+/obj/effect/overmap/visitable/ship/landable/tinycarrier
+ scanner_name = "TBD"
+ scanner_desc = "TBD"
+ vessel_mass = 12000
+ vessel_size = SHIP_SIZE_SMALL
+ shuttle = "Debris Carrier"
+
+/obj/effect/overmap/visitable/ship/landable/tinycarrier/Initialize()
+ . = ..()
+ var/datum/lore/organization/O = loremaster.organizations[/datum/lore/organization/other/sysdef]
+ var/newname = "SDV [pick(O.ship_names)]"
+ scanner_name = newname
+ scanner_desc = {"\[i\]Registration\[/i\]: [newname]
+\[i\]Class\[/i\]: Light Escort Carrier
+\[i\]Transponder\[/i\]: Transmitting (MIL), Weak Signal
+\[b\]Notice\[/b\]: Registration Expired"}
+ rename_areas(newname)
+
+/obj/effect/overmap/visitable/ship/landable/tinycarrier/proc/rename_areas(newname)
+ if(!SSshuttles.subsystem_initialized)
+ spawn(300)
+ rename_areas(newname)
+ return
+ var/datum/shuttle/S = SSshuttles.shuttles[shuttle]
+ for(var/area/A in S.shuttle_area)
+ A.name = "[newname] [initial(A.name)]"
+ if(A.apc)
+ A.apc.name = "[A.name] APC"
+ A.air_vent_names = list()
+ A.air_scrub_names = list()
+ A.air_vent_info = list()
+ A.air_scrub_info = list()
+ for(var/obj/machinery/alarm/AA in A)
+ AA.name = "[A.name] Air Alarm"
+
+/obj/machinery/computer/shuttle_control/explore/tinycarrier
+ shuttle_tag = "Debris Carrier"
+ req_one_access = list()
+
+/obj/mecha/combat/fighter/baron/loaded/busted
+ starting_components = list(/obj/item/mecha_parts/component/hull/lightweight,/obj/item/mecha_parts/component/actuator/hispeed,/obj/item/mecha_parts/component/armor,/obj/item/mecha_parts/component/gas,/obj/item/mecha_parts/component/electrical/high_current)
+
+/obj/mecha/combat/fighter/baron/loaded/busted/Initialize()
+ . = ..()
+ health = round(rand(50,120))
+ cell?.charge = 0
+ for(var/slot in internal_components)
+ var/obj/item/mecha_parts/component/comp = internal_components[slot]
+ if(!istype(comp))
+ continue
+ comp.adjust_integrity(-(round(rand(comp.max_integrity - 10, 0))))
+
+ setInternalDamage(MECHA_INT_SHORT_CIRCUIT)
+
+/obj/structure/fuel_port/empty_tank/Initialize()
+ . = ..()
+ var/obj/item/weapon/tank/phoron/T = locate() in src
+ if(T)
+ T.air_contents.remove(T.air_contents.total_moles)
+
+/area/submap/debrisfield/misc_debris //for random bits of debris that should use dynamic lights
+ requires_power = 1
+ always_unpowered = 1
+ has_gravity = 0
+ power_light = 0
+ power_equip = 0
+ power_environ = 0
diff --git a/maps/expedition_vr/space/_fueldepot.dm b/maps/expedition_vr/space/_fueldepot.dm
index 4ec3236dd0..1f3241aee7 100644
--- a/maps/expedition_vr/space/_fueldepot.dm
+++ b/maps/expedition_vr/space/_fueldepot.dm
@@ -35,4 +35,10 @@
/turf/simulated/floor/tiled/techmaint/airless
oxygen = 0
nitrogen = 0
- temperature = TCMB
\ No newline at end of file
+ temperature = TCMB
+
+/obj/machinery/atmospherics/pipe/tank/phoron/full
+ start_pressure = 15000
+
+/obj/machinery/atmospherics/pipe/tank/air/full
+ start_pressure = 15000
diff --git a/maps/expedition_vr/space/debrisfield.dmm b/maps/expedition_vr/space/debrisfield.dmm
index fd72f30720..55d00b93ec 100644
--- a/maps/expedition_vr/space/debrisfield.dmm
+++ b/maps/expedition_vr/space/debrisfield.dmm
@@ -1,35 +1,32 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
-/turf/space,
-/area/tether_away/debrisfield/unexplored)
-"b" = (
-/turf/space,
-/area/tether_away/debrisfield/explored)
-"c" = (
/obj/effect/overmap/visitable/sector/debrisfield,
/turf/space,
-/area/tether_away/debrisfield/explored)
-"h" = (
-/turf/space,
/area/space)
-"N" = (
+"b" = (
/obj/effect/shuttle_landmark{
- base_area = /area/tether_away/debrisfield/explored;
+ base_area = /area/tether_away/debrisfield/shuttle_buffer;
base_turf = /turf/space;
landmark_tag = "debrisfield_nw";
name = "North West"
},
/turf/space,
-/area/tether_away/debrisfield/explored)
-"Z" = (
+/area/tether_away/debrisfield/shuttle_buffer)
+"c" = (
/obj/effect/shuttle_landmark{
- base_area = /area/tether_away/debrisfield/explored;
+ base_area = /area/tether_away/debrisfield/shuttle_buffer;
base_turf = /turf/space;
landmark_tag = "debrisfield_se";
name = "South East"
},
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"h" = (
+/turf/space,
+/area/space)
(1,1,1) = {"
h
@@ -175,19598 +172,19598 @@ h
"}
(2,1,1) = {"
h
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-c
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+a
h
"}
(3,1,1) = {"
h
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(4,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(5,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(6,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(7,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(8,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(9,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(10,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(11,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(12,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(13,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(14,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(15,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(16,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(17,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(18,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(19,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(20,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(21,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(22,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(23,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(24,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(25,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(26,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(27,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(28,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(29,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(30,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(31,1,1) = {"
h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-N
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(32,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(33,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(34,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(35,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(36,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(37,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(38,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(39,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(40,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(41,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(42,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(43,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(44,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(45,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(46,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(47,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(48,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(49,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(50,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(51,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(52,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(53,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(54,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(55,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(56,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(57,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(58,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(59,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(60,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(61,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(62,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(63,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(64,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(65,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(66,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(67,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(68,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(69,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(70,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(71,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(72,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(73,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(74,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(75,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(76,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(77,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(78,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(79,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(80,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(81,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(82,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(83,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(84,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(85,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(86,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(87,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(88,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(89,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(90,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(91,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(92,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(93,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(94,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(95,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(96,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(97,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(98,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(99,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(100,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(101,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(102,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(103,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(104,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(105,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(106,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(107,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(108,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(109,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(110,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(111,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(112,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(113,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(114,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(115,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(116,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(117,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(118,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(119,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(120,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(121,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(122,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(123,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(124,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(125,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-Z
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+c
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(126,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(127,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(128,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(129,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(130,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+h
+h
+h
+h
+h
+h
h
"}
(131,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(132,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(133,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(134,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(135,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(136,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(137,1,1) = {"
h
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(138,1,1) = {"
h
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(139,1,1) = {"
h
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
h
"}
(140,1,1) = {"
diff --git a/maps/expedition_vr/space/fueldepot.dmm b/maps/expedition_vr/space/fueldepot.dmm
index 86e6cee6c0..381d051574 100644
--- a/maps/expedition_vr/space/fueldepot.dmm
+++ b/maps/expedition_vr/space/fueldepot.dmm
@@ -644,7 +644,7 @@
/turf/simulated/shuttle/plating/airless,
/area/tether_away/fueldepot)
"bo" = (
-/obj/machinery/atmospherics/pipe/tank/phoron,
+/obj/machinery/atmospherics/pipe/tank/phoron/full,
/obj/effect/floor_decal/industrial/outline/red,
/turf/simulated/floor/tiled/techmaint/airless,
/area/tether_away/fueldepot)
@@ -1124,7 +1124,7 @@
/turf/simulated/shuttle/plating/airless,
/area/tether_away/fueldepot)
"cn" = (
-/obj/machinery/atmospherics/pipe/tank/air{
+/obj/machinery/atmospherics/pipe/tank/air/full{
icon_state = "air_map";
dir = 1
},
diff --git a/maps/offmap_vr/om_ships/gecko_cr.dmm b/maps/offmap_vr/om_ships/gecko_cr.dmm
index 5d2dab7401..3bc59b8e4f 100644
--- a/maps/offmap_vr/om_ships/gecko_cr.dmm
+++ b/maps/offmap_vr/om_ships/gecko_cr.dmm
@@ -63,7 +63,9 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_engineering)
"bJ" = (
-/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
@@ -177,8 +179,10 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/hatch,
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_engineering)
"eD" = (
@@ -499,12 +503,14 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_cockpit)
"kU" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 4
},
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_engineering)
"lg" = (
@@ -814,7 +820,6 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit)
"qh" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular{
density = 0;
dir = 4;
@@ -824,6 +829,9 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr)
"qx" = (
@@ -1401,8 +1409,10 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr)
"Br" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_cockpit)
"BH" = (
@@ -1480,6 +1490,15 @@
},
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_engineering)
+"Cs" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/gecko_cr_cockpit)
"Ct" = (
/obj/effect/floor_decal/industrial/warning/corner,
/obj/machinery/airlock_sensor{
@@ -1901,7 +1920,9 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit)
"JE" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_cr_cockpit)
"JL" = (
@@ -1962,7 +1983,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_cr_cockpit)
"KA" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
@@ -1971,6 +1991,9 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit)
"KS" = (
@@ -2223,7 +2246,6 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit)
"OJ" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
density = 0;
@@ -2233,6 +2255,9 @@
name = "Blast Shields";
opacity = 0
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr)
"ON" = (
@@ -2459,7 +2484,6 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr)
"RB" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
@@ -2476,6 +2500,9 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr)
"RG" = (
@@ -2848,7 +2875,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_cr_engineering)
"Xs" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
density = 0;
@@ -2858,6 +2884,9 @@
name = "Blast Shields";
opacity = 0
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_cr_engineering)
"XJ" = (
@@ -3432,7 +3461,7 @@ Mf
zE
Gs
fe
-bJ
+Cs
dS
jT
kI
@@ -3690,7 +3719,7 @@ HJ
Iz
XU
mY
-bJ
+Cs
Ct
NE
Jn
diff --git a/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm b/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm
index 1e1616251f..d2b574efa3 100644
--- a/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm
+++ b/maps/offmap_vr/om_ships/gecko_cr_wreck.dmm
@@ -66,10 +66,12 @@
/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_engineering_wreck)
"bJ" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit_wreck)
"bL" = (
@@ -477,7 +479,7 @@
icon_state = "door_open";
opacity = 0
},
-/turf/simulated/floor/tiled/techmaint,
+/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_cockpit_wreck)
"kn" = (
/obj/effect/floor_decal/industrial/warning{
@@ -838,13 +840,15 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit_wreck)
"qh" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular{
dir = 4;
id = "gecko_wreck_cr_blast";
name = "Blast Shields"
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_wreck)
"qx" = (
@@ -1352,8 +1356,10 @@
/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_wreck)
"Br" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_cockpit_wreck)
"BC" = (
@@ -1818,7 +1824,9 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit_wreck)
"JE" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_cr_cockpit_wreck)
"JL" = (
@@ -1879,7 +1887,6 @@
},
/area/shuttle/gecko_cr_cockpit_wreck)
"KA" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
@@ -1888,6 +1895,9 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit_wreck)
"KS" = (
@@ -2044,12 +2054,14 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_cr_cockpit_wreck)
"NG" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 4
},
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_engineering_wreck)
"NI" = (
@@ -2232,13 +2244,15 @@
/turf/simulated/floor/reinforced/airless,
/area/shuttle/gecko_cr_wreck)
"Pv" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
dir = 4;
id = "gecko_wreck_cr_blast";
name = "Blast Shields"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_cr_wreck)
"Px" = (
@@ -2410,7 +2424,6 @@
/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_wreck)
"RB" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
@@ -2424,6 +2437,9 @@
name = "Blast Shields"
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor{
nitrogen = 0;
oxygen = 0
@@ -2797,8 +2813,10 @@
},
/area/shuttle/gecko_cr_engineering_wreck)
"Xs" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor{
nitrogen = 0;
oxygen = 0
@@ -2891,7 +2909,7 @@
opacity = 0
},
/obj/structure/grille/broken,
-/turf/simulated/floor/plating,
+/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_cockpit_wreck)
"Zb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
@@ -2951,8 +2969,10 @@
name = "Blast Shields"
},
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/hatch,
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/airless,
/area/shuttle/gecko_cr_engineering_wreck)
"Zs" = (
diff --git a/maps/offmap_vr/om_ships/gecko_sh.dmm b/maps/offmap_vr/om_ships/gecko_sh.dmm
index c50673fe9a..c2a0dbec4e 100644
--- a/maps/offmap_vr/om_ships/gecko_sh.dmm
+++ b/maps/offmap_vr/om_ships/gecko_sh.dmm
@@ -237,8 +237,10 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/airlock/hatch,
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"ec" = (
@@ -289,10 +291,12 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh_cockpit)
"eP" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"fe" = (
@@ -500,7 +504,6 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"kJ" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 4
@@ -513,15 +516,20 @@
opacity = 0
},
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"kU" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 4
},
/obj/structure/catwalk,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"lh" = (
@@ -738,8 +746,10 @@
/turf/simulated/wall/rshull,
/area/shuttle/gecko_sh)
"qh" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"qx" = (
@@ -860,7 +870,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh)
"rY" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
density = 0;
@@ -870,6 +879,9 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh)
"sB" = (
@@ -897,7 +909,6 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"sS" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular{
density = 0;
dir = 4;
@@ -907,6 +918,9 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh)
"te" = (
@@ -925,7 +939,6 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh)
"tM" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/blast/regular{
density = 0;
dir = 4;
@@ -935,6 +948,9 @@
opacity = 0
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"tP" = (
@@ -1079,7 +1095,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh)
"xc" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
@@ -1088,6 +1103,9 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"xd" = (
@@ -1307,7 +1325,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh)
"Br" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
density = 0;
@@ -1316,6 +1333,9 @@
name = "Blast Shields";
opacity = 0
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh)
"Bz" = (
@@ -1811,7 +1831,9 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"JE" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh_cockpit)
"Kn" = (
@@ -1856,10 +1878,12 @@
/turf/simulated/floor/plating,
/area/shuttle/gecko_sh_engineering)
"Lc" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh_cockpit)
"Lf" = (
@@ -2257,7 +2281,6 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh)
"RB" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
@@ -2266,6 +2289,9 @@
icon_state = "1-2"
},
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/gecko_sh_engineering)
"RG" = (
@@ -2560,7 +2586,6 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh_engineering)
"Xs" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/blast/regular{
density = 0;
@@ -2570,6 +2595,9 @@
name = "Blast Shields";
opacity = 0
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/gecko_sh_engineering)
"XJ" = (
diff --git a/maps/offmap_vr/om_ships/mackerel_hc.dmm b/maps/offmap_vr/om_ships/mackerel_hc.dmm
index 63ff651cda..2bc1ccf030 100644
--- a/maps/offmap_vr/om_ships/mackerel_hc.dmm
+++ b/maps/offmap_vr/om_ships/mackerel_hc.dmm
@@ -63,7 +63,9 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/mackerel_hc)
"cv" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc)
"cD" = (
@@ -300,7 +302,10 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/mackerel_hc)
"uR" = (
-/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc)
"we" = (
@@ -371,13 +376,15 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_hc)
"BN" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc)
"BP" = (
diff --git a/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm b/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm
index 83a9170b7a..0fd66f642e 100644
--- a/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm
+++ b/maps/offmap_vr/om_ships/mackerel_hc_skel.dmm
@@ -69,7 +69,9 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_hc_skel_eng)
"cv" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc_skel_cockpit)
"cD" = (
@@ -411,7 +413,6 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_hc_skel)
"uR" = (
-/obj/machinery/door/airlock/hatch,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -428,6 +429,9 @@
d2 = 8;
icon_state = "2-8"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc_skel_cockpit)
"we" = (
@@ -503,13 +507,15 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_hc_skel)
"BN" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_hc_skel_eng)
"BP" = (
diff --git a/maps/offmap_vr/om_ships/mackerel_lc.dmm b/maps/offmap_vr/om_ships/mackerel_lc.dmm
index b1d65389bb..03d853964d 100644
--- a/maps/offmap_vr/om_ships/mackerel_lc.dmm
+++ b/maps/offmap_vr/om_ships/mackerel_lc.dmm
@@ -22,7 +22,9 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_lc)
"bw" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc)
"bI" = (
@@ -43,13 +45,15 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc)
"cg" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc)
"cv" = (
@@ -314,7 +318,10 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/mackerel_lc)
"ug" = (
-/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc)
"um" = (
diff --git a/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm b/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm
index fa1ccb1128..418b6a416a 100644
--- a/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm
+++ b/maps/offmap_vr/om_ships/mackerel_lc_wreck.dmm
@@ -26,7 +26,9 @@
/turf/simulated/floor/airless,
/area/shuttle/mackerel_lc_wreck)
"bw" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint/airless,
/area/shuttle/mackerel_lc_wreck)
"bI" = (
@@ -54,13 +56,15 @@
/turf/simulated/floor/airless,
/area/shuttle/mackerel_lc_wreck)
"cg" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc_wreck)
"cv" = (
@@ -329,8 +333,10 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/mackerel_lc_wreck)
"ug" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_lc_wreck)
"um" = (
diff --git a/maps/offmap_vr/om_ships/mackerel_sh.dmm b/maps/offmap_vr/om_ships/mackerel_sh.dmm
index de0c58a95c..7511ece7da 100644
--- a/maps/offmap_vr/om_ships/mackerel_sh.dmm
+++ b/maps/offmap_vr/om_ships/mackerel_sh.dmm
@@ -22,7 +22,9 @@
/turf/simulated/floor/plating,
/area/shuttle/mackerel_sh)
"bw" = (
-/obj/machinery/computer/ship/helm,
+/obj/machinery/computer/ship/helm{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_sh)
"bI" = (
@@ -43,13 +45,15 @@
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_sh)
"cg" = (
-/obj/machinery/door/airlock/hatch,
/obj/machinery/door/firedoor/glass,
/obj/structure/cable{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_sh)
"cv" = (
@@ -324,7 +328,10 @@
/turf/simulated/floor/tiled/techfloor,
/area/shuttle/mackerel_sh)
"ug" = (
-/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/tiled/techmaint,
/area/shuttle/mackerel_sh)
"um" = (
diff --git a/maps/offmap_vr/om_ships/salamander.dm b/maps/offmap_vr/om_ships/salamander.dm
new file mode 100644
index 0000000000..8dbd5d53c3
--- /dev/null
+++ b/maps/offmap_vr/om_ships/salamander.dm
@@ -0,0 +1,211 @@
+// Compile in the map for CI testing if we're testing compileability of all the maps
+#if MAP_TEST
+#include "salamander.dmm"
+#endif
+
+// Map template for spawning the shuttle
+/datum/map_template/om_ships/salamander
+ name = "OM Ship - Salamander Corvette"
+ desc = "A medium multirole spacecraft."
+ mappath = 'salamander.dmm'
+ annihilate = TRUE
+
+// Map template for spawning the shuttle
+/datum/map_template/om_ships/salamander_wreck
+ name = "OM Ship - Salamander Corvette Wreckage"
+ desc = "A medium multirole spacecraft, or at least what's left of it."
+ mappath = 'salamander_wreck.dmm'
+ annihilate = TRUE
+
+// The shuttle's area(s)
+/area/shuttle/salamander
+ name = "\improper Salamander Cabin"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_engineering
+ name = "\improper Salamander Engineering"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "yellow"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_cockpit
+ name = "\improper Salamander Cockpit"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "blue"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_q1
+ name = "\improper Salamander Quarters 1"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray-p"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_q2
+ name = "\improper Salamander Quarters 2"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray-p"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_galley
+ name = "\improper Salamander Galley"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "dark-s"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_head
+ name = "\improper Salamander Head"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "dark-p"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck
+ name = "\improper Wrecked Salamander Cabin"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_engineering
+ name = "\improper Wrecked Salamander Engineering"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "yellow"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_cockpit
+ name = "\improper Wrecked Salamander Cockpit"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "blue"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_q1
+ name = "\improper Wrecked Salamander Quarters 1"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray-p"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_q2
+ name = "\improper Wrecked Salamander Quarters 2"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "gray-p"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_galley
+ name = "\improper Wrecked Salamander Galley"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "dark-s"
+ requires_power = 1
+ has_gravity = 0
+
+/area/shuttle/salamander_wreck_head
+ name = "\improper Wrecked Salamander Head"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "dark-p"
+ requires_power = 1
+ has_gravity = 0
+
+// The shuttle's 'shuttle' computer
+/obj/machinery/computer/shuttle_control/explore/salamander
+ name = "short jump console"
+ shuttle_tag = "Salamander"
+ req_one_access = list()
+
+// The shuttle's 'shuttle' computer
+/obj/machinery/computer/shuttle_control/explore/salamander_wreck
+ name = "short jump console"
+ shuttle_tag = "Salamander Wreckage"
+ req_one_access = list()
+
+// The 'shuttle'
+/datum/shuttle/autodock/overmap/salamander
+ name = "Salamander"
+ current_location = "omship_spawn_salamander"
+ docking_controller_tag = "salamander_docking"
+ shuttle_area = list(/area/shuttle/salamander,/area/shuttle/salamander_cockpit,/area/shuttle/salamander_engineering,/area/shuttle/salamander_q1,/area/shuttle/salamander_q2,/area/shuttle/salamander_galley,/area/shuttle/salamander_head)
+ defer_initialisation = TRUE //We're not loaded until an admin does it
+ fuel_consumption = 5
+ ceiling_type = /turf/simulated/floor/reinforced/airless
+
+// A shuttle lateloader landmark
+/obj/effect/shuttle_landmark/shuttle_initializer/salamander
+ name = "ITV Salamander"
+ base_area = /area/space
+ base_turf = /turf/space
+ landmark_tag = "omship_spawn_salamander"
+ shuttle_type = /datum/shuttle/autodock/overmap/salamander
+
+// The 'ship'
+/obj/effect/overmap/visitable/ship/landable/salamander
+ scanner_name = "Salamander-class Corvette"
+ scanner_desc = @{"[i]Registration[/i]: ITV Independence
+[i]Class[/i]: Corvette
+[i]Transponder[/i]: Transmitting (CIV), non-hostile
+[b]Notice[/b]: Multirole independent vessel"}
+ color = "#00AA00" //green, because money
+ vessel_mass = 4500
+ vessel_size = SHIP_SIZE_LARGE
+ fore_dir = EAST
+ shuttle = "Salamander"
+
+// The 'shuttle'
+/datum/shuttle/autodock/overmap/salamander_wreck
+ name = "Salamander Wreckage"
+ current_location = "omship_spawn_salamander_wreck"
+ docking_controller_tag = "salamander_docking_wreck"
+ shuttle_area = list(/area/shuttle/salamander_wreck,/area/shuttle/salamander_wreck_cockpit,/area/shuttle/salamander_wreck_engineering,/area/shuttle/salamander_wreck_q1,/area/shuttle/salamander_wreck_q2,/area/shuttle/salamander_wreck_galley,/area/shuttle/salamander_wreck_head)
+ defer_initialisation = TRUE //We're not loaded until an admin does it
+ fuel_consumption = 5
+ ceiling_type = /turf/simulated/floor/reinforced/airless
+
+// A shuttle lateloader landmark
+/obj/effect/shuttle_landmark/shuttle_initializer/salamander_wreck
+ name = "ITV Unity"
+ base_area = /area/space
+ base_turf = /turf/space
+ landmark_tag = "omship_spawn_salamander_wreck"
+ shuttle_type = /datum/shuttle/autodock/overmap/salamander_wreck
+
+// The 'ship'
+/obj/effect/overmap/visitable/ship/landable/salamander_wreck
+ scanner_name = "Wrecked Salamander-class Corvette"
+ scanner_desc = @{"[i]Registration[/i]: ITV Unity
+[i]Class[/i]: Corvette
+[i]Transponder[/i]: Not Transmitting
+[b]Notice[/b]: Damage to hull is consistent with intentional scuttling procedures, no distress call logged"}
+ color = "#008800" //green, because money
+ vessel_mass = 4500
+ vessel_size = SHIP_SIZE_LARGE
+ fore_dir = EAST
+ shuttle = "Salamander Wreckage"
+
+/obj/item/weapon/paper/unity_notice
+ name = "hastily-scrawled missive"
+ info = {"The writing on this scrap of paper is barely legible. Whoever wrote it was clearly in a hurry. \
+ \
+to who(m)ever finds this, \
+whatever they tell (told?) you, this kinda job is never worth the pay \
+i swear they packed some bullshit amongst the rest of the cargo when we werent looking \
+like they wanted us to get caught by port authorities or something! \
+so we are bailing on the whole contract, captains orders \
+dont bother looking for that 'bullshit' i mentioned, we made sure nobody is gonna find it \
+sent it out into the black \
+or maybe the sun \
+one of the two \
+ \
+stay safe out there and always double check who you sign with \
+ \
+rest of the cargo is covered by insurance anyway, so help yourself/ves i guess \
+ \
+-M"}
\ No newline at end of file
diff --git a/maps/offmap_vr/om_ships/salamander.dmm b/maps/offmap_vr/om_ships/salamander.dmm
new file mode 100644
index 0000000000..933058d6c6
--- /dev/null
+++ b/maps/offmap_vr/om_ships/salamander.dmm
@@ -0,0 +1,2638 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ab" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"aK" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/machinery/airlock_sensor/airlock_exterior/shuttle{
+ dir = 1;
+ pixel_x = 24;
+ pixel_y = 11
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"aL" = (
+/obj/effect/shuttle_landmark/shuttle_initializer/salamander,
+/obj/effect/overmap/visitable/ship/landable/salamander,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 4;
+ id_tag = "salamander_docking_port";
+ name = "Port Airlock Control";
+ pixel_x = -22;
+ req_one_access = list(160)
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"bk" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "salamander_pd"
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_q2)
+"br" = (
+/obj/structure/window/reinforced/tinted,
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"bu" = (
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -21;
+ req_one_access = list(160)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"bA" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"bH" = (
+/obj/structure/closet/crate,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"bI" = (
+/obj/structure/bed/chair/bay/chair,
+/obj/structure/handrail,
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"bK" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/effect/floor_decal/industrial/outline/blue,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"bL" = (
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"bN" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"bP" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ dir = 4;
+ pixel_x = 28
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"bY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_engineering)
+"ci" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_q2)
+"cq" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/power/apc{
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"cC" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/curtain/open/shower,
+/obj/structure/window/reinforced/tinted{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"cX" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"cY" = (
+/obj/structure/fitness/weightlifter,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"dj" = (
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"dm" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"dn" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"dO" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_head)
+"dT" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"ee" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"eg" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"ey" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"eB" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 4;
+ pixel_x = -26
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"eG" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"eJ" = (
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/machinery/airlock_sensor{
+ dir = 8;
+ pixel_x = 21;
+ req_one_access = list(160)
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"eP" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_head)
+"fh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/item/clothing/shoes/boots/workboots,
+/obj/item/clothing/gloves/duty,
+/obj/item/clothing/under/utility,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/clothing/head/soft/black,
+/obj/structure/closet/walllocker_double/north{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"fn" = (
+/obj/machinery/atmospherics/unary/engine/bigger{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"fB" = (
+/obj/machinery/light,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"fC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"fD" = (
+/obj/machinery/atmospherics/binary/pump/fuel{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"fE" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"fG" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"fP" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 10
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/railing/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"fR" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 6
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"fX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"fZ" = (
+/obj/item/device/suit_cooling_unit,
+/obj/item/weapon/tank/air,
+/obj/item/clothing/suit/space/void/refurb,
+/obj/item/clothing/head/helmet/space/void/refurb,
+/obj/structure/handrail,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/closet/walllocker_double/north{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"gl" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"gv" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28
+ },
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/handrail,
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/closet/autolok_wall{
+ pixel_y = 32
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"gC" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"gD" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/machinery/atmospherics/portables_connector/fuel{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/phoron{
+ start_pressure = 8000.25
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"gL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"gM" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"hh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"hn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/clothing/shoes/boots/workboots,
+/obj/item/clothing/gloves/duty,
+/obj/item/clothing/under/utility,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/clothing/head/soft/black,
+/obj/structure/closet/walllocker_double/north{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"hp" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"hr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"hC" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/railing/grey,
+/obj/machinery/atmospherics/pipe/tank/phoron{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"hO" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/window/brigdoor/westleft{
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"if" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/obj/structure/railing/grey,
+/obj/machinery/computer/ship/engines{
+ dir = 4;
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"ii" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"im" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"is" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_engineering)
+"iC" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"iJ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"iK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"iL" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ req_access = list();
+ req_one_access = list(160)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"iS" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"iW" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"jl" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"jq" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/cigarettes,
+/obj/random/drinkbottle,
+/obj/random/drinkbottle,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"jT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"jV" = (
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 2;
+ req_one_access = list(160)
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"ks" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"kx" = (
+/obj/machinery/atmospherics/binary/pump/fuel,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"kK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"kL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 4;
+ pixel_x = 32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"kU" = (
+/obj/machinery/suit_cycler/vintage/omni,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"kZ" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 9
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"lc" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 5
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"ld" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_q2)
+"ll" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 4;
+ pixel_x = -26
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 1;
+ pixel_y = -32
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"lo" = (
+/obj/machinery/computer/ship/engines{
+ dir = 1;
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"lt" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"lw" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"lC" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"lK" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"lV" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/item/weapon/tank/phoron/pressurized,
+/obj/item/weapon/tank/phoron/pressurized,
+/obj/structure/closet/walllocker{
+ dir = 1;
+ name = "Spare Fuel";
+ pixel_y = -32
+ },
+/obj/item/weapon/tool/crowbar/red,
+/obj/item/stack/material/tritium{
+ amount = 25
+ },
+/obj/machinery/light,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"ma" = (
+/obj/structure/cable,
+/obj/machinery/power/smes/buildable/point_of_interest,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"mg" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/machinery/airlock_sensor/airlock_exterior/shuttle{
+ pixel_x = 24;
+ pixel_y = -11
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"mm" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"mE" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/cigarettes,
+/obj/random/drinkbottle,
+/obj/random/drinkbottle,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"mJ" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/medical,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/cigarettes,
+/obj/random/drinkbottle,
+/obj/random/drinkbottle,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"mO" = (
+/obj/machinery/light,
+/obj/random/firstaid,
+/obj/random/firstaid,
+/obj/random/firstaid,
+/obj/random/firstaid,
+/obj/random/firstaid,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/cigarettes,
+/obj/random/drinkbottle,
+/obj/random/drinkbottle,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"mR" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_galley)
+"mY" = (
+/obj/machinery/computer/ship/sensors{
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"nB" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"nE" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"nH" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_cockpit)
+"nP" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"nX" = (
+/obj/structure/closet/crate{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"oa" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/empty,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"oc" = (
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list(160)
+ },
+/obj/machinery/door/firedoor/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"oe" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/int_door,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"oi" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"ot" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"oC" = (
+/obj/machinery/pointdefense_control{
+ id_tag = "salamander_pd";
+ name = "salamander defense control";
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"oF" = (
+/obj/structure/bed/pod,
+/obj/item/weapon/bedsheet/blue,
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = 22
+ },
+/obj/effect/landmark/late_antag/trader,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"oI" = (
+/obj/structure/closet/autolok_wall{
+ pixel_y = 32
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"oL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"pf" = (
+/obj/structure/handrail,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"px" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"pG" = (
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/window/brigdoor/eastleft{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"pH" = (
+/obj/machinery/atmospherics/unary/vent_pump{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/structure/closet/walllocker/emerglocker/east,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"qg" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"qh" = (
+/obj/machinery/computer/shuttle_control/explore/salamander{
+ dir = 8;
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"qn" = (
+/obj/structure/bed/chair/bay/chair,
+/obj/structure/handrail,
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"qu" = (
+/obj/structure/table/steel,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = -22
+ },
+/obj/random/pizzabox,
+/obj/structure/closet/walllocker_double/kitchen/south,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"qx" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"qE" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"qM" = (
+/obj/structure/closet/crate{
+ dir = 8
+ },
+/obj/random/multiple/voidsuit/vintage,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"qQ" = (
+/obj/structure/closet/crate{
+ dir = 8
+ },
+/obj/random/material/refined,
+/obj/random/material/refined,
+/obj/random/toolbox,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"ri" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"rj" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"rt" = (
+/obj/structure/bed/chair/bay/chair{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "trade";
+ name = "Shop Shutters";
+ pixel_y = -26;
+ req_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"rw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"ry" = (
+/obj/machinery/door/window/brigdoor/eastright{
+ req_access = list();
+ req_one_access = list(160)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"sb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_engineering)
+"tA" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "salamander_pd"
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"ur" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"vi" = (
+/obj/structure/table/steel,
+/obj/machinery/microwave/advanced,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/machinery/light,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"vI" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"wF" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"xL" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/item/clothing/shoes/boots/workboots,
+/obj/item/clothing/gloves/duty,
+/obj/item/clothing/under/utility,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/clothing/head/soft/black,
+/obj/structure/closet/walllocker_double/south{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"yv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light,
+/obj/item/clothing/shoes/boots/workboots,
+/obj/item/clothing/gloves/duty,
+/obj/item/clothing/under/utility,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/clothing/head/soft/black,
+/obj/structure/closet/walllocker_double/south{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"zO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"zQ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"AD" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"AN" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/power/apc{
+ name = "south bump";
+ pixel_y = -24
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"Bf" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/powercell,
+/obj/random/powercell,
+/obj/random/drinksoft,
+/obj/random/drinksoft,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"BW" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Df" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"DB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"DK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/wall/shull,
+/area/shuttle/salamander)
+"DM" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_galley)
+"ES" = (
+/obj/structure/closet/crate,
+/obj/random/material/refined,
+/obj/random/material/refined,
+/obj/random/toolbox,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Fu" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 4;
+ id_tag = "salamander_docking_star";
+ name = "Starboard Airlock Control";
+ pixel_x = -22;
+ req_one_access = list(160)
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"FL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Gj" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"HG" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"HR" = (
+/obj/machinery/shipsensors{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_cockpit)
+"IL" = (
+/obj/item/device/suit_cooling_unit,
+/obj/item/weapon/tank/air,
+/obj/item/clothing/suit/space/void/refurb,
+/obj/item/clothing/head/helmet/space/void/refurb,
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/closet/walllocker_double/south{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"IQ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"IR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Jq" = (
+/obj/machinery/computer/ship/helm{
+ dir = 8;
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_cockpit)
+"Kn" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/railing/grey,
+/obj/structure/window/reinforced,
+/obj/machinery/door/window/brigdoor/eastright{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Kw" = (
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1
+ },
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -21;
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"KX" = (
+/obj/structure/handrail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/powercell,
+/obj/random/powercell,
+/obj/random/drinksoft,
+/obj/random/drinksoft,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"Lf" = (
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"LU" = (
+/obj/structure/closet/crate,
+/obj/random/multiple/voidsuit/vintage,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"No" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"NR" = (
+/obj/structure/bed/chair/bay/chair{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 1;
+ id = "trade";
+ name = "Shop Shutters";
+ pixel_y = 26;
+ req_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"OI" = (
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/window/brigdoor/eastright{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"ON" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"OU" = (
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_cockpit)
+"Pc" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Pk" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"PN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Qn" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Qq" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_galley)
+"Rd" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/structure/handrail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/tech_supply/component/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/powercell,
+/obj/random/powercell,
+/obj/random/drinksoft,
+/obj/random/drinksoft,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"RO" = (
+/obj/structure/bed/pod,
+/obj/item/weapon/bedsheet/blue,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/effect/landmark/late_antag/trader,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"RU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_galley)
+"Sb" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Sp" = (
+/obj/structure/table/steel,
+/obj/machinery/light,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_q2)
+"Td" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/fuel_port/heavy{
+ pixel_y = 28
+ },
+/obj/structure/table/steel,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"Tg" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_head)
+"Tl" = (
+/obj/item/device/suit_cooling_unit,
+/obj/item/weapon/tank/air,
+/obj/item/clothing/suit/space/void/refurb,
+/obj/item/clothing/head/helmet/space/void/refurb,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/closet/walllocker_double/south{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"TG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/door/window/brigdoor/westright{
+ req_access = list();
+ req_one_access = list(160)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"UT" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander)
+"Vh" = (
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"Vs" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Vz" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_q2)
+"VK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"VT" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander)
+"VW" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Wj" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_engineering)
+"Wv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_engineering)
+"WN" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/multi_tile/metal{
+ dir = 2;
+ name = "Salamander Engineering Bay";
+ req_one_access = list(160)
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_engineering)
+"WP" = (
+/turf/template_noop,
+/area/template_noop)
+"WW" = (
+/obj/structure/closet/crate{
+ dir = 1
+ },
+/obj/random/multiple/voidsuit/vintage,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Xc" = (
+/obj/item/device/suit_cooling_unit,
+/obj/item/weapon/tank/air,
+/obj/item/clothing/suit/space/void/refurb,
+/obj/item/clothing/head/helmet/space/void/refurb,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/handrail,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/closet/walllocker_double/north{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"Xn" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/handrail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/tech_supply/nofail,
+/obj/random/contraband/nofail,
+/obj/random/contraband/nofail,
+/obj/random/powercell,
+/obj/random/powercell,
+/obj/random/drinksoft,
+/obj/random/drinksoft,
+/obj/random/snack,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+"Xr" = (
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/obj/structure/catwalk,
+/obj/machinery/light/small,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"Xs" = (
+/obj/machinery/power/port_gen/pacman/mrs{
+ anchored = 1
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = 22
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander_engineering)
+"XJ" = (
+/obj/structure/handrail,
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"ZK" = (
+/obj/structure/closet/autolok_wall{
+ dir = 1;
+ pixel_y = -32
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander)
+"ZU" = (
+/obj/machinery/embedded_controller/radio/docking_port_multi{
+ child_names_txt = "Port Airlock Control;Starboard Airlock Control";
+ child_tags_txt = "salamander_docking_port;salamander_docking_star";
+ dir = 1;
+ id_tag = "salamander_docking";
+ name = "Salamander Master Docking Controller";
+ pixel_y = -22
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/cable,
+/obj/machinery/light,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/salamander)
+
+(1,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+"}
+(2,1,1) = {"
+WP
+WP
+WP
+WP
+Wj
+dj
+fn
+Wj
+Wj
+dj
+fn
+Wj
+WP
+WP
+WP
+WP
+"}
+(3,1,1) = {"
+WP
+WP
+WP
+Wj
+Wj
+dm
+fB
+Wj
+Wj
+dm
+fB
+Wj
+Wj
+WP
+WP
+WP
+"}
+(4,1,1) = {"
+WP
+WP
+WP
+Wj
+Wj
+dn
+dn
+Wj
+Wj
+dn
+lt
+Wj
+Wj
+WP
+WP
+WP
+"}
+(5,1,1) = {"
+WP
+WP
+WP
+Wj
+bA
+dT
+fC
+gD
+hC
+ee
+lC
+nP
+Wj
+WP
+WP
+WP
+"}
+(6,1,1) = {"
+WP
+WP
+WP
+Wj
+bH
+ee
+fD
+AD
+Df
+kx
+fC
+nX
+Wj
+WP
+WP
+WP
+"}
+(7,1,1) = {"
+WP
+WP
+WP
+Wj
+bK
+eg
+nE
+VK
+if
+kK
+lK
+oa
+Wj
+WP
+WP
+WP
+"}
+(8,1,1) = {"
+WP
+WP
+tA
+Wj
+bK
+ey
+Wv
+gL
+ii
+Wv
+ey
+oa
+Wj
+tA
+WP
+WP
+"}
+(9,1,1) = {"
+WP
+WP
+VT
+VT
+Wj
+Td
+fE
+zO
+im
+fE
+lV
+Wj
+VT
+VT
+WP
+WP
+"}
+(10,1,1) = {"
+WP
+VT
+VT
+WW
+Wj
+Xs
+Vh
+bY
+is
+kL
+ma
+Wj
+WW
+VT
+VT
+WP
+"}
+(11,1,1) = {"
+WP
+VT
+Pc
+ZK
+Wj
+Wj
+Wj
+sb
+WN
+Wj
+Wj
+Wj
+oI
+qx
+VT
+WP
+"}
+(12,1,1) = {"
+WP
+VT
+XJ
+Vs
+bL
+eB
+fG
+FL
+iC
+fG
+mm
+oc
+Vs
+qE
+VT
+WP
+"}
+(13,1,1) = {"
+WP
+VT
+LU
+Vs
+VT
+Xn
+fP
+BW
+iJ
+kZ
+mE
+VT
+Vs
+qM
+VT
+WP
+"}
+(14,1,1) = {"
+WP
+VT
+ES
+Vs
+VT
+KX
+Lf
+FL
+iC
+ON
+mJ
+VT
+Vs
+qQ
+VT
+WP
+"}
+(15,1,1) = {"
+WP
+VT
+ES
+Vs
+VT
+Bf
+Lf
+FL
+iC
+ON
+mO
+VT
+Vs
+qQ
+VT
+WP
+"}
+(16,1,1) = {"
+WP
+VT
+lw
+VW
+VT
+Rd
+fR
+FL
+iC
+lc
+jq
+VT
+wF
+ri
+VT
+WP
+"}
+(17,1,1) = {"
+WP
+VT
+lw
+Xr
+VT
+NR
+iK
+PN
+rw
+Pk
+rt
+VT
+px
+ri
+VT
+WP
+"}
+(18,1,1) = {"
+WP
+VT
+VT
+DK
+VT
+pG
+Kn
+iL
+ry
+Sb
+OI
+VT
+DK
+VT
+VT
+WP
+"}
+(19,1,1) = {"
+WP
+ab
+aL
+bu
+cX
+fX
+fX
+hh
+iC
+Qn
+Qn
+oe
+Kw
+Fu
+UT
+WP
+"}
+(20,1,1) = {"
+WP
+aK
+pH
+pH
+oe
+eJ
+Qn
+IR
+iC
+Qn
+eJ
+oe
+pH
+pH
+mg
+WP
+"}
+(21,1,1) = {"
+WP
+VT
+VT
+VT
+VT
+VT
+Xc
+TG
+hO
+Tl
+VT
+VT
+VT
+VT
+VT
+WP
+"}
+(22,1,1) = {"
+WP
+WP
+Tg
+br
+cq
+Tg
+fZ
+oL
+iW
+IL
+mR
+bI
+qu
+mR
+WP
+WP
+"}
+(23,1,1) = {"
+WP
+WP
+Tg
+bN
+dO
+eP
+iS
+hp
+jT
+iS
+Qq
+No
+RU
+DM
+WP
+WP
+"}
+(24,1,1) = {"
+WP
+WP
+Tg
+bP
+cC
+Tg
+kU
+IR
+qg
+ZU
+mR
+oi
+vi
+mR
+WP
+WP
+"}
+(25,1,1) = {"
+WP
+WP
+Tg
+Tg
+Tg
+Tg
+VT
+pf
+HG
+VT
+mR
+mR
+mR
+mR
+WP
+WP
+"}
+(26,1,1) = {"
+WP
+WP
+bk
+Vz
+cY
+AN
+Vz
+hn
+yv
+Vz
+qn
+Sp
+Vz
+bk
+WP
+WP
+"}
+(27,1,1) = {"
+WP
+WP
+WP
+ci
+eG
+gl
+ld
+hp
+jT
+ld
+nB
+zQ
+ci
+WP
+WP
+WP
+"}
+(28,1,1) = {"
+WP
+WP
+WP
+Vz
+oF
+RO
+Vz
+fh
+xL
+Vz
+RO
+oF
+Vz
+WP
+WP
+WP
+"}
+(29,1,1) = {"
+WP
+WP
+WP
+Vz
+Vz
+Vz
+Vz
+DB
+jV
+Vz
+Vz
+Vz
+Vz
+WP
+WP
+WP
+"}
+(30,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+nH
+gv
+vI
+IQ
+ll
+nH
+HR
+WP
+WP
+WP
+WP
+"}
+(31,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+jl
+gC
+hr
+ks
+oC
+Gj
+WP
+WP
+WP
+WP
+WP
+"}
+(32,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+jl
+mY
+OU
+OU
+lo
+Gj
+WP
+WP
+WP
+WP
+WP
+"}
+(33,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+gM
+ot
+qh
+Jq
+ot
+ur
+WP
+WP
+WP
+WP
+WP
+"}
+(34,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+gM
+rj
+rj
+ur
+WP
+WP
+WP
+WP
+WP
+WP
+"}
+(35,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+"}
diff --git a/maps/offmap_vr/om_ships/salamander_wreck.dmm b/maps/offmap_vr/om_ships/salamander_wreck.dmm
new file mode 100644
index 0000000000..537f37aeb1
--- /dev/null
+++ b/maps/offmap_vr/om_ships/salamander_wreck.dmm
@@ -0,0 +1,2688 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ab" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"aK" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/machinery/airlock_sensor/airlock_exterior/shuttle{
+ dir = 1;
+ pixel_x = 24;
+ pixel_y = 11
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"aL" = (
+/obj/effect/shuttle_landmark/shuttle_initializer/salamander_wreck,
+/obj/effect/overmap/visitable/ship/landable/salamander_wreck,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 4;
+ id_tag = "salamander_wreck_docking_port";
+ name = "Port Airlock Control";
+ pixel_x = -22
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"bk" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "salamander_wreck_pd"
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_q2)
+"br" = (
+/obj/structure/window/reinforced/tinted,
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"bu" = (
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -21
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"bI" = (
+/obj/structure/handrail,
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_y = 24;
+ start_charge = 0
+ },
+/obj/structure/bed/chair/bay/chair{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"bK" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/effect/floor_decal/industrial/outline/blue,
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"bL" = (
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"bN" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light/flicker{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"bP" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ dir = 4;
+ pixel_x = 28
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"bY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_engineering)
+"ci" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_q2)
+"cq" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/obj/machinery/power/apc{
+ name = "south bump";
+ pixel_y = -24;
+ start_charge = 0
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"cC" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/curtain/open/shower,
+/obj/structure/window/reinforced/tinted{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"cX" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"cY" = (
+/obj/structure/fitness/weightlifter,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"dm" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"dn" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"dO" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_head)
+"dT" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"ee" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 10
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"eg" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"ey" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"eB" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 4;
+ pixel_x = -26
+ },
+/obj/machinery/light/flicker{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"eG" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"eJ" = (
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/machinery/airlock_sensor{
+ dir = 8;
+ pixel_x = 21
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"eP" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ density = 0;
+ icon_state = "door_open"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_head)
+"fh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/item/stack/cable_coil,
+/obj/structure/closet/walllocker_double/north{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"fn" = (
+/obj/machinery/atmospherics/unary/engine/bigger{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"fB" = (
+/obj/machinery/light,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"fD" = (
+/obj/machinery/atmospherics/binary/pump/fuel{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"fE" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"fG" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"fP" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 10
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/railing/grey,
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"fR" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 6
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"fX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"fZ" = (
+/obj/structure/handrail,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/closet/walllocker_double/north{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"gl" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"gv" = (
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/handrail,
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/closet/autolok_wall{
+ pixel_y = 32
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "west bump";
+ pixel_x = -28;
+ start_charge = 0
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"gC" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"gD" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/machinery/atmospherics/portables_connector/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"gL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"gM" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"hh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"hn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/weapon/circuitboard/smes,
+/obj/structure/closet/walllocker_double/north{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"hp" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"hr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"hC" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/structure/railing/grey,
+/obj/machinery/atmospherics/pipe/tank/phoron{
+ dir = 4;
+ start_pressure = 0
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"hK" = (
+/obj/structure/bed/chair/bay/chair,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"hO" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/window/brigdoor/westleft{
+ density = 0;
+ icon_state = "leftsecureopen";
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"if" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/obj/structure/railing/grey,
+/obj/machinery/computer/ship/engines{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"ii" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"im" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"is" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_engineering)
+"iC" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"iJ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"iK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"iL" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ density = 0;
+ icon_state = "leftsecureopen";
+ req_access = list()
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"iS" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"iW" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"jl" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"jq" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"jT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"jV" = (
+/obj/machinery/door/airlock/multi_tile/glass{
+ density = 0;
+ dir = 2;
+ icon_state = "door_open"
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"ks" = (
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"kx" = (
+/obj/machinery/atmospherics/binary/pump/fuel,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"kK" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"kL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 4;
+ pixel_x = 32
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"kU" = (
+/obj/machinery/suit_cycler/vintage/omni,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"kZ" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 9
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"lc" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 5
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"ld" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ density = 0;
+ icon_state = "door_open"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_q2)
+"ll" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 4;
+ pixel_x = -26
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 1;
+ pixel_y = -32
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/obj/machinery/light/flicker{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"lo" = (
+/obj/machinery/computer/ship/engines{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"lt" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"lw" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"lK" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"lV" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/closet/walllocker{
+ dir = 1;
+ name = "Spare Fuel";
+ pixel_y = -32
+ },
+/obj/item/weapon/tool/crowbar/red,
+/obj/machinery/light,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"ma" = (
+/obj/structure/cable,
+/obj/structure/frame,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"mg" = (
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/obj/machinery/airlock_sensor/airlock_exterior/shuttle{
+ pixel_x = 24;
+ pixel_y = -11
+ },
+/obj/machinery/door/airlock/glass_external/public{
+ density = 0;
+ icon_state = "door_open"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"mm" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"mE" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"mJ" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/obj/item/weapon/smes_coil,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"mO" = (
+/obj/random/empty_or_lootable_crate,
+/obj/machinery/light/flicker,
+/obj/structure/closet/walllocker_double/south{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"mR" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck_galley)
+"mY" = (
+/obj/machinery/computer/ship/sensors,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"nB" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"nE" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"nH" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck_cockpit)
+"nP" = (
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"nX" = (
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"oa" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/machinery/portable_atmospherics/canister/empty,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"oc" = (
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"oe" = (
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/int_door,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"oi" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/obj/random/snack,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"ot" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"oC" = (
+/obj/machinery/pointdefense_control{
+ id_tag = "salamander_wreck_pd";
+ name = "salamander defense control"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"oF" = (
+/obj/structure/bed/pod,
+/obj/item/weapon/bedsheet/blue,
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = 22
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"oI" = (
+/obj/structure/closet/autolok_wall{
+ pixel_y = 32
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"oL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"pf" = (
+/obj/structure/handrail,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"px" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"pG" = (
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/window/brigdoor/eastleft{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"pH" = (
+/obj/machinery/atmospherics/unary/vent_pump{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/structure/closet/walllocker/emerglocker/east,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/salamander_wreck)
+"qg" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"qh" = (
+/obj/machinery/computer/shuttle_control/explore/salamander_wreck{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"qn" = (
+/obj/structure/handrail,
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_y = 24;
+ start_charge = 0
+ },
+/obj/structure/bed/chair/bay/chair{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"qu" = (
+/obj/structure/table/steel,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = -22
+ },
+/obj/structure/closet/walllocker_double/kitchen/south,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"qx" = (
+/obj/machinery/light/small/flicker,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"qE" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"qQ" = (
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"ri" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"rj" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"rt" = (
+/obj/machinery/button/remote/blast_door{
+ id = "trade";
+ name = "Shop Shutters";
+ pixel_y = -26
+ },
+/obj/structure/bed/chair/bay/chair{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"rw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"ry" = (
+/obj/machinery/door/window/brigdoor/eastright{
+ density = 0;
+ icon_state = "rightsecureopen";
+ req_access = list()
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"sb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_engineering)
+"tA" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "salamander_wreck_pd"
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"tL" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"ur" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"vi" = (
+/obj/structure/table/steel,
+/obj/machinery/microwave/advanced,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 26
+ },
+/obj/machinery/light,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"vI" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"wF" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"xL" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/item/weapon/tank/phoron/pressurized,
+/obj/structure/closet/walllocker_double/south{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"yv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light/flicker,
+/obj/structure/closet/walllocker_double/south{
+ name = "Uniform Locker"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"zO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"zQ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"AD" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel,
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"AN" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 4
+ },
+/obj/structure/closet/autolok_wall{
+ dir = 8;
+ pixel_x = -32
+ },
+/obj/machinery/power/apc{
+ name = "south bump";
+ pixel_y = -24;
+ start_charge = 0
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"Bf" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"BE" = (
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/door/airlock/glass_external/public{
+ density = 0;
+ icon_state = "door_open"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"BG" = (
+/obj/structure/lattice,
+/obj/structure/grille/broken,
+/turf/template_noop,
+/area/shuttle/salamander_wreck)
+"BW" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Df" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"DB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"DK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck)
+"DM" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_galley)
+"Fu" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 4;
+ id_tag = "salamander_wreck_docking_star";
+ name = "Starboard Airlock Control";
+ pixel_x = -22
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"FL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Gj" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck_cockpit)
+"HG" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"HQ" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"HR" = (
+/obj/machinery/shipsensors{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"Il" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 9
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"IL" = (
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/structure/closet/walllocker_double/south{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"IQ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"IR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Jq" = (
+/obj/machinery/computer/ship/helm{
+ dir = 8;
+ req_one_access = list()
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_cockpit)
+"Kn" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/railing/grey,
+/obj/structure/window/reinforced,
+/obj/machinery/door/window/brigdoor/eastright{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Kw" = (
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1
+ },
+/obj/machinery/airlock_sensor{
+ dir = 4;
+ pixel_x = -21
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"KX" = (
+/obj/structure/handrail,
+/obj/random/empty_or_lootable_crate,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"Lf" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"LJ" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/shuttle/salamander_wreck_engineering)
+"No" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"NR" = (
+/obj/machinery/button/remote/blast_door{
+ dir = 1;
+ id = "trade";
+ name = "Shop Shutters";
+ pixel_y = 26
+ },
+/obj/structure/bed/chair/bay/chair,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"OI" = (
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/window/brigdoor/eastright{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"ON" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"OU" = (
+/obj/structure/bed/chair/bay/comfy{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_cockpit)
+"Pc" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"Pk" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Ps" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"PN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Qn" = (
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Qq" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/voidcraft{
+ density = 0;
+ icon_state = "door_open"
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_galley)
+"Rb" = (
+/obj/machinery/atmospherics/unary/vent_pump{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/structure/closet/walllocker/emerglocker/east,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Rd" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/structure/handrail,
+/obj/random/empty_or_lootable_crate,
+/obj/item/weapon/smes_coil,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"RO" = (
+/obj/structure/bed/pod,
+/obj/item/weapon/bedsheet/blue,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"RU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_galley)
+"Sb" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/door/blast/shutters{
+ density = 0;
+ dir = 4;
+ icon_state = "shutter0";
+ id = "trade";
+ name = "Shop Shutters";
+ opacity = 0
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/door/window/brigdoor/eastleft{
+ layer = 2.9;
+ open_layer = 2.9;
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Sp" = (
+/obj/structure/table/steel,
+/obj/machinery/light,
+/obj/item/weapon/paper/unity_notice,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_q2)
+"Td" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/table/steel,
+/obj/structure/fuel_port/empty{
+ pixel_y = 28
+ },
+/obj/machinery/light/flicker{
+ dir = 1
+ },
+/obj/item/weapon/smes_coil,
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"Tg" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck_head)
+"Tl" = (
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/closet/walllocker_double/south{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"TG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/door/window/brigdoor/westright{
+ density = 0;
+ icon_state = "rightsecureopen";
+ req_access = list()
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"UT" = (
+/obj/machinery/door/airlock/glass_external/public{
+ density = 0;
+ icon_state = "door_open"
+ },
+/obj/effect/map_helper/airlock/door/ext_door,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck)
+"Vh" = (
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24;
+ start_charge = 0
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"Vs" = (
+/obj/structure/catwalk,
+/turf/simulated/floor/plating,
+/area/shuttle/salamander_wreck)
+"Vz" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck_q2)
+"VK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"VT" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck)
+"VW" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"Wj" = (
+/turf/simulated/wall/shull,
+/area/shuttle/salamander_wreck_engineering)
+"Wv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck_engineering)
+"WN" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/multi_tile/metal{
+ density = 0;
+ dir = 2;
+ icon_state = "door_open";
+ name = "Salamander Engineering Bay";
+ opacity = 0
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/shuttle/salamander_wreck_engineering)
+"WP" = (
+/turf/template_noop,
+/area/template_noop)
+"WW" = (
+/obj/random/empty_or_lootable_crate,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"Xc" = (
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/structure/handrail,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/closet/walllocker_double/north{
+ name = "Voidsuit Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"Xn" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/handrail,
+/obj/random/empty_or_lootable_crate,
+/obj/structure/closet/walllocker_double/north{
+ name = "Storage Locker"
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+"Xr" = (
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/obj/structure/catwalk,
+/obj/machinery/light/small/flicker,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"Xs" = (
+/obj/machinery/power/port_gen/pacman/mrs{
+ anchored = 1
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = 22
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck_engineering)
+"XJ" = (
+/obj/structure/handrail,
+/obj/structure/catwalk,
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"ZK" = (
+/obj/structure/closet/autolok_wall{
+ dir = 1;
+ pixel_y = -32
+ },
+/turf/simulated/floor/airless,
+/area/shuttle/salamander_wreck)
+"ZU" = (
+/obj/machinery/embedded_controller/radio/docking_port_multi{
+ child_names_txt = "Port Airlock Control;Starboard Airlock Control";
+ child_tags_txt = "salamander_wreck_docking_port;salamander_wreck_docking_star";
+ dir = 1;
+ id_tag = "salamander_docking";
+ name = "Salamander Master Docking Controller";
+ pixel_y = -22
+ },
+/obj/structure/cable,
+/obj/machinery/light,
+/obj/structure/railing/grey{
+ dir = 8
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24;
+ start_charge = 0
+ },
+/turf/simulated/floor/tiled/techfloor{
+ nitrogen = 0;
+ oxygen = 0
+ },
+/area/shuttle/salamander_wreck)
+
+(1,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+"}
+(2,1,1) = {"
+WP
+WP
+WP
+WP
+Wj
+nP
+fn
+Wj
+Wj
+nP
+fn
+Wj
+WP
+WP
+WP
+WP
+"}
+(3,1,1) = {"
+WP
+WP
+WP
+Wj
+Wj
+dm
+fB
+Wj
+Wj
+dm
+fB
+Wj
+Wj
+WP
+WP
+WP
+"}
+(4,1,1) = {"
+WP
+WP
+WP
+tL
+Wj
+dn
+dn
+Wj
+Wj
+dn
+lt
+Wj
+LJ
+WP
+WP
+WP
+"}
+(5,1,1) = {"
+WP
+WP
+WP
+nP
+nP
+dT
+nP
+gD
+hC
+ee
+nP
+nP
+LJ
+WP
+WP
+WP
+"}
+(6,1,1) = {"
+WP
+WP
+WP
+tL
+nX
+ee
+fD
+AD
+Df
+kx
+Il
+nX
+LJ
+WP
+WP
+WP
+"}
+(7,1,1) = {"
+WP
+WP
+WP
+Wj
+bK
+eg
+nE
+VK
+if
+kK
+lK
+oa
+Wj
+WP
+WP
+WP
+"}
+(8,1,1) = {"
+WP
+WP
+tA
+Wj
+bK
+ey
+Wv
+gL
+ii
+Wv
+ey
+oa
+Wj
+tA
+WP
+WP
+"}
+(9,1,1) = {"
+WP
+WP
+VT
+VT
+Wj
+Td
+fE
+zO
+im
+fE
+lV
+Wj
+VT
+VT
+WP
+WP
+"}
+(10,1,1) = {"
+WP
+VT
+VT
+WW
+Wj
+Xs
+Vh
+bY
+is
+kL
+ma
+Wj
+qQ
+VT
+VT
+WP
+"}
+(11,1,1) = {"
+WP
+VT
+Pc
+ZK
+Wj
+Wj
+Wj
+sb
+WN
+Wj
+Wj
+Wj
+oI
+qx
+VT
+WP
+"}
+(12,1,1) = {"
+WP
+VT
+XJ
+HQ
+bL
+eB
+fG
+FL
+iC
+fG
+mm
+oc
+Vs
+qE
+VT
+WP
+"}
+(13,1,1) = {"
+WP
+BG
+WW
+HQ
+VT
+Xn
+fP
+BW
+iJ
+kZ
+mE
+VT
+Vs
+qQ
+VT
+WP
+"}
+(14,1,1) = {"
+WP
+BG
+WW
+HQ
+VT
+KX
+Lf
+FL
+iC
+ON
+mJ
+VT
+Vs
+qQ
+VT
+WP
+"}
+(15,1,1) = {"
+WP
+BG
+WW
+HQ
+VT
+Bf
+Lf
+FL
+iC
+ON
+mO
+VT
+Vs
+qQ
+VT
+WP
+"}
+(16,1,1) = {"
+WP
+Ps
+lw
+VW
+VT
+Rd
+fR
+FL
+iC
+lc
+jq
+VT
+wF
+ri
+VT
+WP
+"}
+(17,1,1) = {"
+WP
+VT
+lw
+Xr
+VT
+NR
+iK
+PN
+rw
+Pk
+rt
+VT
+px
+ri
+VT
+WP
+"}
+(18,1,1) = {"
+WP
+VT
+VT
+DK
+VT
+pG
+Kn
+iL
+ry
+Sb
+OI
+VT
+DK
+VT
+VT
+WP
+"}
+(19,1,1) = {"
+WP
+ab
+aL
+bu
+cX
+fX
+fX
+hh
+iC
+Qn
+Qn
+BE
+Kw
+Fu
+UT
+WP
+"}
+(20,1,1) = {"
+WP
+aK
+pH
+pH
+oe
+eJ
+Qn
+IR
+iC
+Qn
+eJ
+BE
+Rb
+Rb
+mg
+WP
+"}
+(21,1,1) = {"
+WP
+VT
+VT
+VT
+VT
+VT
+Xc
+TG
+hO
+Tl
+VT
+VT
+VT
+VT
+VT
+WP
+"}
+(22,1,1) = {"
+WP
+WP
+Tg
+br
+cq
+Tg
+fZ
+oL
+iW
+IL
+mR
+bI
+qu
+mR
+WP
+WP
+"}
+(23,1,1) = {"
+WP
+WP
+Tg
+bN
+dO
+eP
+iS
+hp
+jT
+iS
+Qq
+No
+RU
+DM
+WP
+WP
+"}
+(24,1,1) = {"
+WP
+WP
+Tg
+bP
+cC
+Tg
+kU
+IR
+qg
+ZU
+mR
+oi
+vi
+mR
+WP
+WP
+"}
+(25,1,1) = {"
+WP
+WP
+Tg
+Tg
+Tg
+Tg
+VT
+pf
+HG
+VT
+mR
+mR
+mR
+mR
+WP
+WP
+"}
+(26,1,1) = {"
+WP
+WP
+bk
+Vz
+cY
+AN
+Vz
+hn
+yv
+Vz
+qn
+Sp
+Vz
+bk
+WP
+WP
+"}
+(27,1,1) = {"
+WP
+WP
+WP
+ci
+eG
+gl
+ld
+hp
+jT
+ld
+nB
+zQ
+ci
+WP
+WP
+WP
+"}
+(28,1,1) = {"
+WP
+WP
+WP
+Vz
+oF
+RO
+Vz
+fh
+xL
+Vz
+RO
+oF
+Vz
+WP
+WP
+WP
+"}
+(29,1,1) = {"
+WP
+WP
+WP
+Vz
+Vz
+Vz
+Vz
+DB
+jV
+Vz
+Vz
+Vz
+Vz
+WP
+WP
+WP
+"}
+(30,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+nH
+gv
+vI
+IQ
+ll
+nH
+HR
+WP
+WP
+WP
+WP
+"}
+(31,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+jl
+gC
+hr
+ks
+oC
+Gj
+WP
+WP
+WP
+WP
+WP
+"}
+(32,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+jl
+mY
+OU
+hK
+lo
+Gj
+WP
+WP
+WP
+WP
+WP
+"}
+(33,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+gM
+ot
+qh
+Jq
+ot
+ur
+WP
+WP
+WP
+WP
+WP
+"}
+(34,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+gM
+rj
+rj
+ur
+WP
+WP
+WP
+WP
+WP
+WP
+"}
+(35,1,1) = {"
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+WP
+"}
diff --git a/maps/offmap_vr/talon/talon.dm b/maps/offmap_vr/talon/talon.dm
index b11afb614f..45c5d28dc8 100644
--- a/maps/offmap_vr/talon/talon.dm
+++ b/maps/offmap_vr/talon/talon.dm
@@ -404,7 +404,7 @@ Once in open space, consider disabling nonessential power-consuming electronics
/datum/tgui_module/camera/ntos/talon_ship
name = "Talon Ship Camera Monitor"
-/datum/tgui_module/camera/ntos/New(host)
+/datum/tgui_module/camera/ntos/talon_ship/New(host)
. = ..(host, list(NETWORK_TALON_SHIP, NETWORK_THUNDER))
/datum/tgui_module/camera/ntos/talon_helmet
diff --git a/maps/offmap_vr/talon/talon1.dmm b/maps/offmap_vr/talon/talon1.dmm
index b63d7c156e..b194f0220a 100644
--- a/maps/offmap_vr/talon/talon1.dmm
+++ b/maps/offmap_vr/talon/talon1.dmm
@@ -53,8 +53,7 @@
"ah" = (
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/atmospherics/portables_connector/aux{
- dir = 4;
- icon_state = "map_connector-aux"
+ dir = 4
},
/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
@@ -69,8 +68,7 @@
/area/talon/deckone/bridge)
"aj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -96,8 +94,7 @@
/obj/item/weapon/pen,
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
@@ -122,8 +119,7 @@
/area/talon/maintenance/deckone_port)
"an" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 1;
@@ -150,8 +146,7 @@
/area/talon/maintenance/deckone_port)
"aq" = (
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
@@ -196,16 +191,14 @@
},
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"au" = (
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/atmospherics/portables_connector/aux{
- dir = 8;
- icon_state = "map_connector-aux"
+ dir = 8
},
/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
@@ -223,6 +216,9 @@
},
/obj/structure/table/standard,
/obj/machinery/chemical_dispenser/full,
+/obj/machinery/light{
+ dir = 4
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"ax" = (
@@ -241,8 +237,7 @@
icon_state = "1-2"
},
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
@@ -254,8 +249,7 @@
icon_state = "1-2"
},
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
@@ -322,35 +316,32 @@
"aG" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
- dir = 8;
- icon_state = "intact"
+ dir = 8
},
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
- dir = 8;
- icon_state = "intact"
+ dir = 8
},
/obj/structure/handrail{
dir = 8
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_fore_wing)
"aH" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
- dir = 4;
- icon_state = "intact"
+ dir = 4
},
/obj/structure/handrail{
dir = 4
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_fore_wing)
"aI" = (
/obj/structure/catwalk,
/obj/structure/sign/warning/moving_parts{
pixel_x = 30
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_fore_wing)
"aJ" = (
/obj/structure/table/rack/shelf/steel,
@@ -404,7 +395,6 @@
"aQ" = (
/obj/machinery/computer/ship/engines{
dir = 8;
- icon_state = "computer";
req_one_access = list(301)
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
@@ -417,7 +407,7 @@
/obj/structure/sign/warning/moving_parts{
pixel_x = -30
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_fore_wing)
"aT" = (
/obj/structure/catwalk,
@@ -426,7 +416,7 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_fore_wing)
"aU" = (
/obj/structure/catwalk,
@@ -434,14 +424,13 @@
dir = 1;
icon_state = "4-8"
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_fore_wing)
"aV" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux,
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
@@ -467,11 +456,11 @@
/area/talon/deckone/armory)
"aZ" = (
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_fore_wing)
"ba" = (
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_fore_wing)
"bb" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -487,14 +476,14 @@
/obj/structure/handrail{
dir = 8
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_aft_wing)
"bd" = (
/obj/structure/catwalk,
/obj/structure/handrail{
dir = 4
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_aft_wing)
"be" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -517,8 +506,7 @@
dir = 4
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
@@ -539,11 +527,15 @@
/obj/item/device/robotanalyzer{
pixel_y = -8
},
+/obj/machinery/alarm/talon{
+ dir = 8;
+ pixel_x = 22
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"bi" = (
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_aft_wing)
"bj" = (
/obj/structure/window/reinforced,
@@ -558,7 +550,7 @@
/area/talon/maintenance/deckone_starboard)
"bl" = (
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_aft_wing)
"bm" = (
/obj/structure/catwalk,
@@ -567,7 +559,7 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port_aft_wing)
"bn" = (
/obj/structure/catwalk,
@@ -576,23 +568,21 @@
d2 = 8;
icon_state = "4-8"
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard_aft_wing)
"bo" = (
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"bp" = (
/obj/machinery/light/small{
- dir = 8;
- pixel_y = 0
+ dir = 8
},
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
"bq" = (
/obj/machinery/airlock_sensor{
@@ -603,12 +593,10 @@
/obj/effect/map_helper/airlock/atmos/chamber_pump,
/obj/effect/map_helper/airlock/sensor/chamber_sensor,
/obj/machinery/light/small{
- dir = 1;
- icon_state = "bulb1"
+ dir = 1
},
/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
- dir = 4;
- icon_state = "map_vent_aux"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/gray_perforated,
/area/shuttle/talonboat)
@@ -634,8 +622,7 @@
},
/obj/effect/map_helper/airlock/atmos/chamber_pump,
/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
- dir = 8;
- icon_state = "map_vent_aux"
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/gray_perforated,
/area/shuttle/talonboat)
@@ -645,8 +632,7 @@
/area/talon/deckone/central_hallway)
"bu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -677,8 +663,7 @@
/area/talon/maintenance/deckone_starboard)
"bw" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
@@ -691,12 +676,11 @@
},
/obj/effect/map_helper/airlock/sensor/ext_sensor,
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"by" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -721,7 +705,7 @@
},
/obj/effect/map_helper/airlock/sensor/ext_sensor,
/obj/structure/catwalk,
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
"bA" = (
/obj/structure/catwalk,
@@ -729,10 +713,9 @@
pixel_x = 30
},
/obj/machinery/camera/network/talon{
- dir = 8;
- icon_state = "camera"
+ dir = 8
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"bB" = (
/obj/structure/catwalk,
@@ -740,20 +723,15 @@
pixel_x = -30
},
/obj/machinery/camera/network/talon{
- dir = 4;
- icon_state = "camera"
+ dir = 4
},
-/turf/space,
+/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
"bC" = (
-/obj/structure/table/rack,
-/obj/item/weapon/storage/box/bodybags,
-/obj/item/roller,
-/obj/item/roller{
- pixel_y = 8
- },
-/turf/simulated/floor/tiled/eris/white/bluecorner,
-/area/talon/deckone/medical)
+/obj/structure/catwalk,
+/obj/structure/loot_pile/maint/technical,
+/turf/simulated/floor/plating/eris/under,
+/area/talon/maintenance/deckone_starboard)
"bD" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
@@ -804,8 +782,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -813,8 +790,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/obj/machinery/computer/guestpass{
pixel_y = 30
@@ -868,12 +844,8 @@
/turf/simulated/floor/tiled/eris/dark/orangecorner,
/area/talon/deckone/secure_storage)
"bM" = (
-/obj/structure/closet/secure_closet/chemical{
- req_access = list(301)
- },
-/obj/item/weapon/reagent_containers/spray/cleaner{
- desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'";
- name = "Chemistry Cleaner"
+/obj/machinery/light/small{
+ dir = 8
},
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
@@ -885,7 +857,6 @@
alarms_hidden = 1;
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/obj/structure/mopbucket,
@@ -920,8 +891,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -929,8 +899,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/obj/machinery/door/firedoor/glass{
dir = 2
@@ -982,9 +951,7 @@
"bW" = (
/obj/structure/table/steel,
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/machinery/button/remote/blast_door{
dir = 8;
@@ -1053,8 +1020,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/aux,
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
@@ -1071,8 +1037,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -1085,8 +1050,7 @@
},
/obj/machinery/door/firedoor/glass/talon,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/techmaint_panels,
/area/talon/deckone/workroom)
@@ -1209,8 +1173,7 @@
/area/talon/deckone/central_hallway)
"cs" = (
/obj/structure/closet/hydrant{
- pixel_x = -32;
- pixel_y = 0
+ pixel_x = -32
},
/turf/simulated/floor/tiled/eris/dark/brown_platform,
/area/talon/deckone/port_eng_store)
@@ -1230,13 +1193,8 @@
icon_state = "2-8"
},
/obj/machinery/alarm/talon{
- alarm_id = "anomaly_testing";
- breach_detection = 0;
dir = 8;
- frequency = 1439;
- pixel_x = 22;
- pixel_y = 0;
- report_danger_level = 0
+ pixel_x = 22
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
@@ -1257,9 +1215,7 @@
},
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
@@ -1271,12 +1227,10 @@
},
/obj/structure/cable/green{
d2 = 8;
- dir = 2;
icon_state = "0-8"
},
/obj/machinery/camera/network/talon{
- dir = 10;
- icon_state = "camera"
+ dir = 10
},
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/talon/deckone/bridge_hallway)
@@ -1309,8 +1263,7 @@
/area/talon/maintenance/deckone_starboard)
"cC" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/white/golden,
/area/talon/deckone/bridge)
@@ -1327,8 +1280,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/effect/floor_decal/emblem/talon_big,
/obj/machinery/camera/network/talon{
- dir = 10;
- icon_state = "camera"
+ dir = 10
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
@@ -1340,8 +1292,7 @@
dir = 9
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/obj/machinery/firealarm{
dir = 1;
@@ -1351,14 +1302,12 @@
/area/talon/deckone/central_hallway)
"cH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 10;
- icon_state = "intact-aux"
+ dir = 10
},
/obj/structure/catwalk,
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
@@ -1375,15 +1324,12 @@
/area/talon/deckone/armory)
"cJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 6;
- icon_state = "intact-aux"
+ dir = 6
},
/obj/structure/catwalk,
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
@@ -1400,8 +1346,7 @@
/area/talon/deckone/bridge_hallway)
"cL" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -1410,17 +1355,14 @@
icon_state = "2-4"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
"cM" = (
/obj/structure/closet/crate/solar,
/obj/machinery/firealarm{
- dir = 2;
layer = 3.3;
- pixel_x = 0;
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/dark/brown_platform,
@@ -1434,8 +1376,7 @@
/area/talon/deckone/port_eng_store)
"cO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 9;
- icon_state = "intact-aux"
+ dir = 9
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
@@ -1454,25 +1395,22 @@
dir = 10
},
/obj/machinery/light_switch{
- dir = 2;
name = "light switch ";
pixel_x = -12;
pixel_y = 26
},
/obj/machinery/atmospherics/pipe/cap/hidden{
- dir = 4;
- icon_state = "cap"
- },
-/obj/structure/cable/green{
- dir = 1;
- icon_state = "0-4"
+ dir = 4
},
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
+/obj/structure/cable/green{
+ d2 = 8;
+ icon_state = "0-8"
+ },
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"cQ" = (
@@ -1489,14 +1427,12 @@
dir = 6
},
/obj/machinery/light_switch{
- dir = 2;
name = "light switch ";
pixel_x = 12;
pixel_y = 26
},
/obj/machinery/atmospherics/pipe/cap/hidden{
- dir = 8;
- icon_state = "cap"
+ dir = 8
},
/obj/structure/cable/green{
icon_state = "0-4"
@@ -1504,15 +1440,13 @@
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
"cT" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 5;
- icon_state = "intact-aux"
+ dir = 5
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 4
@@ -1535,13 +1469,11 @@
"cV" = (
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -24
},
/obj/machinery/light_switch{
dir = 4;
- icon_state = "light1";
pixel_x = -24
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
@@ -1559,7 +1491,6 @@
/area/talon/deckone/starboard_eng)
"cX" = (
/obj/machinery/atmospherics/unary/heater{
- anchored = 1;
dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
@@ -1569,12 +1500,9 @@
/area/talon/deckone/starboard_eng)
"cZ" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/machinery/atmospherics/unary/freezer{
- anchored = 1;
dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
@@ -1607,10 +1535,6 @@
"dd" = (
/obj/structure/table/standard,
/obj/machinery/reagentgrinder,
-/obj/structure/closet/medical_wall{
- pixel_x = 0;
- pixel_y = 32
- },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"de" = (
@@ -1621,23 +1545,10 @@
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"df" = (
-/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
- },
-/obj/structure/closet/crate/medical{
- name = "first-aid kits"
- },
-/obj/item/weapon/storage/firstaid/toxin,
-/obj/item/weapon/storage/firstaid/toxin,
-/obj/item/weapon/storage/firstaid/o2,
-/obj/item/weapon/storage/firstaid/o2,
-/obj/item/weapon/storage/firstaid/fire,
-/obj/item/weapon/storage/firstaid/fire,
-/obj/item/weapon/storage/firstaid/adv,
-/obj/item/weapon/storage/firstaid/adv,
-/turf/simulated/floor/tiled/eris/white/bluecorner,
-/area/talon/deckone/medical)
+/obj/structure/catwalk,
+/obj/structure/barricade,
+/turf/simulated/floor/plating/eris/under,
+/area/talon/maintenance/deckone_starboard)
"dg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable/green{
@@ -1666,8 +1577,7 @@
/area/talon/deckone/starboard_eng)
"dB" = (
/obj/item/modular_computer/console/preset/talon{
- dir = 8;
- icon_state = "console"
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -1697,16 +1607,13 @@
"dP" = (
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"dQ" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/danger,
/area/talon/deckone/secure_storage)
@@ -1716,6 +1623,10 @@
},
/turf/simulated/floor/tiled/eris/dark/brown_platform,
/area/talon/deckone/port_eng_store)
+"dS" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"dU" = (
/obj/structure/cable/green{
d1 = 1;
@@ -1736,8 +1647,7 @@
dir = 5
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/obj/structure/cable/green{
d1 = 1;
@@ -1760,11 +1670,7 @@
pixel_x = 2;
pixel_y = 5
},
-/obj/machinery/alarm/talon{
- dir = 1;
- icon_state = "alarm0";
- pixel_y = -22
- },
+/obj/structure/closet/walllocker/medical/south,
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"en" = (
@@ -1778,8 +1684,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/door/window/brigdoor/eastleft{
dir = 8;
@@ -1812,8 +1717,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -1825,8 +1729,7 @@
req_one_access = list(301)
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/techmaint_panels,
/area/talon/deckone/brig)
@@ -1870,8 +1773,7 @@
/area/talon/deckone/brig)
"fi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
@@ -1934,8 +1836,7 @@
/area/talon/deckone/workroom)
"gg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 5;
- icon_state = "intact-aux"
+ dir = 5
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
@@ -1996,8 +1897,7 @@
/area/talon/deckone/starboard_eng_store)
"ho" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -2011,13 +1911,9 @@
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/shuttle/talonboat)
"hv" = (
-/obj/structure/catwalk,
-/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
- },
-/turf/simulated/floor/plating/eris/under,
-/area/talon/maintenance/deckone_starboard)
+/obj/machinery/suit_cycler/vintage/tmedic,
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"hD" = (
/obj/machinery/autolathe,
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
@@ -2027,8 +1923,7 @@
pixel_y = 30
},
/obj/machinery/atmospherics/pipe/manifold/hidden{
- dir = 1;
- icon_state = "map"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
@@ -2039,8 +1934,7 @@
"id" = (
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 4;
- icon_state = "pipe-t"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -2050,8 +1944,7 @@
/area/talon/deckone/armory)
"ij" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/obj/machinery/door/airlock/maintenance/common,
/obj/machinery/door/firedoor/glass/talon,
@@ -2066,32 +1959,31 @@
icon_state = "1-2"
},
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/bridge_hallway)
"iq" = (
/obj/machinery/light/small{
- dir = 8;
- pixel_y = 0
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/orangecorner,
/area/talon/deckone/brig)
"ir" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/cap/hidden{
- dir = 1;
- icon_state = "cap"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"it" = (
/obj/machinery/optable,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"ix" = (
@@ -2124,8 +2016,7 @@
/area/talon/deckone/brig)
"iE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/obj/machinery/airlock_sensor{
dir = 4;
@@ -2142,19 +2033,17 @@
/area/talon/deckone/starboard_eng)
"iN" = (
/obj/structure/ladder/up,
-/turf/simulated/floor/tiled/steel_grid,
+/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
"iP" = (
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/talon/deckone/bridge_hallway)
"iR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 10;
- icon_state = "intact-fuel"
+ dir = 10
},
/obj/structure/extinguisher_cabinet{
dir = 8;
- icon_state = "extinguisher_closed";
pixel_x = 30
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
@@ -2178,12 +2067,10 @@
/area/talon/deckone/brig)
"jb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/cap/hidden{
- dir = 1;
- icon_state = "cap"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
@@ -2207,7 +2094,6 @@
"jB" = (
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
@@ -2218,7 +2104,6 @@
},
/obj/machinery/firealarm{
dir = 1;
- pixel_x = 0;
pixel_y = -25
},
/obj/machinery/recharger,
@@ -2226,8 +2111,7 @@
/area/talon/deckone/medical)
"jD" = (
/obj/effect/floor_decal/emblem/talon_big{
- dir = 8;
- icon_state = "talon_big"
+ dir = 8
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
@@ -2253,50 +2137,43 @@
/area/talon/deckone/starboard_eng)
"jZ" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
- dir = 8;
- icon_state = "map-fuel"
+ dir = 8
},
/turf/simulated/wall/rshull,
/area/talon/deckone/port_eng)
"kb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 4;
- icon_state = "intact-fuel"
+ dir = 4
},
/turf/simulated/wall/rshull,
/area/talon/deckone/port_eng)
"kc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 10;
- icon_state = "intact-fuel"
+ dir = 10
},
/turf/simulated/wall/rshull,
/area/talon/deckone/port_eng)
"kd" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 6;
- icon_state = "intact-fuel"
+ dir = 6
},
/turf/simulated/wall/rshull,
/area/talon/deckone/starboard_eng)
"ke" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
- dir = 1;
- icon_state = "map-fuel"
+ dir = 1
},
/turf/simulated/wall/rshull,
/area/talon/deckone/starboard_eng)
"kf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 4;
- icon_state = "intact-fuel"
+ dir = 4
},
/turf/simulated/wall/rshull,
/area/talon/deckone/starboard_eng)
"kg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 9;
- icon_state = "intact-fuel"
+ dir = 9
},
/turf/simulated/wall/rshull,
/area/talon/deckone/starboard_eng)
@@ -2450,8 +2327,7 @@
dir = 4
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -2476,34 +2352,26 @@
/area/talon/maintenance/deckone_port_aft_wing)
"lM" = (
/obj/machinery/atmospherics/pipe/manifold/hidden{
- dir = 8;
- icon_state = "map"
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"mb" = (
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
},
/obj/machinery/alarm/talon{
- alarm_id = "anomaly_testing";
- breach_detection = 0;
dir = 8;
- frequency = 1439;
- pixel_x = 22;
- pixel_y = 0;
- report_danger_level = 0
+ pixel_x = 22
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
"me" = (
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/obj/structure/table/standard,
/turf/simulated/floor/tiled/eris/white/gray_platform,
@@ -2573,8 +2441,7 @@
/area/talon/deckone/central_hallway)
"mF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/obj/effect/map_helper/airlock/door/int_door,
/obj/machinery/door/airlock/glass_external{
@@ -2590,7 +2457,6 @@
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/obj/structure/catwalk,
@@ -2599,9 +2465,7 @@
"mO" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
@@ -2618,8 +2482,7 @@
},
/obj/machinery/portable_atmospherics/canister/air/airlock,
/obj/machinery/atmospherics/portables_connector/aux{
- dir = 4;
- icon_state = "map_connector-aux"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/shuttle/talonboat)
@@ -2642,8 +2505,7 @@
/area/talon/deckone/central_hallway)
"nu" = (
/obj/effect/floor_decal/emblem/talon_big{
- dir = 5;
- icon_state = "talon_big"
+ dir = 5
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
@@ -2672,15 +2534,13 @@
/obj/machinery/atmospherics/binary/pump/fuel,
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
"ob" = (
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -2735,8 +2595,7 @@
/area/talon/deckone/bridge_hallway)
"oS" = (
/obj/structure/bed/chair/bay/comfy/yellow{
- dir = 1;
- icon_state = "bay_comfychair_preview"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -2749,15 +2608,13 @@
/area/talon/maintenance/deckone_starboard)
"oV" = (
/obj/effect/floor_decal/emblem/talon_big{
- dir = 4;
- icon_state = "talon_big"
+ dir = 4
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
"pc" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 6;
- icon_state = "intact"
+ dir = 6
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
@@ -2790,12 +2647,10 @@
icon_state = "1-2"
},
/obj/structure/bed/chair/bay/chair{
- dir = 8;
- icon_state = "bay_chair_preview"
+ dir = 8
},
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
@@ -2814,8 +2669,7 @@
/obj/machinery/atmospherics/binary/pump/fuel,
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/camera/network/talon{
- dir = 4;
- icon_state = "camera"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
@@ -2853,7 +2707,6 @@
icon_state = "0-4"
},
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -24
},
@@ -2888,7 +2741,6 @@
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/turf/simulated/floor/tiled/eris/dark/orangecorner,
@@ -2910,30 +2762,28 @@
/area/talon/maintenance/deckone_port_aft_wing)
"qp" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 6;
- icon_state = "intact-fuel"
+ dir = 6
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"qz" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable/green{
d1 = 1;
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
- },
/obj/structure/sign/warning/nosmoking_1{
pixel_x = -26
},
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 1;
- icon_state = "pipe-t"
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
},
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
@@ -2944,8 +2794,7 @@
"qB" = (
/obj/machinery/alarm/talon{
dir = 4;
- pixel_x = -35;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
@@ -2968,8 +2817,7 @@
/area/talon/deckone/port_solar)
"qR" = (
/obj/machinery/atmospherics/portables_connector/fuel{
- dir = 1;
- icon_state = "map_connector-fuel"
+ dir = 1
},
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/portable_atmospherics/canister/phoron,
@@ -2977,8 +2825,7 @@
/area/talon/deckone/starboard_eng)
"rm" = (
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_aft_wing)
@@ -2994,8 +2841,7 @@
icon_state = "2-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
@@ -3022,9 +2868,7 @@
/area/talon/deckone/workroom)
"sa" = (
/obj/machinery/firealarm{
- dir = 2;
layer = 3.3;
- pixel_x = 0;
pixel_y = 26
},
/turf/simulated/floor/tiled/eris/steel,
@@ -3076,9 +2920,7 @@
/area/talon/maintenance/deckone_port)
"sz" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -3191,8 +3033,7 @@
/area/talon/deckone/central_hallway)
"tw" = (
/obj/item/modular_computer/console/preset/talon{
- dir = 4;
- icon_state = "console"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -3222,15 +3063,13 @@
/area/talon/deckone/brig)
"tZ" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 8;
- icon_state = "intact"
+ dir = 8
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
"uj" = (
/obj/machinery/power/solar_control{
- dir = 8;
- icon_state = "solar"
+ dir = 8
},
/obj/structure/cable/yellow,
/turf/simulated/floor/tiled/eris/dark/cyancorner,
@@ -3299,7 +3138,6 @@
"uN" = (
/obj/structure/extinguisher_cabinet{
dir = 1;
- icon_state = "extinguisher_closed";
pixel_y = 32
},
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
@@ -3309,8 +3147,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -3323,22 +3160,19 @@
icon_state = "2-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
"vb" = (
/obj/structure/bed/chair/bay/chair{
- dir = 8;
- icon_state = "bay_chair_preview"
+ dir = 8
},
/turf/simulated/floor/tiled/eris/dark/orangecorner,
/area/talon/deckone/brig)
"vf" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 5;
- icon_state = "intact"
+ dir = 5
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
@@ -3421,8 +3255,7 @@
/area/talon/deckone/bridge)
"wD" = (
/obj/machinery/power/terminal{
- dir = 8;
- icon_state = "term"
+ dir = 8
},
/obj/structure/cable/yellow{
d2 = 4;
@@ -3467,8 +3300,7 @@
/area/talon/maintenance/deckone_starboard)
"xm" = (
/obj/machinery/power/solar_control{
- dir = 4;
- icon_state = "solar"
+ dir = 4
},
/obj/structure/cable/yellow,
/turf/simulated/floor/tiled/eris/dark/cyancorner,
@@ -3484,8 +3316,7 @@
/area/shuttle/talonboat)
"xv" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -3507,13 +3338,17 @@
/turf/simulated/floor/tiled/eris/dark/orangecorner,
/area/talon/deckone/secure_storage)
"xE" = (
-/obj/structure/catwalk,
-/obj/machinery/light/small{
- dir = 1;
- icon_state = "bulb1"
- },
-/turf/simulated/floor/plating/eris/under,
-/area/talon/maintenance/deckone_port)
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/adv,
+/obj/item/weapon/storage/firstaid/adv,
+/obj/structure/closet/walllocker/medical/east,
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"xH" = (
/obj/machinery/chem_master,
/turf/simulated/floor/tiled/eris/white/bluecorner,
@@ -3541,8 +3376,7 @@
/obj/effect/map_helper/airlock/atmos/chamber_pump,
/obj/effect/map_helper/airlock/sensor/chamber_sensor,
/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
- dir = 8;
- icon_state = "map_vent_aux"
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
@@ -3557,8 +3391,7 @@
/area/talon/maintenance/deckone_starboard_aft_wing)
"yf" = (
/obj/machinery/atmospherics/pipe/manifold/hidden{
- dir = 4;
- icon_state = "map"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
@@ -3575,8 +3408,7 @@
icon_state = "1-4"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -3606,8 +3438,7 @@
},
/obj/effect/map_helper/airlock/sensor/int_sensor,
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 10;
- icon_state = "intact-aux"
+ dir = 10
},
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/shuttle/talonboat)
@@ -3619,8 +3450,7 @@
/area/talon/maintenance/deckone_starboard_fore_wing)
"yB" = (
/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{
- dir = 8;
- icon_state = "up-scrubbers"
+ dir = 8
},
/obj/structure/disposalpipe/up{
dir = 8
@@ -3651,8 +3481,7 @@
/area/talon/deckone/starboard_solar)
"yO" = (
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
@@ -3689,15 +3518,13 @@
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/turf/simulated/floor/tiled/eris/white/orangecorner,
/area/talon/deckone/armory)
"zy" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/white/golden,
/area/talon/deckone/bridge)
@@ -3740,8 +3567,7 @@
/area/talon/deckone/starboard_solar)
"Ar" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/obj/machinery/airlock_sensor{
dir = 8;
@@ -3756,20 +3582,17 @@
"At" = (
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"Ay" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -3777,8 +3600,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
@@ -3787,8 +3609,7 @@
dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
@@ -3822,7 +3643,6 @@
"AQ" = (
/obj/machinery/firealarm{
dir = 1;
- pixel_x = 0;
pixel_y = -25
},
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
@@ -3848,8 +3668,7 @@
/area/talon/maintenance/deckone_port_fore_wing)
"Bh" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 4;
- icon_state = "intact"
+ dir = 4
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
@@ -3884,7 +3703,6 @@
"Bu" = (
/obj/structure/extinguisher_cabinet{
dir = 1;
- icon_state = "extinguisher_closed";
pixel_y = 32
},
/turf/simulated/floor/tiled/eris/steel,
@@ -3940,15 +3758,13 @@
/area/talon/deckone/central_hallway)
"CC" = (
/obj/item/modular_computer/console/preset/talon{
- dir = 1;
- icon_state = "console"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
"CP" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 4;
- icon_state = "intact"
+ dir = 4
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
@@ -3966,19 +3782,16 @@
/area/talon/deckone/central_hallway)
"CU" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 9;
- icon_state = "intact"
+ dir = 9
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
"CW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
@@ -3993,8 +3806,7 @@
/area/talon/maintenance/deckone_port_aft_wing)
"Dl" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 10;
- icon_state = "intact"
+ dir = 10
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
@@ -4005,19 +3817,16 @@
/area/talon/maintenance/deckone_port)
"Do" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 5;
- icon_state = "intact"
+ dir = 5
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
"Dr" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 6;
- icon_state = "intact"
+ dir = 6
},
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
@@ -4092,20 +3901,27 @@
/area/talon/deckone/central_hallway)
"Ec" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 9;
- icon_state = "intact"
+ dir = 9
},
/obj/effect/floor_decal/industrial/warning/dust/corner,
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_starboard_fore_wing)
"Ee" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 9;
- icon_state = "intact-aux"
+ dir = 9
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_starboard)
+"Ej" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"Eo" = (
/obj/effect/floor_decal/industrial/warning/dust/corner,
/turf/simulated/floor/hull/airless,
@@ -4124,8 +3940,7 @@
/area/talon/deckone/armory)
"Ex" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 10;
- icon_state = "intact-aux"
+ dir = 10
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -4154,8 +3969,7 @@
/area/talon/maintenance/deckone_starboard_fore_wing)
"EM" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 10;
- icon_state = "intact"
+ dir = 10
},
/obj/effect/floor_decal/industrial/warning/dust/corner{
dir = 4
@@ -4216,8 +4030,7 @@
/area/talon/deckone/armory)
"Fs" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -4232,15 +4045,13 @@
req_one_access = list(301)
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/techmaint_panels,
/area/talon/deckone/medical)
"Fw" = (
/obj/machinery/atmospherics/portables_connector/fuel{
- dir = 1;
- icon_state = "map_connector-fuel"
+ dir = 1
},
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/portable_atmospherics/canister/phoron,
@@ -4265,8 +4076,7 @@
req_one_access = list(301)
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -4293,15 +4103,13 @@
/area/talon/deckone/central_hallway)
"Gq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
@@ -4317,8 +4125,7 @@
/area/talon/deckone/workroom)
"Gw" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -4326,15 +4133,13 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
"GC" = (
/obj/machinery/atmospherics/portables_connector/fuel{
- dir = 1;
- icon_state = "map_connector-fuel"
+ dir = 1
},
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/portable_atmospherics/canister/phoron,
@@ -4365,8 +4170,7 @@
/area/talon/deckone/medical)
"GL" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 1;
- icon_state = "intact"
+ dir = 1
},
/obj/structure/cable/green{
d1 = 4;
@@ -4410,8 +4214,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -4422,8 +4225,7 @@
icon_state = "1-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -4453,8 +4255,7 @@
/area/talon/deckone/bridge)
"Id" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 6;
- icon_state = "intact-aux"
+ dir = 6
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -4468,12 +4269,10 @@
/area/talon/deckone/central_hallway)
"Ie" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 6;
- icon_state = "intact-fuel"
+ dir = 6
},
/obj/structure/extinguisher_cabinet{
dir = 4;
- icon_state = "extinguisher_closed";
pixel_x = -30
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
@@ -4498,8 +4297,7 @@
/area/talon/deckone/bridge_hallway)
"Ij" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 9;
- icon_state = "intact"
+ dir = 9
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
@@ -4522,8 +4320,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/effect/floor_decal/emblem/talon_big{
- dir = 1;
- icon_state = "talon_big"
+ dir = 1
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
@@ -4535,8 +4332,7 @@
},
/obj/structure/bed/chair/office/light,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
@@ -4553,9 +4349,7 @@
"IO" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
@@ -4610,8 +4404,7 @@
/area/talon/deckone/central_hallway)
"JB" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 1;
- icon_state = "intact"
+ dir = 1
},
/obj/structure/cable/green{
dir = 1;
@@ -4627,7 +4420,6 @@
/obj/machinery/power/apc/talon{
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/obj/structure/catwalk,
@@ -4713,21 +4505,18 @@
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"Ka" = (
-/obj/structure/catwalk,
-/obj/machinery/light/small{
- dir = 1;
- icon_state = "bulb1"
+/obj/machinery/door/airlock/maintenance/medical{
+ req_one_access = list(301)
},
+/obj/machinery/door/firedoor/glass/talon,
/turf/simulated/floor/plating/eris/under,
-/area/talon/maintenance/deckone_starboard)
+/area/talon/deckone/medical)
"Kc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -4748,8 +4537,7 @@
icon_state = "4-8"
},
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_aft_wing)
@@ -4796,12 +4584,10 @@
},
/obj/structure/sign/directions/bridge{
dir = 1;
- icon_state = "direction_bridge";
pixel_y = 41
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -4885,8 +4671,7 @@
/area/talon/deckone/central_hallway)
"LC" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
@@ -4919,8 +4704,7 @@
/area/talon/maintenance/deckone_port)
"LW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -4939,8 +4723,7 @@
/area/talon/deckone/central_hallway)
"LZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
@@ -4993,8 +4776,7 @@
/area/talon/deckone/brig)
"MB" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -5010,8 +4792,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -5019,8 +4800,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -5038,8 +4818,7 @@
/obj/effect/map_helper/airlock/atmos/chamber_pump,
/obj/effect/map_helper/airlock/sensor/chamber_sensor,
/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{
- dir = 4;
- icon_state = "map_vent_aux"
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
@@ -5117,7 +4896,6 @@
"Ns" = (
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -24
},
@@ -5151,13 +4929,18 @@
/area/talon/maintenance/deckone_port)
"Nz" = (
/obj/machinery/computer/ship/navigation{
- dir = 4;
- icon_state = "computer"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
"NG" = (
-/obj/machinery/suit_cycler/vintage/tmedic,
+/obj/structure/closet/secure_closet/chemical{
+ req_access = list(301)
+ },
+/obj/item/weapon/reagent_containers/spray/cleaner{
+ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'";
+ name = "Chemistry Cleaner"
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"NP" = (
@@ -5171,8 +4954,7 @@
/area/talon/maintenance/deckone_starboard)
"Os" = (
/obj/structure/bed/chair/bay/comfy/red{
- dir = 4;
- icon_state = "bay_comfychair_preview"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -5180,16 +4962,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/aux,
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/deckone_port)
"OJ" = (
/obj/machinery/computer/shuttle_control/explore/talonboat{
- dir = 4;
- icon_state = "computer"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
@@ -5240,8 +5020,7 @@
/area/talon/maintenance/deckone_starboard)
"Py" = (
/obj/machinery/atmospherics/portables_connector/fuel{
- dir = 1;
- icon_state = "map_connector-fuel"
+ dir = 1
},
/obj/effect/floor_decal/industrial/outline/red,
/obj/machinery/portable_atmospherics/canister/phoron,
@@ -5259,8 +5038,7 @@
/area/talon/deckone/central_hallway)
"PF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/obj/effect/map_helper/airlock/door/int_door,
/obj/machinery/door/airlock/glass_external{
@@ -5278,7 +5056,6 @@
},
/obj/structure/extinguisher_cabinet{
dir = 4;
- icon_state = "extinguisher_closed";
pixel_x = -30
},
/turf/simulated/floor/tiled/eris/steel,
@@ -5298,15 +5075,13 @@
/area/talon/maintenance/deckone_port)
"Qg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 10;
- icon_state = "intact-fuel"
+ dir = 10
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
"Qx" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -5318,7 +5093,6 @@
},
/obj/structure/extinguisher_cabinet{
dir = 1;
- icon_state = "extinguisher_closed";
pixel_y = 32
},
/obj/machinery/door/firedoor/glass{
@@ -5415,15 +5189,28 @@
alarms_hidden = 1;
dir = 1;
name = "north bump";
- pixel_x = 0;
pixel_y = 28
},
/turf/simulated/floor/tiled/eris/dark/brown_platform,
/area/talon/deckone/starboard_eng_store)
+"So" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
+"Ss" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"SD" = (
/obj/effect/floor_decal/emblem/talon_big{
- dir = 9;
- icon_state = "talon_big"
+ dir = 9
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
@@ -5436,7 +5223,6 @@
/area/talon/deckone/brig)
"SF" = (
/obj/machinery/firealarm{
- dir = 2;
layer = 3.3;
pixel_x = 4;
pixel_y = 26
@@ -5475,7 +5261,6 @@
"SS" = (
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -24
},
@@ -5550,8 +5335,7 @@
/area/talon/maintenance/deckone_starboard)
"TD" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 5;
- icon_state = "intact"
+ dir = 5
},
/obj/effect/floor_decal/industrial/warning/dust/corner{
dir = 8
@@ -5575,9 +5359,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/aux,
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
@@ -5607,22 +5389,17 @@
"Uq" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/central_hallway)
"Ur" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 4;
- icon_state = "pipe-t"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/talon/deckone/bridge_hallway)
@@ -5648,21 +5425,18 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/effect/floor_decal/emblem/talon_big{
- dir = 6;
- icon_state = "talon_big"
+ dir = 6
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
"UG" = (
-/obj/machinery/door/airlock/maintenance/medical{
- req_one_access = list(301)
+/obj/machinery/light/small{
+ dir = 4
},
-/obj/machinery/door/firedoor/glass/talon,
-/turf/simulated/floor/plating/eris/under,
+/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"UI" = (
/obj/structure/cable/green{
@@ -5703,10 +5477,14 @@
/turf/simulated/floor/tiled/eris/white,
/area/talon/deckone/bridge_hallway)
"UQ" = (
-/obj/structure/catwalk,
-/obj/structure/loot_pile/maint/technical,
-/turf/simulated/floor/plating/eris/under,
-/area/talon/maintenance/deckone_starboard)
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/roller,
+/obj/item/roller{
+ pixel_y = 8
+ },
+/obj/structure/table/standard,
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"UT" = (
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/door/blast/regular{
@@ -5731,8 +5509,7 @@
/area/talon/maintenance/deckone_starboard_fore_wing)
"UV" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -5763,19 +5540,16 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/effect/floor_decal/emblem/talon_big{
- dir = 10;
- icon_state = "talon_big"
+ dir = 10
},
/turf/simulated/floor/tiled/steel_grid,
/area/talon/deckone/central_hallway)
"Vf" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 10;
- icon_state = "intact"
+ dir = 10
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
@@ -5846,8 +5620,7 @@
/area/talon/maintenance/deckone_starboard)
"VU" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -5888,8 +5661,7 @@
/area/talon/deckone/central_hallway)
"WA" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
- dir = 1;
- icon_state = "map-fuel"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/starboard_eng)
@@ -5922,8 +5694,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
@@ -5932,17 +5703,27 @@
req_one_access = list(301)
},
/obj/machinery/door/firedoor/glass/talon,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"Xa" = (
/obj/item/modular_computer/console/preset/talon{
- dir = 4;
- icon_state = "console"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/deckone/brig)
"Xd" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/talon/deckone/medical)
"Xe" = (
@@ -5965,15 +5746,13 @@
/area/talon/maintenance/deckone_starboard_aft_wing)
"XC" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/monofloor,
/area/talon/deckone/central_hallway)
"XG" = (
/obj/machinery/light_switch{
dir = 4;
- icon_state = "light1";
pixel_x = -24
},
/obj/structure/sink{
@@ -5989,6 +5768,12 @@
/obj/machinery/portable_atmospherics/canister/air,
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
+"XT" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/eris/white/bluecorner,
+/area/talon/deckone/medical)
"XV" = (
/obj/effect/map_helper/airlock/door/int_door,
/obj/machinery/atmospherics/pipe/simple/hidden/aux,
@@ -6034,15 +5819,13 @@
/area/talon/deckone/central_hallway)
"Yh" = (
/obj/structure/bed/chair/bay/comfy/brown{
- dir = 1;
- icon_state = "bay_comfychair_preview"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
"Ym" = (
/obj/machinery/light/small{
- dir = 1;
- icon_state = "bulb1"
+ dir = 1
},
/obj/structure/toilet,
/obj/machinery/door/window/brigdoor/eastleft{
@@ -6068,8 +5851,7 @@
/area/talon/deckone/starboard_eng)
"YI" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
- dir = 1;
- icon_state = "map-fuel"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
@@ -6084,15 +5866,13 @@
"YM" = (
/obj/structure/bed/chair/bay/comfy/blue{
dir = 8;
- icon_state = "bay_comfychair_preview";
name = "doctor's seat"
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
"YO" = (
/obj/structure/bed/chair/bay/chair{
- dir = 1;
- icon_state = "bay_chair_preview"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/steel/techfloor_grid,
/area/shuttle/talonboat)
@@ -6102,8 +5882,7 @@
pixel_y = -25
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/deckone/bridge)
@@ -6130,15 +5909,13 @@
pixel_y = 30
},
/obj/machinery/atmospherics/pipe/manifold/hidden{
- dir = 1;
- icon_state = "map"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
/area/talon/deckone/port_eng)
"Zq" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -6149,8 +5926,7 @@
icon_state = "4-8"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/obj/effect/catwalk_plated,
/turf/simulated/floor/plating/eris/under,
@@ -6173,7 +5949,6 @@
"ZA" = (
/obj/machinery/alarm/talon{
dir = 1;
- icon_state = "alarm0";
pixel_y = -22
},
/turf/simulated/floor/tiled/eris/dark/brown_perforated,
@@ -6189,7 +5964,6 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on,
/obj/machinery/light_switch{
dir = 4;
- icon_state = "light1";
pixel_x = -24
},
/obj/machinery/recharger/wallcharger{
@@ -6200,8 +5974,7 @@
/area/talon/deckone/armory)
"ZR" = (
/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 6;
- icon_state = "intact"
+ dir = 6
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/deckone_port_fore_wing)
@@ -6213,8 +5986,7 @@
/obj/machinery/light,
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 1;
- icon_state = "pipe-t"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/steel/cargo,
/area/talon/deckone/workroom)
@@ -14820,7 +14592,7 @@ iY
tm
ID
dH
-xE
+LU
gU
db
PO
@@ -16799,7 +16571,7 @@ Kc
Bn
Gb
FA
-Gb
+So
Gb
Gb
ce
@@ -17083,7 +16855,7 @@ Nm
dO
dd
FA
-Gb
+So
Gb
ek
dO
@@ -17376,7 +17148,7 @@ Nu
wh
ZW
fJ
-Ka
+VT
ci
gW
Yo
@@ -17509,7 +17281,7 @@ qA
dO
NG
bM
-Gb
+Ej
qB
bf
dO
@@ -17650,9 +17422,9 @@ co
qA
dO
de
-df
-Gb
-bC
+dS
+Ss
+XT
ct
dO
Gt
@@ -17791,11 +17563,11 @@ co
co
Nm
dO
-dO
-dO
+hv
+xE
+Gb
UG
-dO
-dO
+UQ
dO
fJ
rn
@@ -17929,16 +17701,16 @@ xk
qA
aO
mO
+bC
+df
qA
-qA
-qA
-qA
-hv
-qA
-qA
-Of
-UQ
-qA
+dO
+dO
+dO
+Ka
+dO
+dO
+dO
cJ
Dz
Dz
@@ -18075,7 +17847,7 @@ sL
sL
sL
sL
-sL
+az
sL
TC
qA
diff --git a/maps/offmap_vr/talon/talon2.dmm b/maps/offmap_vr/talon/talon2.dmm
index c32cb4bfa1..207a914142 100644
--- a/maps/offmap_vr/talon/talon2.dmm
+++ b/maps/offmap_vr/talon/talon2.dmm
@@ -14,8 +14,7 @@
},
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/carpet,
/area/talon/decktwo/eng_room)
@@ -39,8 +38,7 @@
},
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/carpet,
/area/talon/decktwo/med_room)
@@ -54,9 +52,7 @@
"aj" = (
/obj/structure/railing,
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/turf/simulated/open,
/area/talon/decktwo/bridge_upper)
@@ -74,8 +70,7 @@
/obj/machinery/portable_atmospherics/powered/scrubber,
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/talon/decktwo/lifeboat)
@@ -87,8 +82,7 @@
},
/obj/machinery/alarm/talon{
dir = 8;
- pixel_x = 22;
- pixel_y = 0
+ pixel_x = 22
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -111,8 +105,7 @@
/area/talon/decktwo/cap_room)
"aq" = (
/obj/machinery/atmospherics/portables_connector/aux{
- dir = 1;
- icon_state = "map_connector-aux"
+ dir = 1
},
/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating/eris/under,
@@ -171,9 +164,7 @@
"aA" = (
/obj/structure/table/woodentable,
/obj/machinery/firealarm{
- dir = 2;
layer = 3.3;
- pixel_x = 0;
pixel_y = 26
},
/turf/simulated/floor/carpet/blucarpet,
@@ -185,9 +176,7 @@
icon_state = "1-2"
},
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/eris/steel,
@@ -233,8 +222,7 @@
icon_state = "1-2"
},
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_port)
@@ -253,8 +241,7 @@
/area/talon/decktwo/cap_room)
"aL" = (
/obj/machinery/light/small{
- dir = 1;
- icon_state = "bulb1"
+ dir = 1
},
/obj/structure/closet/secure_closet/talon_captain,
/obj/item/device/radio/off{
@@ -274,8 +261,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atm{
- pixel_x = 32;
- step_x = 0
+ pixel_x = 32
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -301,9 +287,7 @@
"aP" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/structure/table/standard,
/turf/simulated/floor/wood,
@@ -319,8 +303,7 @@
/area/talon/maintenance/decktwo_solars)
"aS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
@@ -338,8 +321,7 @@
/area/talon/decktwo/bar)
"aU" = (
/obj/machinery/vending/dinnerware{
- dir = 1;
- icon_state = "dinnerware"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/steel/gray_perforated,
/area/talon/decktwo/bar)
@@ -358,8 +340,7 @@
/area/talon/decktwo/cap_room)
"aX" = (
/obj/structure/bed/chair/bay/chair{
- dir = 1;
- icon_state = "bay_chair_preview"
+ dir = 1
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
@@ -376,13 +357,10 @@
},
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/structure/table/standard,
/obj/structure/closet/hydrant{
- pixel_x = 0;
pixel_y = 32;
starts_with = list(/obj/item/clothing/suit/fire/firefighter = 2, /obj/item/clothing/mask/gas = 2, /obj/item/device/flashlight = 2, /obj/item/weapon/tank/oxygen/red = 2, /obj/item/weapon/extinguisher = 2, /obj/item/clothing/head/hardhat/red = 2)
},
@@ -416,8 +394,7 @@
dir = 6
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
icon_state = "4-8"
@@ -434,8 +411,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
icon_state = "4-8"
@@ -488,8 +464,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/door/firedoor/glass/talon,
/obj/machinery/door/airlock/command{
@@ -510,8 +485,7 @@
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -612,8 +586,7 @@
/area/talon/decktwo/med_room)
"bu" = (
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/wood,
/area/talon/decktwo/cap_room)
@@ -641,14 +614,12 @@
icon_state = "0-2"
},
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
},
/obj/structure/bed/chair/bay/chair{
- dir = 1;
- icon_state = "bay_chair_preview"
+ dir = 1
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
@@ -678,7 +649,6 @@
/area/talon/decktwo/sec_room)
"bA" = (
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
@@ -693,9 +663,7 @@
"bB" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/wood,
/area/talon/decktwo/cap_room)
@@ -715,8 +683,7 @@
/area/talon/decktwo/cap_room)
"bF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -726,8 +693,7 @@
pixel_y = -24
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -784,8 +750,7 @@
/obj/structure/catwalk,
/obj/machinery/alarm/talon{
dir = 4;
- pixel_x = -24;
- pixel_y = 0
+ pixel_x = -24
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_starboard)
@@ -810,15 +775,13 @@
/obj/structure/catwalk,
/obj/machinery/alarm/talon{
dir = 4;
- pixel_x = -24;
- pixel_y = 0
+ pixel_x = -24
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_starboard)
"bP" = (
/obj/structure/extinguisher_cabinet{
dir = 8;
- icon_state = "extinguisher_closed";
pixel_x = 30
},
/obj/structure/disposalpipe/segment{
@@ -847,13 +810,11 @@
/area/talon/maintenance/decktwo_port)
"bT" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 10;
- icon_state = "intact-scrubbers"
+ dir = 10
},
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -863,8 +824,7 @@
},
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 6;
- icon_state = "intact-aux"
+ dir = 6
},
/obj/machinery/alarm/talon{
pixel_y = 22
@@ -876,8 +836,7 @@
icon_state = "1-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -890,23 +849,20 @@
/area/talon/decktwo/bar)
"bW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/oxygen_pump{
dir = 1;
- icon_state = "oxygen_tank";
pixel_y = -30
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
"bX" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -1020,7 +976,6 @@
/area/talon/maintenance/decktwo_starboard)
"cs" = (
/obj/structure/cable/heavyduty{
- dir = 2;
icon_state = "0-4"
},
/obj/structure/cable/yellow{
@@ -1055,8 +1010,7 @@
"cA" = (
/obj/structure/railing,
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/turf/simulated/open,
/area/talon/decktwo/central_hallway)
@@ -1100,30 +1054,25 @@
"cP" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
"cR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/cable/green,
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -24
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -1203,7 +1152,6 @@
icon_state = "0-2"
},
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
@@ -1228,9 +1176,7 @@
"dT" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/effect/landmark/start{
name = "Talon Pilot"
@@ -1267,8 +1213,7 @@
icon_state = "1-2"
},
/obj/machinery/light/small{
- dir = 8;
- pixel_y = 0
+ dir = 8
},
/obj/machinery/suit_cycler/vintage/tengi,
/turf/simulated/floor/wood,
@@ -1291,8 +1236,7 @@
/area/talon/decktwo/tech)
"ef" = (
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/obj/machinery/pointdefense_control{
id_tag = "talon_pd"
@@ -1301,8 +1245,7 @@
/area/talon/decktwo/tech)
"eg" = (
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/obj/machinery/suit_cycler/vintage/tpilot,
/turf/simulated/floor/wood,
@@ -1396,8 +1339,7 @@
/area/talon/decktwo/lifeboat)
"eQ" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 10;
- icon_state = "intact-scrubbers"
+ dir = 10
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
@@ -1468,7 +1410,6 @@
icon_state = "0-2"
},
/obj/machinery/power/apc/talon{
- cell_type = /obj/item/weapon/cell/apc;
dir = 8;
name = "west bump";
pixel_x = -28
@@ -1494,9 +1435,7 @@
"fr" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/obj/effect/landmark/start{
name = "Talon Guard"
@@ -1537,7 +1476,6 @@
},
/obj/machinery/light_switch{
dir = 4;
- icon_state = "light1";
pixel_x = -24
},
/turf/simulated/floor/wood,
@@ -1547,8 +1485,7 @@
/area/talon/decktwo/med_room)
"fB" = (
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/obj/machinery/suit_cycler/vintage/tmedic,
/turf/simulated/floor/wood,
@@ -1562,8 +1499,7 @@
/area/talon/decktwo/lifeboat)
"fF" = (
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/obj/machinery/suit_cycler/vintage/tguard,
/turf/simulated/floor/wood,
@@ -1656,8 +1592,7 @@
/area/talon/maintenance/decktwo_aft)
"go" = (
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/turf/simulated/open,
/area/talon/maintenance/decktwo_aft)
@@ -1684,8 +1619,7 @@
/area/talon/maintenance/decktwo_aft)
"gD" = (
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/obj/structure/railing{
dir = 1
@@ -1705,8 +1639,7 @@
/area/talon/maintenance/decktwo_aft)
"gL" = (
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/obj/structure/lattice,
/turf/simulated/open,
@@ -1721,8 +1654,7 @@
},
/obj/effect/map_helper/airlock/sensor/int_sensor,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 10;
- icon_state = "intact-aux"
+ dir = 10
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -1730,14 +1662,6 @@
/obj/structure/railing,
/turf/simulated/open,
/area/talon/maintenance/decktwo_aft)
-"gU" = (
-/obj/structure/railing,
-/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
- },
-/turf/simulated/open,
-/area/talon/maintenance/decktwo_aft)
"gV" = (
/obj/structure/railing,
/obj/structure/railing{
@@ -1760,8 +1684,7 @@
dir = 1
},
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/turf/simulated/open,
/area/talon/maintenance/decktwo_aft)
@@ -1790,8 +1713,7 @@
/area/talon/maintenance/decktwo_aft)
"hz" = (
/obj/structure/railing{
- dir = 4;
- icon_state = "railing0"
+ dir = 4
},
/obj/structure/railing,
/turf/simulated/open,
@@ -1799,8 +1721,7 @@
"hE" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/zpipe/down/supply{
- dir = 4;
- icon_state = "down-supply"
+ dir = 4
},
/obj/machinery/door/firedoor/glass/talon,
/turf/simulated/open,
@@ -1808,8 +1729,7 @@
"hF" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{
- dir = 8;
- icon_state = "down-scrubbers"
+ dir = 8
},
/obj/machinery/door/firedoor/glass/talon,
/obj/structure/disposalpipe/down{
@@ -1860,8 +1780,7 @@
/area/talon/maintenance/decktwo_aft)
"ik" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -1897,29 +1816,24 @@
},
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/reinforced/airless,
/area/talon/maintenance/decktwo_solars)
"iw" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/catwalk,
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
"ix" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 1;
- icon_state = "pipe-t"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -1958,8 +1872,7 @@
/area/talon/decktwo/tech)
"iV" = (
/obj/machinery/computer/ship/engines{
- dir = 1;
- icon_state = "computer"
+ dir = 1
},
/turf/simulated/floor/tiled/eris/dark/violetcorener,
/area/talon/decktwo/tech)
@@ -1972,11 +1885,9 @@
"jz" = (
/obj/structure/cable/green{
d2 = 8;
- dir = 2;
icon_state = "0-8"
},
/obj/machinery/power/apc/talon{
- dir = 2;
name = "south bump";
pixel_y = -28;
req_access = list(67)
@@ -2011,8 +1922,7 @@
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2024,8 +1934,7 @@
dir = 6
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2066,8 +1975,7 @@
},
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_port)
@@ -2163,8 +2071,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2180,8 +2087,7 @@
"mD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2209,16 +2115,14 @@
icon_state = "pipe-j2"
},
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/window/reinforced,
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
"mR" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -2295,9 +2199,7 @@
icon_state = "1-2"
},
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/eris/steel,
@@ -2391,8 +2293,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
@@ -2415,15 +2316,13 @@
/area/talon/maintenance/decktwo_aft)
"qi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2439,7 +2338,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/sign/directions/roomnum{
dir = 4;
- icon_state = "roomnum";
pixel_x = 32;
pixel_y = -9
},
@@ -2459,23 +2357,20 @@
"rb" = (
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal/deliveryChute{
- dir = 4;
- icon_state = "intake"
+ dir = 4
},
/obj/effect/floor_decal/rust/steel_decals_rusted1{
dir = 8
},
/obj/effect/floor_decal/rust/steel_decals_rusted1{
- dir = 4;
- icon_state = "steel_decals_rusted1"
+ dir = 4
},
/turf/simulated/floor/tiled/techmaint,
/area/talon/maintenance/decktwo_aft)
"re" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 6;
- icon_state = "intact-aux"
+ dir = 6
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -2500,13 +2395,11 @@
/area/talon/decktwo/central_hallway)
"rH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2539,8 +2432,7 @@
/area/talon/decktwo/bar)
"sm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -2579,8 +2471,7 @@
},
/obj/machinery/door/airlock/maintenance/common,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -2607,8 +2498,7 @@
"sQ" = (
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/obj/structure/cable/green{
d1 = 1;
@@ -2661,8 +2551,7 @@
},
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 10;
- icon_state = "intact-aux"
+ dir = 10
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -2687,8 +2576,7 @@
/area/talon/decktwo/lifeboat)
"uz" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -2728,8 +2616,7 @@
"uM" = (
/obj/item/weapon/stool/baystool/padded,
/obj/machinery/camera/network/talon{
- dir = 6;
- icon_state = "camera"
+ dir = 6
},
/turf/simulated/floor/tiled/eris/cafe,
/area/talon/decktwo/bar)
@@ -2762,7 +2649,6 @@
"vj" = (
/obj/machinery/conveyor{
dir = 8;
- icon_state = "conveyor0";
id = "talontrash"
},
/obj/machinery/door/blast/regular{
@@ -2776,22 +2662,19 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/sign/directions/evac{
pixel_y = -38
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
"vB" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
@@ -2826,8 +2709,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -2850,15 +2732,13 @@
/area/talon/maintenance/decktwo_solars)
"wW" = (
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/wall/rshull,
/area/talon/maintenance/decktwo_aft)
"wZ" = (
/obj/structure/disposalpipe/trunk{
- dir = 4;
- icon_state = "pipe-t"
+ dir = 4
},
/obj/structure/disposaloutlet,
/turf/simulated/floor/plating/eris/under/airless,
@@ -2879,8 +2759,7 @@
/area/talon/maintenance/decktwo_solars)
"xi" = (
/obj/machinery/computer/shuttle_control/explore/talon_lifeboat{
- dir = 4;
- icon_state = "computer"
+ dir = 4
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/talon/decktwo/lifeboat)
@@ -2940,12 +2819,10 @@
/area/talon/decktwo/bridge_upper)
"yF" = (
/obj/structure/disposalpipe/trunk{
- dir = 1;
- icon_state = "pipe-t"
+ dir = 1
},
/obj/structure/disposaloutlet{
- dir = 8;
- icon_state = "outlet"
+ dir = 8
},
/obj/structure/window/reinforced{
dir = 4
@@ -2954,8 +2831,7 @@
dir = 8
},
/obj/effect/floor_decal/rust/steel_decals_rusted1{
- dir = 4;
- icon_state = "steel_decals_rusted1"
+ dir = 4
},
/turf/simulated/floor/tiled/techmaint,
/area/talon/maintenance/decktwo_aft)
@@ -3034,8 +2910,7 @@
"zW" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 5;
- icon_state = "intact-aux"
+ dir = 5
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -3061,7 +2936,6 @@
"As" = (
/obj/structure/bed/chair/bay/comfy/blue{
dir = 1;
- icon_state = "bay_comfychair_preview";
pixel_y = 5
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
@@ -3098,9 +2972,7 @@
"AD" = (
/obj/machinery/alarm/talon{
dir = 4;
- icon_state = "alarm0";
- pixel_x = -22;
- pixel_y = 0
+ pixel_x = -22
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/decktwo/bridge_upper)
@@ -3126,15 +2998,13 @@
"AX" = (
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_starboard)
"Bb" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -3174,7 +3044,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/oxygen_pump{
dir = 8;
- icon_state = "oxygen_tank";
pixel_x = -30
},
/obj/structure/disposalpipe/segment,
@@ -3182,8 +3051,7 @@
/area/talon/decktwo/central_hallway)
"Cg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/light/small{
dir = 1
@@ -3316,9 +3184,7 @@
/area/talon/decktwo/bar)
"Dr" = (
/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+ dir = 8
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -3336,8 +3202,7 @@
icon_state = "2-4"
},
/obj/machinery/camera/network/talon{
- dir = 6;
- icon_state = "camera"
+ dir = 6
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/hull/airless,
@@ -3355,7 +3220,6 @@
"EA" = (
/obj/machinery/conveyor{
dir = 8;
- icon_state = "conveyor0";
id = "talontrash"
},
/turf/simulated/floor/tiled/techmaint,
@@ -3376,7 +3240,6 @@
"Fu" = (
/obj/structure/extinguisher_cabinet{
dir = 4;
- icon_state = "extinguisher_closed";
pixel_x = -30
},
/obj/structure/disposalpipe/segment,
@@ -3384,8 +3247,7 @@
/area/talon/decktwo/central_hallway)
"FA" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/cable/green{
d1 = 4;
@@ -3444,27 +3306,23 @@
"Gi" = (
/obj/machinery/disposal,
/obj/structure/disposalpipe/trunk{
- dir = 4;
- icon_state = "pipe-t"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
"Gm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/oxygen_pump{
dir = 1;
- icon_state = "oxygen_tank";
pixel_y = -30
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -3493,8 +3351,7 @@
/obj/machinery/door/airlock/maintenance/common,
/obj/machinery/door/firedoor/glass/talon,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_starboard)
@@ -3621,8 +3478,7 @@
},
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -3637,8 +3493,7 @@
/area/talon/decktwo/central_hallway)
"IX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -3647,8 +3502,7 @@
pixel_y = -31
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -3666,20 +3520,17 @@
/area/talon/decktwo/central_hallway)
"Jh" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/catwalk,
/obj/structure/sign/securearea{
- pixel_x = 0;
pixel_y = 30
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
"Jo" = (
/obj/machinery/camera/network/talon{
- dir = 4;
- icon_state = "camera"
+ dir = 4
},
/obj/item/weapon/paper/talon_lifeboat,
/obj/structure/table/steel,
@@ -3688,8 +3539,7 @@
"Ju" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 9;
- icon_state = "intact-aux"
+ dir = 9
},
/obj/machinery/firealarm{
dir = 1;
@@ -3699,12 +3549,10 @@
/area/talon/maintenance/decktwo_aft)
"JF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
+ dir = 5
},
/obj/structure/cable/green{
d1 = 1;
@@ -3730,8 +3578,7 @@
/area/talon/decktwo/central_hallway)
"KE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -3751,8 +3598,7 @@
/area/talon/decktwo/med_room)
"KR" = (
/obj/machinery/chemical_dispenser/bar_alc/full{
- dir = 8;
- icon_state = "booze_dispenser"
+ dir = 8
},
/obj/structure/table/marble,
/obj/structure/cable/green{
@@ -3813,8 +3659,7 @@
},
/obj/structure/catwalk,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_starboard)
@@ -3891,7 +3736,6 @@
},
/obj/structure/extinguisher_cabinet{
dir = 8;
- icon_state = "extinguisher_closed";
pixel_x = 30
},
/turf/simulated/floor/tiled/eris/steel,
@@ -3904,8 +3748,7 @@
"Nm" = (
/obj/machinery/door/firedoor/glass/talon,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/techmaint_panels,
/area/talon/decktwo/bar)
@@ -3914,8 +3757,7 @@
dir = 8
},
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/obj/machinery/portable_atmospherics/powered/pump/filled,
/turf/simulated/floor/tiled/techfloor/grid,
@@ -3933,7 +3775,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/oxygen_pump{
dir = 4;
- icon_state = "oxygen_tank";
pixel_x = 30
},
/turf/simulated/floor/tiled/eris/steel,
@@ -3956,8 +3797,7 @@
icon_state = "pipe-c"
},
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 10;
- icon_state = "intact-scrubbers"
+ dir = 10
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -3968,8 +3808,7 @@
icon_state = "4-8"
},
/obj/machinery/camera/network/talon{
- dir = 10;
- icon_state = "camera"
+ dir = 10
},
/turf/simulated/floor/tiled/eris/dark/cyancorner,
/area/talon/decktwo/bridge_upper)
@@ -3995,7 +3834,6 @@
/area/talon/decktwo/central_hallway)
"Ou" = (
/obj/structure/cable/heavyduty{
- dir = 2;
icon_state = "0-4"
},
/turf/simulated/floor/hull/airless,
@@ -4033,7 +3871,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/sign/directions/roomnum{
dir = 1;
- icon_state = "roomnum";
pixel_x = -31;
pixel_y = -9
},
@@ -4050,7 +3887,6 @@
/obj/structure/catwalk,
/obj/structure/cable/green{
d2 = 8;
- dir = 2;
icon_state = "0-8"
},
/obj/machinery/power/apc/talon{
@@ -4078,8 +3914,7 @@
icon_state = "4-8"
},
/obj/effect/floor_decal/industrial/warning/dust/corner{
- dir = 1;
- icon_state = "warningcorner_dust"
+ dir = 1
},
/turf/simulated/floor/hull/airless,
/area/talon/maintenance/decktwo_solars)
@@ -4098,8 +3933,7 @@
pixel_y = 32
},
/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
+ dir = 4
},
/turf/simulated/floor/tiled/eris/white,
/area/talon/decktwo/central_hallway)
@@ -4126,7 +3960,6 @@
/obj/structure/catwalk,
/obj/structure/cable/green{
d2 = 8;
- dir = 2;
icon_state = "0-8"
},
/obj/machinery/power/apc/talon{
@@ -4220,15 +4053,13 @@
/area/talon/decktwo/tech)
"RQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/obj/machinery/door/firedoor/glass{
dir = 2
@@ -4263,8 +4094,7 @@
icon_state = "1-2"
},
/obj/machinery/camera/network/talon{
- dir = 9;
- icon_state = "camera"
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -4351,8 +4181,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/wood,
/area/talon/decktwo/bar)
@@ -4383,7 +4212,6 @@
/area/talon/maintenance/decktwo_aft)
"Us" = (
/obj/structure/cable/heavyduty{
- dir = 2;
icon_state = "0-4"
},
/obj/structure/cable/yellow{
@@ -4401,7 +4229,6 @@
"Uv" = (
/obj/structure/cable/heavyduty,
/obj/structure/cable/heavyduty{
- dir = 2;
icon_state = "0-4"
},
/obj/structure/cable/heavyduty{
@@ -4415,8 +4242,7 @@
/area/talon/maintenance/decktwo_solars)
"UJ" = (
/obj/machinery/camera/network/talon{
- dir = 4;
- icon_state = "camera"
+ dir = 4
},
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/eris/steel,
@@ -4427,7 +4253,6 @@
},
/obj/structure/extinguisher_cabinet{
dir = 4;
- icon_state = "extinguisher_closed";
pixel_x = -30
},
/obj/structure/disposalpipe/segment,
@@ -4487,8 +4312,7 @@
"Vz" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/aux{
- dir = 4;
- icon_state = "intact-aux"
+ dir = 4
},
/turf/simulated/floor/plating/eris/under,
/area/talon/maintenance/decktwo_aft)
@@ -4675,15 +4499,13 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4;
- icon_state = "intact-scrubbers"
+ dir = 4
},
/obj/structure/sign/department/shield{
pixel_y = -31
},
/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-s"
+ dir = 4
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -4692,7 +4514,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/sign/directions/roomnum{
dir = 8;
- icon_state = "roomnum";
pixel_x = 32;
pixel_y = -9
},
@@ -4700,8 +4521,7 @@
/area/talon/decktwo/central_hallway)
"YE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9;
- pixel_y = 0
+ dir = 9
},
/turf/simulated/floor/tiled/eris/steel,
/area/talon/decktwo/central_hallway)
@@ -14220,7 +14040,7 @@ go
go
go
go
-gU
+hX
WG
gC
gn
@@ -14788,7 +14608,7 @@ Jh
gD
gL
go
-gU
+hX
mm
gC
gT
diff --git a/maps/offmap_vr/talon/talon_areas.dm b/maps/offmap_vr/talon/talon_areas.dm
index 36aee1dd2e..848ce2ae99 100644
--- a/maps/offmap_vr/talon/talon_areas.dm
+++ b/maps/offmap_vr/talon/talon_areas.dm
@@ -1,73 +1,109 @@
+/area/talon
+ name = "\improper ITV Talon"
+ icon = 'icons/turf/areas_vr_talon.dmi'
+ icon_state = "dark"
+
/area/talon/maintenance/deckone_port
name = "\improper Deck One - Port Maintenance"
+ icon_state = "dark-p"
/area/talon/maintenance/deckone_starboard
name = "\improper Deck One - Starboard Maintenance"
+ icon_state = "dark-s"
/area/talon/maintenance/deckone_port_aft_wing
name = "\improper Deck One - Aft Port Wing"
+ icon_state = "gray-p"
/area/talon/maintenance/deckone_starboard_aft_wing
name = "\improper Deck One - Aft Starboard Wing"
+ icon_state = "gray-s"
/area/talon/maintenance/deckone_port_fore_wing
name = "\improper Deck One - Fore Port Wing"
+ icon_state = "gray-p"
/area/talon/maintenance/deckone_starboard_fore_wing
name = "\improper Deck One - Fore Starboard Wing"
+ icon_state = "gray-s"
/area/talon/maintenance/decktwo_port
name = "\improper Deck Two - Port Maintenance"
+ icon_state = "dark-p"
/area/talon/maintenance/decktwo_starboard
name = "\improper Deck Two - Starboard Maintenance"
+ icon_state = "dark-s"
/area/talon/maintenance/decktwo_aft
name = "\improper Deck Two - Aft Maintenance"
+ icon_state = "dark-a"
/area/talon/maintenance/decktwo_solars
name = "\improper Deck Two - Ext Solars"
-
+ icon_state = "yellow"
/area/talon/deckone/central_hallway
name = "\improper Deck One - Central Hallway"
+ icon_state = "gray-c"
/area/talon/deckone/bridge_hallway
name = "\improper Deck One - Bridge Hallway"
+ icon_state = "gray"
/area/talon/deckone/medical
name = "\improper Deck One - Medical"
+ icon_state = "green"
/area/talon/deckone/workroom
name = "\improper Deck One - Workroom"
/area/talon/deckone/brig
name = "\improper Deck One - Brig"
+ icon_state = "red"
/area/talon/deckone/port_eng
name = "\improper Deck One - Port Engineering"
+ icon_state = "yellow-p"
/area/talon/deckone/port_eng_store
name = "\improper Deck One - Port Eng. Storage"
+ icon_state = "yellow-p"
/area/talon/deckone/starboard_eng
name = "\improper Deck One - Starboard Engineering"
+ icon_state = "yellow-s"
/area/talon/deckone/starboard_eng_store
name = "\improper Deck One - Starboard Eng. Storage"
+ icon_state = "yellow-s"
/area/talon/deckone/armory
name = "\improper Deck One - Armory"
+ icon_state = "red"
/area/talon/deckone/secure_storage
name = "\improper Deck One - Secure Storage"
+ icon_state = "red"
/area/talon/deckone/bridge
name = "\improper Deck One - Bridge"
+ icon_state = "blue"
/area/talon/deckone/port_solar
name = "\improper Deck One - Port Solar Control"
+ icon_state = "yellow-p"
/area/talon/deckone/starboard_solar
name = "\improper Deck One - Starboard Solar Control"
+ icon_state = "yellow-s"
/area/talon/decktwo/central_hallway
name = "\improper Deck Two - Central Hallway"
+ icon_state = "gray-c"
/area/talon/decktwo/pilot_room
name = "\improper Deck Two - Pilot Cabin"
+ icon_state = "gray"
/area/talon/decktwo/med_room
name = "\improper Deck Two - Doctor Cabin"
+ icon_state = "green"
/area/talon/decktwo/eng_room
name = "\improper Deck Two - Engineer Cabin"
+ icon_state = "yellow"
/area/talon/decktwo/sec_room
name = "\improper Deck Two - Guard Cabin"
+ icon_state = "red"
/area/talon/decktwo/cap_room
name = "\improper Deck Two - Captain Cabin"
+ icon_state = "blue"
/area/talon/decktwo/bar
name = "\improper Deck Two - Bar"
/area/talon/decktwo/tech
name = "\improper Deck Two - Tech Room"
+ icon_state = "yellow"
/area/talon/decktwo/lifeboat
name = "\improper Deck Two - Lifeboat"
+ icon_state = "purple"
/area/talon/decktwo/bridge_upper
- name = "\improper Deck Two - Upper Bridge"
\ No newline at end of file
+ name = "\improper Deck Two - Upper Bridge"
+ icon_state = "blue"
\ No newline at end of file
diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm
index abd4450a36..35d4c81656 100644
--- a/maps/southern_cross/southern_cross-6.dmm
+++ b/maps/southern_cross/southern_cross-6.dmm
@@ -2319,39 +2319,64 @@
"SE" = (/obj/effect/floor_decal/sign/small_g,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess)
"SF" = (/obj/effect/floor_decal/sign/small_f,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess)
"SG" = (/obj/effect/floor_decal/sign/small_h,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess)
-
+"SH" = (/turf/unsimulated/wall,/area/virtual_reality)
+"SI" = (/obj/machinery/vending/deathmatch/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"SJ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"SK" = (/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"SL" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Spawn"},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"SM" = (/obj/effect/landmark/virtual_reality{name = "Thunderdome (Red Team)"},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"SN" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"SO" = (/obj/structure/morgue/crematorium{desc = "qdel"; id = "vr_thunderdome"; name = "Object Deletorinator"},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"SP" = (/obj/machinery/computer/pod{desc = "A control panel used to open and close Spawn Kill Prevention barriers."; dir = 1; id = "spawnred"; name = "Spawn Kill Prevention"; title = "Spawn Kill Prevention"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"SQ" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"SR" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Object Deletion"},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"SS" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/crematorium{desc = "Used to delete objects totally not by burning them."; id = "vr_thunderdome"; name = "DEL"; req_access = newlist()},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"ST" = (/obj/machinery/door/airlock/multi_tile/metal,/obj/machinery/door/blast/regular{id = "spawnred"; name = "Red Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SU" = (/obj/machinery/door/blast/regular{id = "spawnred"; name = "Red Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SV" = (/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SW" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SX" = (/obj/structure/table/steel,/obj/random/energy,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SY" = (/obj/item/weapon/gun/magic/firestaff,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"SZ" = (/obj/random/energy,/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"Ta" = (/obj/machinery/door/airlock/multi_tile/metal,/obj/machinery/door/blast/regular{id = "spawngreen"; name = "Green Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"Tb" = (/obj/machinery/door/blast/regular{id = "spawngreen"; name = "Green Team Spawn"},/turf/unsimulated/floor{icon_state = "steel_dirty"},/area/virtual_reality)
+"Td" = (/obj/machinery/vending/deathmatch,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"Te" = (/obj/machinery/computer/pod{desc = "A control panel used to open and close Spawn Kill Prevention barriers."; id = "spawngreen"; name = "Spawn Kill Prevention"; title = "Spawn Kill Prevention"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/virtual_reality)
+"Tf" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+"Tg" = (/obj/effect/landmark/virtual_reality{name = "Thunderdome (Green Team)"},/turf/unsimulated/floor{icon_state = "dark"},/area/virtual_reality)
+
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRURURURURURURURURURUagaeaeaeafaeaeaeaeaeaeagahaiahaiahahaiahaiahagbkbkbkbkbkbkaOaLaAajagananclalalalalalalalagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauambAbxbxbxbxbxbDawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRWRVRYRXSaRZScSbSdRUagaeaeaeaeaeaeaeaeaxaeagaiazayazayazayazayahagbkbkbkbkbkbkaOaLaAakagananctaBaBaBaBaBaBaBagaoaDaoaoaoaoaoaoaDaoagapapapapapapapapapapagavauambBaFaFaFaFaFbCawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSfSeSgSeSgSeSgSeSgRUagaeaxaeaeaeaeaeaeaeaeagatayaHaCaIaCaIaKazahagbkaVbmaWbmaXaOaLaAakagananaJalaPalaBaQaZaYagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavavaRbBaFaFaFaFaFbCawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSiShSjShSjShSjShSjRUagaeaeaeaeaeafaeaeaeaeagaUbabbaSaTaTaUaNazaiagbcbrbqbvbqbsaOaLaAakagaManbdbebfbHbgclbhbiagaoaoaoaDaoaoaDaoaoaoagapapapapapapapapapapagavauambBaFaFaFaFaFbCawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSkSjShSjShSjShSjShRUagaeaeafaeaeaeafaeaeaeagaUaUaUaUbjbjaUaNayahagblbrbqbvbqbsaOaLaAakagananbnbobobobpclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamcacbcbcbcbcbccawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSlShSjShSjShSjShSjRUagaeaeaeaeaeaeaeaeaeaeagaUaUaUaUbjbjaUbGazaiagblbrbqbvbqbsaOaLaAakagananbubybzbybwclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamaqarararararasawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSmSjShSjShSjShSjShRUagaeaeaeaeaeaxaeaeaeafagaUbEbFaSaTaTaUaNayaiagbIbrbqbvbqbsaOaLaAakagaManbObQbzbQbRclbtbNagaoaoaoaDaoaoaDaoaoaoagapapapapapapapapapapagavauamaEaFaFaFaFaFaGawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSoSnSpSnSpSnSpSnSpRUagaeaeaxaeaeaeaeaeaeaeagbVaybJbKbLbKbLbMazahagbkbUbSbWbSbXaOaLaAakagananbYbzbzbzbNclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavavbZaEaFaFaFaFaFaGawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSrSqStSsSvSuSxSwSyRUagaeaeaeaeaeaeaeaeaeaeagaiazayazayazayazazaiagbkbkbkbkbkbkaOaLaAakagananbObQbzbQbRclbtbNagaoaDaoaoaoaoaoaoaDaoagapapapapapapapapapapagavauamaEaFaFaFaFaFaGawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRUSzSBSASDSCSFSESGRUagafaeaeaeaxaeaeaeaeaxagahaiahaiahahaiahaiahagbTbkbkbkbkbkaOaLaAakaganancncrbPcrcsclcBcuagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamcIcKcKcKcKcKcOawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeeeeeeeeeeeeeeeeeeeeabcdcdcdcdcdcdcdcdcdcdabcdcdcdcdcdcdcdcdcdcdabcdcdcdcdcdcdcdcdcdcdabcecececececececececeabcecececececececececeabcecececececececececeabcecececececececececeabaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcgcgagchcicicicicicicicichagcpcocCdxdydxcDdzdydzagcqcqcqcqcqcqcqcqcqcqagcwcvcRdfdgdgdgdgdgeaagcxcxcycycycycycycycyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfczcfcfcfcfczcfagcgcAcgcgcgcgcAcgcgcgagdkdkdkdkdkdkdociciciagcpcocCdFcFdFcFdGcFdGagcqcqcHcqcqcqcqcqcqcqagcwcvcRdpcJcJcJcJcJduagcycycycycLcLcLcycycyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcMcgagcWdwdAdBdAdhcVciciciagcpcpdCdFcFdydydycFdGagcqcqcqcqcqcqcPcQcqcqagcwcwdHdpcJcJcJcJcJduagcycycycScTcTcTcycycyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfczcfcfcfcfczcfcfcfagcgcgcUcgcMcgcgcgcgcgagcXdIdndvdndMcVcNdOciagcpcocCdFcFcFcFcFcFdGagcqcqcqcqcYcqcqcqcqcqagcwcvcRdpcJcJcJcJcJduagcycLcZdadbdbdcddcLcyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgdecgcgcgcgdecgagcWdIdndvdndMcVcNdQciagcpcocCdXdNdNdNdNdNdZagcqcqcqcqcqcqcqdmcqcqagcwcvcRdTdUdUdUdUdUdVagcycLcZdqdrdsdtddcLcyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcgcgagcWdIdndvdndMcVcNdQciagcpcocCcjckckdYckckcmagcqcqcqcqcqcqcqcqcqcqagcwcvcRebecececececgYagcycLcZdqdDdEdtddcLcyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfczcfcfcfcfczcfagcgcgcgcgcAcgcUcgcgcAagcXdIdndvdndMcVcNhjciagcpcocCcEcFcFcFcFcFcGagdPdPdPdPdPdPdPdPdPdPagcwcvcRihcJcJcJcJcJjyagcycLcZdcdJdJdKddcLcyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagdLcgcgcgcgdLcgcgcgcgagcWjzjAkXjAkYcVciciciagcpcpkZcEcFdjdjdjcFcGagdWdWdWdWdWdWdWdWdWdWagcwcwlrihcJcJcJcJcJjyagcycycydRdRdRdScycycyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfczcfcfcfcfczcfcfcfagcgdecgcUcgcgdecgcUcgagRrRrRrRrRrRrRtciciciagcpcocCcEcFcEcFcGcFcGagdWdWdWdWdWdWdWdWdWdWagcwcvcRihcJcJcJcJcJjyagcycycycLcLcLcycycycyawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgdLcgcgcgcgdLagchcicicicicicicicichagcpcocCdidjdilKdldjdlagdWdWdWdWdWdWdWdWdWdWagcwcvcRqbqyqyqyqyqyvzagcycycycycycycycyededawaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
+aaaaaaaaaaSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabacacacacacacacacacacabaaaa
+aaaaaaaaaaSHSISJSJSJSJSJSJSJSJSJSJSJSJSLSKSKSMSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRURURURURURURURURURUagaeaeaeafaeaeaeaeaeaeagahaiahaiahahaiahaiahagbkbkbkbkbkbkaOaLaAajagananclalalalalalalalagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauambAbxbxbxbxbxbDawaaaa
+aaaaaaaaaaSHSISJSJSJSJSJSNSNSJSJSJSJSISHSKSKSKSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRWRVRYRXSaRZScSbSdRUagaeaeaeaeaeaeaeaeaxaeagaiazayazayazayazayahagbkbkbkbkbkbkaOaLaAakagananctaBaBaBaBaBaBaBagaoaDaoaoaoaoaoaoaDaoagapapapapapapapapapapagavauambBaFaFaFaFaFbCawaaaa
+aaaaaaaaaaSHSISJSJSJSJSJSNSNSJSJSJSJSISHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSfSeSgSeSgSeSgSeSgRUagaeaxaeaeaeaeaeaeaeaeagatayaHaCaIaCaIaKazahagbkaVbmaWbmaXaOaLaAakagananaJalaPalaBaQaZaYagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavavaRbBaFaFaFaFaFbCawaaaa
+aaaaaaaaaaSHSISJSJSJSJSJSJSJSJSJSJSJSISHSOSKSOSKSSSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSiShSjShSjShSjShSjRUagaeaeaeaeaeafaeaeaeaeagaUbabbaSaTaTaUaNazaiagbcbrbqbvbqbsaOaLaAakagaManbdbebfbHbgclbhbiagaoaoaoaDaoaoaDaoaoaoagapapapapapapapapapapagavauambBaFaFaFaFaFbCawaaaa
+aaaaaaaaaaSHSISJSJSJSJSJSPSJSQSJSJSJSJSRSKSKSKSKSKSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSkSjShSjShSjShSjShRUagaeaeafaeaeaeafaeaeaeagaUaUaUaUbjbjaUaNayahagblbrbqbvbqbsaOaLaAakagananbnbobobobpclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamcacbcbcbcbcbccawaaaa
+aaaaaaaaaaSHSHSHSTSUSTSUSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSlShSjShSjShSjShSjRUagaeaeaeaeaeaeaeaeaeaeagaUaUaUaUbjbjaUbGazaiagblbrbqbvbqbsaOaLaAakagananbubybzbybwclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamaqarararararasawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSmSjShSjShSjShSjShRUagaeaeaeaeaeaxaeaeaeafagaUbEbFaSaTaTaUaNayaiagbIbrbqbvbqbsaOaLaAakagaManbObQbzbQbRclbtbNagaoaoaoaDaoaoaDaoaoaoagapapapapapapapapapapagavauamaEaFaFaFaFaFaGawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSoSnSpSnSpSnSpSnSpRUagaeaeaxaeaeaeaeaeaeaeagbVaybJbKbLbKbLbMazahagbkbUbSbWbSbXaOaLaAakagananbYbzbzbzbNclbtbNagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavavbZaEaFaFaFaFaFaGawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadSrSqStSsSvSuSxSwSyRUagaeaeaeaeaeaeaeaeaeaeagaiazayazayazayazazaiagbkbkbkbkbkbkaOaLaAakagananbObQbzbQbRclbtbNagaoaDaoaoaoaoaoaoaDaoagapapapapapapapapapapagavauamaEaFaFaFaFaFaGawaaaa
+aaaaaaaaaaSHSVSWSWSWSWSWSWSVSVSVSVSVSVSWSWSXSWSWSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadRUSzSBSASDSCSFSESGRUagafaeaeaeaxaeaeaeaeaxagahaiahaiahahaiahaiahagbTbkbkbkbkbkaOaLaAakaganancncrbPcrcsclcBcuagaoaoaoaoaoaoaoaoaoaoagapapapapapapapapapapagavauamcIcKcKcKcKcKcOawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSWSWSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeeeeeeeeeeeeeeeeeeeeabcdcdcdcdcdcdcdcdcdcdabcdcdcdcdcdcdcdcdcdcdabcdcdcdcdcdcdcdcdcdcdabcecececececececececeabcecececececececececeabcecececececececececeabcecececececececececeabaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcgcgagchcicicicicicicicichagcpcocCdxdydxcDdzdydzagcqcqcqcqcqcqcqcqcqcqagcwcvcRdfdgdgdgdgdgeaagcxcxcycycycycycycycyawaaaa
+aaaaaaaaaaSHSVSWSVSVSVSVSVSVSWSWSWSVSVSVSVSVSVSVSWSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfczcfcfcfcfczcfagcgcAcgcgcgcgcAcgcgcgagdkdkdkdkdkdkdociciciagcpcocCdFcFdFcFdGcFdGagcqcqcHcqcqcqcqcqcqcqagcwcvcRdpcJcJcJcJcJduagcycycycycLcLcLcycycyawaaaa
+aaaaaaaaaaSHSVSWSVSVSVSVSVSVSWSYSWSVSVSVSVSVSVSVSWSZSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcMcgagcWdwdAdBdAdhcVciciciagcpcpdCdFcFdydydycFdGagcqcqcqcqcqcqcPcQcqcqagcwcwdHdpcJcJcJcJcJduagcycycycScTcTcTcycycyawaaaa
+aaaaaaaaaaSHSVSWSVSVSVSVSVSVSWSWSWSVSVSVSVSVSVSVSWSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfczcfcfcfcfczcfcfcfagcgcgcUcgcMcgcgcgcgcgagcXdIdndvdndMcVcNdOciagcpcocCdFcFcFcFcFcFdGagcqcqcqcqcYcqcqcqcqcqagcwcvcRdpcJcJcJcJcJduagcycLcZdadbdbdcddcLcyawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgdecgcgcgcgdecgagcWdIdndvdndMcVcNdQciagcpcocCdXdNdNdNdNdNdZagcqcqcqcqcqcqcqdmcqcqagcwcvcRdTdUdUdUdUdUdVagcycLcZdqdrdsdtddcLcyawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSWSWSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgcgcgcgcgcgcgagcWdIdndvdndMcVcNdQciagcpcocCcjckckdYckckcmagcqcqcqcqcqcqcqcqcqcqagcwcvcRebecececececgYagcycLcZdqdDdEdtddcLcyawaaaa
+aaaaaaaaaaSHSVSWSWSWSWSWSWSVSVSVSVSVSVSWSWSXSWSWSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfczcfcfcfcfczcfagcgcgcgcgcAcgcUcgcgcAagcXdIdndvdndMcVcNhjciagcpcocCcEcFcFcFcFcFcGagdPdPdPdPdPdPdPdPdPdPagcwcvcRihcJcJcJcJcJjyagcycLcZdcdJdJdKddcLcyawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagdLcgcgcgcgdLcgcgcgcgagcWjzjAkXjAkYcVciciciagcpcpkZcEcFdjdjdjcFcGagdWdWdWdWdWdWdWdWdWdWagcwcwlrihcJcJcJcJcJjyagcycycydRdRdRdScycycyawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfczcfcfcfcfczcfcfcfagcgdecgcUcgcgdecgcUcgagRrRrRrRrRrRrRtciciciagcpcocCcEcFcEcFcGcFcGagdWdWdWdWdWdWdWdWdWdWagcwcvcRihcJcJcJcJcJjyagcycycycLcLcLcycycycyawaaaa
+aaaaaaaaaaSHSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSVSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcfcfcfcfcfcfcfcfcfcfagcgcgcgcgdLcgcgcgcgdLagchcicicicicicicicichagcpcocCdidjdilKdldjdlagdWdWdWdWdWdWdWdWdWdWagcwcvcRqbqyqyqyqyqyvzagcycycycycycycycyededawaaaa
+aaaaaaaaaaSHSHSHTaTbTaTbSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabeeeeeeeeeeeeeeeeeeeeabaaaa
+aaaaaaaaaaSHTdSJSJSJSJSJTeSJSQSJSJSJSJTfSKSKSKSKSKSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRhRaaaa
+aaaaaaaaaaSHTdSJSJSJSJSJSJSJSJSJSJSJTdSHSOSKSOSKSSSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
+aaaaaaaaaaSHTdSJSJSJSJSJSNSNSJSJSJSJTdSHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
+aaaaaaaaaaSHTdSJSJSJSJSJSNSNSJSJSJSJTdSHSKSKSKSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
+aaaaaaaaaaSHTdSJSJSJSJSJSJSJSJSJSJSJSJSRSKSKTgSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
+aaaaaaaaaaSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHSHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahRjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjthRaaaa
diff --git a/maps/submaps/admin_use_vr/ert.dmm b/maps/submaps/admin_use_vr/ert.dmm
index ce4c104a66..46719dc7d4 100644
--- a/maps/submaps/admin_use_vr/ert.dmm
+++ b/maps/submaps/admin_use_vr/ert.dmm
@@ -79,17 +79,11 @@
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/dock_port)
"an" = (
-/obj/structure/table/rack/steel,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
/obj/machinery/light/no_nightshift{
dir = 1
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/structure/dispenser/oxygen,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"ao" = (
@@ -158,13 +152,13 @@
"aQ" = (
/obj/structure/table/steel_reinforced,
/obj/item/weapon/storage/firstaid/surgery,
-/obj/item/stack/nanopaste/advanced,
/obj/machinery/light/no_nightshift{
dir = 8
},
/obj/item/weapon/surgical/bone_clamp,
/obj/item/weapon/surgical/scalpel/manager,
/obj/item/weapon/surgical/circular_saw/manager,
+/obj/item/stack/nanopaste,
/turf/simulated/floor/tiled/white,
/area/ship/ert/med_surg)
"aV" = (
@@ -173,10 +167,6 @@
},
/turf/simulated/floor/reinforced/airless,
/area/ship/ert/eng_storage)
-"bg" = (
-/turf/space,
-/turf/space,
-/area/space)
"bp" = (
/obj/machinery/atmospherics/pipe/simple/visible/universal,
/turf/simulated/floor/tiled/techfloor,
@@ -219,6 +209,10 @@
/obj/item/device/suit_cooling_unit,
/obj/item/device/suit_cooling_unit,
/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"bJ" = (
@@ -641,10 +635,11 @@
},
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/dock_star)
+"fw" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/space)
"fx" = (
/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/rescue_pharm,
-/obj/item/rig_module/sprinter,
/obj/item/rig_module/sprinter,
/obj/machinery/light/no_nightshift{
dir = 8
@@ -657,7 +652,6 @@
pixel_x = -23
},
/obj/item/rig_module/sprinter,
-/obj/item/rig_module/sprinter,
/obj/item/rig_module/rescue_pharm,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/mech_bay)
@@ -666,7 +660,6 @@
/obj/item/rig_module/mounted,
/obj/item/rig_module/mounted/egun,
/obj/item/rig_module/mounted/egun,
-/obj/item/rig_module/mounted,
/obj/item/rig_module/mounted/egun,
/obj/item/rig_module/mounted/egun,
/turf/simulated/floor/tiled/techfloor,
@@ -689,10 +682,6 @@
/obj/item/rig_module/device/rcd,
/obj/item/rig_module/device/plasmacutter,
/obj/item/rig_module/device/plasmacutter,
-/obj/item/rig_module/device/rcd,
-/obj/item/rig_module/device/rcd,
-/obj/item/rig_module/device/plasmacutter,
-/obj/item/rig_module/device/plasmacutter,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/mech_bay)
"fZ" = (
@@ -770,10 +759,6 @@
/obj/item/weapon/shield/riot,
/obj/item/weapon/shield/riot,
/obj/item/weapon/shield/riot,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/recharger/wallcharger{
pixel_x = -23;
@@ -1259,6 +1244,10 @@
/obj/item/weapon/plastique,
/obj/item/weapon/plastique,
/obj/effect/floor_decal/industrial/outline/red,
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
/turf/simulated/floor/tiled/techmaint,
/area/ship/ert/armoury_dl)
"kG" = (
@@ -1356,6 +1345,7 @@
starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/modular_computer/laptop/preset/custom_loadout/elite,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"lx" = (
@@ -1652,10 +1642,6 @@
/obj/structure/table/rack/steel,
/obj/item/weapon/gun/energy/xray,
/obj/item/weapon/gun/energy/xray,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/machinery/light/no_nightshift,
/obj/machinery/firealarm/alarms_hidden{
dir = 1;
@@ -1980,13 +1966,16 @@
/area/ship/ert/barracks)
"oX" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"pa" = (
@@ -2071,10 +2060,12 @@
/area/ship/ert/med_surg)
"pq" = (
/obj/structure/table/steel_reinforced,
-/obj/item/weapon/storage/box/syringes,
-/obj/item/weapon/storage/box/syringes,
-/obj/item/weapon/storage/box/bodybags,
-/obj/item/weapon/storage/box/bodybags,
+/obj/item/bodybag/cryobag,
+/obj/item/bodybag/cryobag,
+/obj/item/bodybag/cryobag,
+/obj/item/bodybag/cryobag,
+/obj/item/bodybag/cryobag,
+/obj/item/bodybag/cryobag,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"pt" = (
@@ -2147,23 +2138,13 @@
/area/ship/ert/barracks)
"pI" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ext,
-/obj/item/ammo_magazine/m545/ap/ext,
-/obj/item/ammo_magazine/m545/ap/ext,
-/obj/item/ammo_magazine/m545/ap/ext,
-/obj/item/ammo_magazine/m545/ap/ext,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/energy/pulse_rifle,
+/obj/item/weapon/gun/energy/pulse_rifle,
+/obj/item/weapon/gun/energy/pulse_rifle,
+/obj/item/weapon/gun/energy/pulse_rifle,
+/obj/item/weapon/gun/energy/pulse_rifle,
+/obj/item/weapon/gun/energy/pulse_rifle,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_dl)
"pK" = (
@@ -2214,8 +2195,6 @@
/obj/structure/table/rack/steel,
/obj/item/weapon/gun/energy/plasmastun,
/obj/item/weapon/gun/energy/plasmastun,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_dl)
@@ -2536,6 +2515,7 @@
},
/obj/machinery/light/no_nightshift,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/modular_computer/laptop/preset/custom_loadout/elite,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"sA" = (
@@ -2573,8 +2553,6 @@
/obj/item/clothing/glasses/graviton,
/obj/item/clothing/glasses/graviton,
/obj/item/clothing/glasses/graviton,
-/obj/item/clothing/glasses/graviton,
-/obj/item/clothing/glasses/graviton,
/obj/effect/floor_decal/industrial/outline/grey,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
@@ -2653,7 +2631,7 @@
/turf/simulated/floor/tiled/techmaint,
/area/ship/ert/hangar)
"tb" = (
-/obj/machinery/telecomms/allinone/talon,
+/obj/machinery/telecomms/allinone,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/teleporter)
"tg" = (
@@ -2989,12 +2967,6 @@
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/gun/energy/gun,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/item/weapon/gun/energy/gun,
/obj/item/weapon/gun/energy/gun,
/obj/effect/floor_decal/industrial/outline/grey,
@@ -3025,14 +2997,12 @@
"wt" = (
/obj/structure/table/steel_reinforced,
/obj/item/weapon/storage/firstaid/bonemed,
-/obj/item/weapon/storage/firstaid/bonemed,
/obj/item/weapon/storage/firstaid/clotting,
-/obj/item/weapon/storage/firstaid/clotting,
-/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
-/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
/obj/effect/floor_decal/corner/yellow{
dir = 1
},
+/obj/item/weapon/storage/firstaid/combat,
+/obj/item/weapon/storage/firstaid/combat,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"wO" = (
@@ -3081,33 +3051,52 @@
/area/ship/ert/bridge)
"xg" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/box/anti_photons,
-/obj/item/weapon/storage/box/anti_photons,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/energy/gun/nuclear,
+/obj/item/weapon/gun/energy/gun/nuclear,
+/obj/item/weapon/gun/energy/gun/nuclear,
+/obj/item/weapon/gun/energy/gun/nuclear,
+/obj/item/weapon/gun/energy/gun/nuclear,
+/obj/item/weapon/gun/energy/gun/nuclear,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"xh" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/box/smokes,
-/obj/item/weapon/storage/box/smokes,
/obj/machinery/light_switch{
pixel_y = 23
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/weapon/gun/projectile/p92x/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
+/obj/item/ammo_magazine/m9mm/large/preban,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"xi" = (
-/obj/item/weapon/storage/box/teargas,
-/obj/item/weapon/storage/box/teargas,
/obj/structure/table/rack/steel,
/obj/effect/floor_decal/industrial/outline/grey,
-/turf/simulated/floor/tiled/techfloor,
-/area/ship/ert/armoury_st)
-"xr" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/box/empslite,
-/obj/item/weapon/storage/box/empslite,
-/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/ammo_magazine/m545,
+/obj/item/ammo_magazine/m545,
+/obj/item/ammo_magazine/m545,
+/obj/item/ammo_magazine/m545,
+/obj/item/ammo_magazine/m545,
+/obj/item/ammo_magazine/m545,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"xt" = (
@@ -3121,22 +3110,20 @@
pixel_y = 26
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/storage/box/flashbangs,
+/obj/item/weapon/storage/box/smokes,
+/obj/item/weapon/storage/box/smokes,
+/obj/item/weapon/storage/box/teargas,
+/obj/item/weapon/storage/box/empslite,
+/obj/item/weapon/storage/box/empslite,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"xv" = (
/obj/structure/table/rack/steel,
/obj/item/weapon/gun/energy/ionrifle/pistol,
/obj/item/weapon/gun/energy/ionrifle/pistol,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/item/weapon/gun/energy/ionrifle,
/obj/item/weapon/gun/energy/ionrifle,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/machinery/power/apc/hyper{
alarms_hidden = 1;
dir = 4;
@@ -3158,8 +3145,6 @@
/obj/structure/closet/medical_wall{
pixel_x = 32
},
-/obj/item/weapon/storage/firstaid/clotting,
-/obj/item/weapon/storage/firstaid/bonemed,
/obj/item/weapon/storage/firstaid/adv,
/obj/item/weapon/storage/firstaid/adv,
/obj/item/weapon/storage/firstaid/fire,
@@ -3168,8 +3153,6 @@
/obj/item/weapon/storage/firstaid/o2,
/obj/item/weapon/storage/firstaid/toxin,
/obj/item/weapon/storage/firstaid/toxin,
-/obj/item/weapon/storage/firstaid/combat,
-/obj/item/weapon/storage/firstaid/combat,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"xA" = (
@@ -4024,6 +4007,8 @@
/obj/item/weapon/surgical/scalpel/manager,
/obj/item/weapon/surgical/circular_saw/manager,
/obj/item/weapon/surgical/circular_saw/manager,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"DN" = (
@@ -4055,6 +4040,10 @@
icon_state = "0-2"
},
/obj/effect/floor_decal/industrial/outline,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"DS" = (
@@ -4200,8 +4189,6 @@
/obj/structure/closet/crate/medical,
/obj/item/weapon/storage/box/autoinjectors,
/obj/item/weapon/storage/box/beakers,
-/obj/item/device/defib_kit/compact/combat/loaded,
-/obj/item/device/defib_kit/compact/combat/loaded,
/obj/item/weapon/storage/box/bodybags,
/obj/item/weapon/storage/box/bodybags{
pixel_x = 2;
@@ -4211,6 +4198,8 @@
/obj/item/weapon/storage/box/freezer,
/obj/item/weapon/storage/box/masks,
/obj/effect/floor_decal/industrial/outline,
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/weapon/storage/box/bodybags,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"Fd" = (
@@ -4359,7 +4348,36 @@
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
-/obj/item/weapon/paper/ert_armory_cells,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
+/obj/item/weapon/cell/device/weapon,
/turf/simulated/floor/tiled/techmaint,
/area/ship/ert/armoury_st)
"FY" = (
@@ -4406,6 +4424,7 @@
dir = 1
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/modular_computer/laptop/preset/custom_loadout/elite,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"GI" = (
@@ -4528,16 +4547,8 @@
/obj/structure/table/rack/steel,
/obj/item/weapon/gun/energy/gun/burst,
/obj/item/weapon/gun/energy/gun/burst,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/item/weapon/gun/energy/lasershotgun,
/obj/item/weapon/gun/energy/lasershotgun,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/obj/machinery/recharger/wallcharger{
pixel_x = -23;
@@ -4566,10 +4577,6 @@
/obj/item/weapon/storage/pill_bottle/iron,
/obj/item/weapon/storage/pill_bottle/iron,
/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/storage/box/syringes,
/obj/item/weapon/storage/box/syringes{
pixel_x = 2;
@@ -4955,18 +4962,26 @@
/area/ship/ert/engine)
"JZ" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/machinery/light/no_nightshift,
/obj/machinery/alarm/alarms_hidden{
dir = 1;
pixel_y = -26
},
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/projectile/automatic/z8,
+/obj/item/weapon/gun/projectile/automatic/z8,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_dl)
"Kb" = (
@@ -5209,18 +5224,12 @@
/obj/item/weapon/gun/energy/gun/martin{
battery_lock = 0
},
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/item/weapon/gun/energy/gun/martin{
battery_lock = 0
},
/obj/item/weapon/gun/energy/gun/martin{
battery_lock = 0
},
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
@@ -5264,9 +5273,11 @@
},
/obj/item/weapon/gun/energy/laser,
/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"LH" = (
@@ -5295,7 +5306,7 @@
},
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/machinery/button/remote/blast_door{
- desc = "[OOC] DO NOT TOUCH THIS BUTTON WITHOUT THE EXPLICIT PERMISSION OF AN ADMINISTRATOR.";
+ desc = "\[OOC] DO NOT TOUCH THIS BUTTON WITHOUT THE EXPLICIT PERMISSION OF AN ADMINISTRATOR.";
dir = 1;
id = "NRV_DELTA";
name = "DELTA ACCESS CONTROL";
@@ -5324,10 +5335,6 @@
/obj/item/weapon/gun/energy/taser,
/obj/item/weapon/gun/energy/taser,
/obj/item/weapon/gun/energy/taser,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
@@ -5356,14 +5363,10 @@
"Mt" = (
/obj/structure/table/rack/steel,
/obj/item/weapon/gun/energy/netgun,
-/obj/item/weapon/gun/energy/netgun,
-/obj/item/weapon/gun/energy/netgun,
-/obj/item/weapon/gun/energy/netgun,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/gun/energy/sniperrifle{
+ battery_lock = 0
+ },
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_st)
"Mv" = (
@@ -5445,18 +5448,18 @@
/area/shuttle/ert_ship_boat)
"MX" = (
/obj/structure/table/steel_reinforced,
-/obj/item/weapon/storage/belt/utility/full,
-/obj/item/weapon/storage/belt/utility/full,
-/obj/item/weapon/storage/belt/utility/full,
-/obj/item/weapon/storage/belt/utility/full,
-/obj/item/weapon/storage/belt/utility/full,
-/obj/item/weapon/storage/belt/utility/full,
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/accessory/storage/brown_vest,
/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/weapon/storage/belt/utility/chief/full,
+/obj/item/weapon/storage/belt/utility/chief/full,
+/obj/item/weapon/storage/belt/utility/chief/full,
+/obj/item/weapon/storage/belt/utility/chief/full,
+/obj/item/weapon/storage/belt/utility/chief/full,
+/obj/item/weapon/storage/belt/utility/chief/full,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/barracks)
"MZ" = (
@@ -5793,10 +5796,6 @@
/obj/item/weapon/gun/energy/sniperrifle{
battery_lock = 0
},
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
-/obj/item/weapon/cell/device/weapon/recharge,
/obj/effect/floor_decal/industrial/outline/grey,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/armoury_dl)
@@ -6133,6 +6132,7 @@
"QY" = (
/obj/structure/table/rack,
/obj/item/weapon/rig/ert,
+/obj/item/weapon/cell/slime,
/turf/simulated/floor/wood,
/area/ship/ert/commander)
"QZ" = (
@@ -6423,6 +6423,8 @@
pixel_y = 26
},
/obj/effect/floor_decal/industrial/outline,
+/obj/item/weapon/reagent_containers/hypospray,
+/obj/item/weapon/reagent_containers/hypospray,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"SZ" = (
@@ -6701,17 +6703,11 @@
/area/ship/ert/teleporter)
"Wl" = (
/obj/structure/table/steel_reinforced,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
-/obj/item/stack/nanopaste,
/obj/machinery/light/no_nightshift{
dir = 1
},
+/obj/item/device/defib_kit/compact/combat/loaded,
+/obj/item/device/defib_kit/compact/combat/loaded,
/turf/simulated/floor/tiled/techfloor,
/area/ship/ert/med)
"Wq" = (
@@ -12948,10 +12944,10 @@ yz
yz
yz
yz
-bg
-bg
-bg
-bg
+yz
+yz
+yz
+yz
yz
yz
yz
@@ -13225,10 +13221,6 @@ yz
yz
yz
yz
-bg
-bg
-bg
-bg
yz
yz
yz
@@ -13239,10 +13231,14 @@ yz
yz
yz
yz
-bg
-bg
-bg
-bg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
yz
yz
yz
@@ -18147,7 +18143,7 @@ ip
mV
pa
tH
-xr
+xi
BU
GK
FR
@@ -18433,7 +18429,7 @@ pn
tH
xv
Ce
-FR
+fw
FR
Mt
Pl
diff --git a/maps/submaps/pois_vr/debris_field/_templates.dm b/maps/submaps/pois_vr/debris_field/_templates.dm
index df7319d02b..87ebdc54ec 100644
--- a/maps/submaps/pois_vr/debris_field/_templates.dm
+++ b/maps/submaps/pois_vr/debris_field/_templates.dm
@@ -18,6 +18,41 @@
mappath = 'asteroids3.dmm'
cost = 2
+/datum/map_template/debrisfield/asteroids4
+ name = "Asteroids 4"
+ mappath = 'asteroids4.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids5
+ name = "Asteroids 5"
+ mappath = 'asteroids5.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids6
+ name = "Asteroids 6"
+ mappath = 'asteroids6.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids7
+ name = "Asteroids 7"
+ mappath = 'asteroids7.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids8
+ name = "Asteroids 8"
+ mappath = 'asteroids8.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids9
+ name = "Asteroids 9"
+ mappath = 'asteroids9.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/asteroids10
+ name = "Asteroids 10"
+ mappath = 'asteroids10.dmm'
+ cost = 2
+
/datum/map_template/debrisfield/carp_asteroids1
name = "Carp Asteroids 1"
mappath = 'carp_asteroids1.dmm'
@@ -38,6 +73,21 @@
mappath = 'carp_asteroids4.dmm'
cost = 5
+/datum/map_template/debrisfield/carp_asteroids5
+ name = "Carp Asteroids 5"
+ mappath = 'carp_asteroids5.dmm'
+ cost = 5
+
+/datum/map_template/debrisfield/carp_asteroids6
+ name = "Carp Asteroids 6"
+ mappath = 'carp_asteroids6.dmm'
+ cost = 5
+
+/datum/map_template/debrisfield/carp_asteroids7
+ name = "Carp Asteroids 7"
+ mappath = 'carp_asteroids7.dmm'
+ cost = 5
+
/datum/map_template/debrisfield/foodstand
name = "Food Stand"
mappath = 'foodstand.dmm'
@@ -74,6 +124,76 @@
mappath = 'debris6.dmm'
cost = 2
+/datum/map_template/debrisfield/debris7
+ name = "Debris 7"
+ mappath = 'debris7.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris8
+ name = "Debris 8"
+ mappath = 'debris8.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris9
+ name = "Debris 9"
+ mappath = 'debris9.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris10
+ name = "Debris 10"
+ mappath = 'debris10.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris11
+ name = "Debris 11"
+ mappath = 'debris11.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris12
+ name = "Debris 12"
+ mappath = 'debris12.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris13
+ name = "Debris 13"
+ mappath = 'debris13.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/debris14
+ name = "Debris 14"
+ mappath = 'debris14.dmm'
+ cost = 2
+
+/datum/map_template/debrisfield/escape_pod
+ name = "Ancient Escape Pod"
+ mappath = 'escape_pod.dmm'
+ cost = 5
+ allow_duplicates = FALSE
+
+/datum/map_template/debrisfield/old_satellite
+ name = "Old Satellite"
+ mappath = 'old_satellite.dmm'
+ cost = 10
+ allow_duplicates = FALSE
+
+/datum/map_template/debrisfield/old_teleporter
+ name = "Old Teleporter"
+ mappath = 'old_teleporter.dmm'
+ cost = 10
+ allow_duplicates = FALSE
+
+/datum/map_template/debrisfield/old_mining_outpost
+ name = "Old Drone Mining Outpost"
+ mappath = 'mining_drones.dmm'
+ cost = 20
+ allow_duplicates = FALSE
+
+/datum/map_template/debrisfield/ship_mining_drone
+ name = "Disabled Mining Drone Ship"
+ mappath = 'ship_mining_drone.dmm'
+ cost = 35
+ allow_duplicates = FALSE
+
/datum/map_template/debrisfield/ship_sup_exploded
name = "Exploded Cargo Ship"
mappath = 'ship_sup_exploded.dmm'
@@ -98,6 +218,12 @@
cost = 30
allow_duplicates = FALSE
+/datum/map_template/debrisfield/tinycarrier
+ name = "Disabled Tiny Carrier"
+ mappath = 'tinycarrier.dmm'
+ cost = 30
+ allow_duplicates = FALSE
+
/datum/map_template/debrisfield/alien_massive_derelict
name = "Alien Derelict"
mappath = 'derelict.dmm'
@@ -112,6 +238,13 @@
allow_duplicates = FALSE
discard_prob = 25
+/datum/map_template/debrisfield/gutted_mackerel
+ name = "Wrecked Salamander"
+ mappath = 'maps/offmap_vr/om_ships/salamander_wreck.dmm'
+ cost = 35
+ allow_duplicates = FALSE
+ discard_prob = 34
+
/datum/map_template/debrisfield/ruined_gecko
name = "Ruined Gecko CR"
mappath = 'maps/offmap_vr/om_ships/gecko_cr_wreck.dmm'
diff --git a/maps/submaps/pois_vr/debris_field/asteroids1.dmm b/maps/submaps/pois_vr/debris_field/asteroids1.dmm
index 0bdaf44d13..664fa1c50e 100644
--- a/maps/submaps/pois_vr/debris_field/asteroids1.dmm
+++ b/maps/submaps/pois_vr/debris_field/asteroids1.dmm
@@ -1,10 +1,16 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -31,77 +37,77 @@ b
(3,1,1) = {"
b
b
-b
-b
-b
-a
-a
+c
+c
+c
+d
+d
a
b
"}
(4,1,1) = {"
b
b
-a
-b
-b
-b
-a
+d
+c
+c
+c
+d
b
b
"}
(5,1,1) = {"
b
a
-a
-a
-b
-b
-b
+d
+d
+c
+c
+c
b
b
"}
(6,1,1) = {"
b
a
-a
-a
-a
-b
-b
+d
+d
+d
+c
+c
b
b
"}
(7,1,1) = {"
a
a
-a
-a
-a
-a
-b
+d
+d
+d
+d
+c
b
a
"}
(8,1,1) = {"
a
a
-a
-a
-a
-a
-b
+d
+d
+d
+d
+c
a
a
"}
(9,1,1) = {"
b
a
-a
-a
-a
-a
-b
+d
+d
+d
+d
+c
b
b
"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids10.dmm b/maps/submaps/pois_vr/debris_field/asteroids10.dmm
new file mode 100644
index 0000000000..31bbdc50a3
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids10.dmm
@@ -0,0 +1,238 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+c
+c
+c
+c
+d
+c
+c
+d
+b
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+d
+c
+c
+d
+d
+d
+c
+c
+b
+a
+a
+"}
+(7,1,1) = {"
+a
+b
+b
+d
+c
+c
+c
+d
+d
+c
+c
+b
+b
+a
+"}
+(8,1,1) = {"
+a
+b
+b
+d
+c
+c
+c
+c
+c
+c
+c
+b
+a
+a
+"}
+(9,1,1) = {"
+a
+b
+b
+d
+d
+c
+c
+c
+d
+d
+c
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+b
+d
+d
+c
+c
+c
+d
+d
+d
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+b
+d
+d
+c
+c
+c
+d
+d
+c
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+b
+a
+a
+a
+a
+b
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids2.dmm b/maps/submaps/pois_vr/debris_field/asteroids2.dmm
index 77631496cc..ef40ad205c 100644
--- a/maps/submaps/pois_vr/debris_field/asteroids2.dmm
+++ b/maps/submaps/pois_vr/debris_field/asteroids2.dmm
@@ -1,10 +1,16 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -39,60 +45,60 @@ a
(3,1,1) = {"
a
a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+c
+c
+c
+c
+c
+c
+c
+c
+c
a
a
"}
(4,1,1) = {"
a
b
-b
-a
-a
-a
-a
-a
-b
-b
-a
+d
+c
+c
+c
+c
+c
+d
+d
+c
a
a
"}
(5,1,1) = {"
b
b
-b
-b
-a
-a
-a
-a
-b
-b
-b
+d
+d
+c
+c
+c
+c
+d
+d
+d
a
a
"}
(6,1,1) = {"
b
b
-b
-b
-a
-a
-a
-b
-b
-b
-b
+d
+d
+c
+c
+c
+d
+d
+d
+d
b
a
"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids3.dmm b/maps/submaps/pois_vr/debris_field/asteroids3.dmm
index ea91de7838..f255bf81cd 100644
--- a/maps/submaps/pois_vr/debris_field/asteroids3.dmm
+++ b/maps/submaps/pois_vr/debris_field/asteroids3.dmm
@@ -1,10 +1,16 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -31,55 +37,55 @@ a
(3,1,1) = {"
a
b
-b
-a
-a
-a
-a
+c
+d
+d
+d
+d
a
a
"}
(4,1,1) = {"
b
b
-b
-b
-a
-a
-a
+c
+c
+d
+d
+d
a
b
"}
(5,1,1) = {"
b
b
-b
-b
-b
-a
-a
+c
+c
+c
+d
+d
a
b
"}
(6,1,1) = {"
b
a
-a
-b
-b
-b
-a
+d
+c
+c
+c
+d
b
b
"}
(7,1,1) = {"
a
a
-a
-a
-b
-b
-b
+d
+d
+c
+c
+c
b
a
"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids4.dmm b/maps/submaps/pois_vr/debris_field/asteroids4.dmm
new file mode 100644
index 0000000000..4d93d69719
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids4.dmm
@@ -0,0 +1,134 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+b
+b
+b
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+b
+b
+c
+c
+c
+d
+d
+d
+a
+a
+"}
+(4,1,1) = {"
+a
+b
+c
+c
+c
+c
+d
+d
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+d
+d
+c
+c
+c
+d
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+d
+d
+d
+c
+d
+d
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+d
+d
+c
+c
+d
+c
+b
+a
+"}
+(8,1,1) = {"
+a
+a
+d
+d
+d
+c
+c
+c
+b
+b
+"}
+(9,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids5.dmm b/maps/submaps/pois_vr/debris_field/asteroids5.dmm
new file mode 100644
index 0000000000..24ac373349
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids5.dmm
@@ -0,0 +1,126 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+b
+b
+a
+"}
+(2,1,1) = {"
+a
+a
+b
+b
+b
+a
+"}
+(3,1,1) = {"
+a
+a
+c
+d
+b
+b
+"}
+(4,1,1) = {"
+a
+a
+c
+c
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+c
+c
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+c
+c
+a
+a
+"}
+(7,1,1) = {"
+b
+b
+c
+c
+a
+a
+"}
+(8,1,1) = {"
+b
+b
+c
+c
+a
+a
+"}
+(9,1,1) = {"
+a
+b
+d
+c
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+c
+c
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+c
+c
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+c
+d
+b
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+b
+b
+b
+"}
+(14,1,1) = {"
+a
+a
+b
+b
+b
+b
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids6.dmm b/maps/submaps/pois_vr/debris_field/asteroids6.dmm
new file mode 100644
index 0000000000..0a99b2ce83
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids6.dmm
@@ -0,0 +1,98 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+b
+a
+a
+"}
+(2,1,1) = {"
+b
+b
+b
+b
+"}
+(3,1,1) = {"
+b
+c
+c
+b
+"}
+(4,1,1) = {"
+a
+d
+c
+a
+"}
+(5,1,1) = {"
+a
+d
+d
+a
+"}
+(6,1,1) = {"
+a
+d
+d
+a
+"}
+(7,1,1) = {"
+a
+d
+d
+a
+"}
+(8,1,1) = {"
+b
+c
+d
+a
+"}
+(9,1,1) = {"
+b
+c
+c
+a
+"}
+(10,1,1) = {"
+a
+c
+d
+a
+"}
+(11,1,1) = {"
+a
+d
+d
+a
+"}
+(12,1,1) = {"
+a
+d
+d
+a
+"}
+(13,1,1) = {"
+a
+a
+b
+a
+"}
+(14,1,1) = {"
+a
+a
+b
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids7.dmm b/maps/submaps/pois_vr/debris_field/asteroids7.dmm
new file mode 100644
index 0000000000..eee9a24999
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids7.dmm
@@ -0,0 +1,112 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+c
+d
+c
+c
+d
+d
+c
+c
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+c
+d
+d
+c
+c
+c
+c
+c
+a
+a
+"}
+(5,1,1) = {"
+b
+b
+c
+d
+d
+c
+c
+c
+c
+d
+b
+a
+"}
+(6,1,1) = {"
+b
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids8.dmm b/maps/submaps/pois_vr/debris_field/asteroids8.dmm
new file mode 100644
index 0000000000..c8fe4c14b8
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids8.dmm
@@ -0,0 +1,126 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/space,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+b
+b
+a
+"}
+(3,1,1) = {"
+b
+b
+c
+c
+c
+c
+c
+c
+d
+d
+d
+d
+b
+a
+"}
+(4,1,1) = {"
+b
+b
+d
+d
+c
+c
+d
+c
+c
+c
+c
+c
+a
+a
+"}
+(5,1,1) = {"
+a
+b
+c
+d
+d
+d
+d
+d
+c
+c
+c
+c
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+b
+b
+b
+a
+a
+a
+a
+a
+b
+b
+a
+"}
+(7,1,1) = {"
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/asteroids9.dmm b/maps/submaps/pois_vr/debris_field/asteroids9.dmm
new file mode 100644
index 0000000000..76e775a041
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/asteroids9.dmm
@@ -0,0 +1,302 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+a
+c
+d
+c
+c
+c
+c
+c
+b
+b
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+a
+c
+d
+d
+d
+c
+c
+c
+b
+b
+b
+a
+a
+"}
+(7,1,1) = {"
+a
+b
+a
+a
+c
+d
+d
+d
+c
+c
+c
+b
+b
+b
+b
+a
+"}
+(8,1,1) = {"
+a
+b
+b
+a
+c
+c
+c
+c
+c
+c
+c
+a
+a
+b
+b
+a
+"}
+(9,1,1) = {"
+a
+b
+a
+a
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+c
+c
+c
+d
+c
+c
+c
+a
+a
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+b
+d
+d
+c
+c
+c
+c
+d
+b
+b
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+a
+d
+d
+c
+c
+c
+c
+d
+b
+b
+b
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+b
+b
+b
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+a
+"}
+(15,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+"}
+(16,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids1.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids1.dmm
index 985271c59b..4f88bef644 100644
--- a/maps/submaps/pois_vr/debris_field/carp_asteroids1.dmm
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids1.dmm
@@ -1,14 +1,20 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
/obj/tether_away_spawner/debrisfield/carp,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -39,91 +45,91 @@ a
(3,1,1) = {"
a
a
-b
-b
-b
-b
-a
-a
-b
+c
+c
+c
+c
+d
+d
+c
b
b
"}
(4,1,1) = {"
a
a
-a
-b
-a
-a
-a
-b
-b
+d
+c
+d
+d
+d
+c
+c
b
b
"}
(5,1,1) = {"
a
a
-a
-a
-a
-a
-a
-b
-b
+d
+d
+d
+d
+d
+c
+c
b
b
"}
(6,1,1) = {"
a
b
-b
-a
-a
c
-a
-b
-b
+d
+d
+e
+d
+c
+c
b
b
"}
(7,1,1) = {"
b
b
-b
-b
-a
-a
-a
-a
-b
+c
+c
+d
+d
+d
+d
+c
b
a
"}
(8,1,1) = {"
b
b
-b
-b
-a
-a
-a
-a
-a
+c
+c
+d
+d
+d
+d
+d
a
a
"}
(9,1,1) = {"
b
b
-b
-a
-a
-b
-b
-a
-a
+c
+d
+d
+c
+c
+d
+d
a
a
"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids2.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids2.dmm
index 4231265275..4598540df7 100644
--- a/maps/submaps/pois_vr/debris_field/carp_asteroids2.dmm
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids2.dmm
@@ -1,14 +1,20 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/obj/tether_away_spawner/debrisfield/carp,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -31,81 +37,81 @@ a
(3,1,1) = {"
a
a
-a
-b
-b
+d
+e
+e
b
b
"}
(4,1,1) = {"
b
b
-b
-b
-b
+e
+e
+e
c
b
"}
(5,1,1) = {"
b
b
-a
-a
-b
+d
+d
+e
b
b
"}
(6,1,1) = {"
b
a
-a
-a
-a
+d
+d
+d
b
b
"}
(7,1,1) = {"
b
a
-a
-a
-a
+d
+d
+d
b
b
"}
(8,1,1) = {"
b
c
-a
-a
-b
+d
+d
+e
b
b
"}
(9,1,1) = {"
b
b
-a
-b
-b
+d
+e
+e
b
b
"}
(10,1,1) = {"
b
b
-b
-b
-b
+e
+e
+e
b
b
"}
(11,1,1) = {"
b
b
-b
-b
-a
+e
+e
+d
a
b
"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids3.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids3.dmm
index c6de2a9657..07c7c46a5e 100644
--- a/maps/submaps/pois_vr/debris_field/carp_asteroids3.dmm
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids3.dmm
@@ -1,14 +1,20 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/obj/tether_away_spawner/debrisfield/carp,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -43,90 +49,90 @@ a
(3,1,1) = {"
a
a
-a
-b
-b
-b
-a
-a
-b
-b
-b
+d
+e
+e
+e
+d
+d
+e
+e
+e
b
a
"}
(4,1,1) = {"
a
a
-b
-b
-b
-b
-b
-a
-a
-b
-b
+e
+e
+e
+e
+e
+d
+d
+e
+e
a
a
"}
(5,1,1) = {"
a
b
-b
-b
-b
-b
-b
-b
-a
-a
-a
+e
+e
+e
+e
+e
+e
+d
+d
+d
a
a
"}
(6,1,1) = {"
a
b
-b
-b
-b
-b
-b
-b
-a
-a
-a
+e
+e
+e
+e
+e
+e
+d
+d
+d
a
a
"}
(7,1,1) = {"
b
b
-b
-b
-b
-b
-b
-b
-a
-a
-a
+e
+e
+e
+e
+e
+e
+d
+d
+d
a
a
"}
(8,1,1) = {"
b
b
-b
-b
-b
-b
-b
-a
-a
-a
-a
+e
+e
+e
+e
+e
+d
+d
+d
+d
a
b
"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids4.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids4.dmm
index e4ebbe5b4d..1661c2d06d 100644
--- a/maps/submaps/pois_vr/debris_field/carp_asteroids4.dmm
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids4.dmm
@@ -1,14 +1,20 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
/obj/tether_away_spawner/debrisfield/carp/hard,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -33,70 +39,70 @@ b
(3,1,1) = {"
b
b
-b
-b
-a
-b
+c
+c
+d
+c
b
b
"}
(4,1,1) = {"
b
b
-b
-a
-a
-a
+c
+d
+d
+d
b
b
"}
(5,1,1) = {"
a
b
-a
-a
-c
-a
+d
+d
+e
+d
a
a
"}
(6,1,1) = {"
a
a
-a
-a
-a
-a
+d
+d
+d
+d
a
a
"}
(7,1,1) = {"
a
a
-b
-b
-b
-a
+c
+c
+c
+d
a
a
"}
(8,1,1) = {"
a
b
-b
-b
-b
-b
+c
+c
+c
+c
b
a
"}
(9,1,1) = {"
a
b
-b
-b
-b
-b
+c
+c
+c
+c
b
a
"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids5.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids5.dmm
new file mode 100644
index 0000000000..171680ee86
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids5.dmm
@@ -0,0 +1,178 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"e" = (
+/turf/simulated/mineral/vacuum,
+/area/submap/debrisfield/misc_debris)
+"f" = (
+/obj/tether_away_spawner/debrisfield/carp,
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"g" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+b
+c
+c
+c
+g
+g
+g
+g
+c
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+c
+c
+g
+g
+e
+g
+g
+g
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+c
+c
+g
+d
+d
+f
+g
+g
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+c
+c
+d
+d
+d
+f
+g
+g
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+c
+c
+g
+g
+e
+d
+g
+c
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+g
+c
+c
+g
+e
+g
+g
+g
+b
+a
+"}
+(9,1,1) = {"
+a
+a
+g
+g
+c
+g
+g
+g
+g
+g
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids6.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids6.dmm
new file mode 100644
index 0000000000..614615d371
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids6.dmm
@@ -0,0 +1,242 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/obj/tether_away_spawner/debrisfield/carp,
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+b
+a
+b
+b
+b
+b
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+c
+d
+d
+d
+d
+d
+d
+d
+d
+d
+b
+a
+"}
+(4,1,1) = {"
+a
+a
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+d
+d
+d
+d
+d
+d
+d
+d
+d
+c
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+c
+d
+c
+c
+c
+d
+d
+c
+c
+c
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+c
+c
+c
+c
+c
+c
+c
+c
+c
+c
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+c
+c
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+a
+c
+c
+d
+c
+c
+c
+c
+c
+e
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+d
+d
+d
+c
+c
+c
+c
+c
+a
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+d
+d
+d
+d
+c
+c
+c
+a
+a
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+c
+d
+d
+d
+d
+c
+a
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/carp_asteroids7.dmm b/maps/submaps/pois_vr/debris_field/carp_asteroids7.dmm
new file mode 100644
index 0000000000..a79e64cd24
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/carp_asteroids7.dmm
@@ -0,0 +1,216 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/mineral/floor/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/turf/simulated/mineral/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/obj/tether_away_spawner/debrisfield/carp/hard,
+/turf/simulated/mineral/floor/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+c
+c
+c
+c
+c
+e
+c
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+c
+c
+c
+c
+e
+e
+e
+b
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+c
+c
+d
+d
+e
+e
+e
+b
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+b
+d
+e
+d
+f
+d
+e
+e
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+b
+b
+e
+e
+e
+d
+c
+c
+e
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+b
+b
+e
+e
+c
+c
+c
+c
+c
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+e
+c
+c
+c
+c
+c
+c
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris1.dmm b/maps/submaps/pois_vr/debris_field/debris1.dmm
index 2c9339ae2d..4d9f58a460 100644
--- a/maps/submaps/pois_vr/debris_field/debris1.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris1.dmm
@@ -2,17 +2,20 @@
"a" = (
/obj/structure/lattice,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
"d" = (
/obj/structure/girder,
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"e" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -25,16 +28,16 @@ c
(2,1,1) = {"
a
a
-c
-c
+e
+e
c
b
"}
(3,1,1) = {"
a
a
-c
-c
+e
+e
b
b
"}
diff --git a/maps/submaps/pois_vr/debris_field/debris10.dmm b/maps/submaps/pois_vr/debris_field/debris10.dmm
new file mode 100644
index 0000000000..994f8b2328
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris10.dmm
@@ -0,0 +1,45 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/space)
+"b" = (
+/obj/item/weapon/material/shard,
+/turf/simulated/floor/airless,
+/area/space)
+"c" = (
+/turf/template_noop,
+/area/space)
+"d" = (
+/obj/structure/grille/broken,
+/obj/item/weapon/material/shard,
+/turf/simulated/floor/airless,
+/area/space)
+"e" = (
+/obj/item/stack/rods,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"g" = (
+/obj/structure/grille,
+/turf/simulated/floor/airless,
+/area/space)
+
+(1,1,1) = {"
+a
+d
+g
+"}
+(2,1,1) = {"
+b
+e
+f
+"}
+(3,1,1) = {"
+c
+f
+c
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris11.dmm b/maps/submaps/pois_vr/debris_field/debris11.dmm
new file mode 100644
index 0000000000..8fca42f1de
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris11.dmm
@@ -0,0 +1,53 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space)
+"b" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/airless,
+/area/space)
+"c" = (
+/obj/structure/disposalpipe/broken{
+ dir = 8;
+ icon_state = "pipe-b"
+ },
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space)
+"d" = (
+/turf/simulated/floor/airless,
+/area/space)
+"e" = (
+/obj/structure/disposalpipe/segment,
+/obj/random/junk,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/obj/structure/disposalpipe/broken{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/space)
+"g" = (
+/turf/template_noop,
+/area/space)
+
+(1,1,1) = {"
+a
+d
+a
+"}
+(2,1,1) = {"
+b
+e
+f
+"}
+(3,1,1) = {"
+c
+a
+g
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris12.dmm b/maps/submaps/pois_vr/debris_field/debris12.dmm
new file mode 100644
index 0000000000..b4547ac851
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris12.dmm
@@ -0,0 +1,43 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 6
+ },
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space)
+"b" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 10
+ },
+/turf/simulated/floor/reinforced/airless{
+ name = "reinforced floor"
+ },
+/area/space)
+"c" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
+/turf/simulated/floor/reinforced/airless{
+ name = "reinforced floor"
+ },
+/area/space)
+"d" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
+/turf/template_noop,
+/area/space)
+"e" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
+/turf/simulated/floor/reinforced/airless{
+ name = "reinforced floor"
+ },
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+e
+c
+"}
+(2,1,1) = {"
+b
+e
+d
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris13.dmm b/maps/submaps/pois_vr/debris_field/debris13.dmm
new file mode 100644
index 0000000000..a093739382
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris13.dmm
@@ -0,0 +1,78 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/wall/shull,
+/area/tether_away/debrisfield/shuttle_buffer)
+"c" = (
+/obj/item/stack/rods,
+/turf/template_noop,
+/area/space)
+"d" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/obj/machinery/atmospherics/unary/engine{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space)
+"g" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"h" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"i" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"j" = (
+/obj/structure/lattice,
+/obj/item/weapon/material/shard/shrapnel,
+/turf/template_noop,
+/area/space)
+"k" = (
+/obj/item/weapon/material/shard/shrapnel,
+/turf/template_noop,
+/area/space)
+
+(1,1,1) = {"
+a
+c
+f
+f
+a
+"}
+(2,1,1) = {"
+b
+b
+g
+i
+k
+"}
+(3,1,1) = {"
+b
+d
+h
+i
+f
+"}
+(4,1,1) = {"
+b
+e
+i
+j
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris14.dmm b/maps/submaps/pois_vr/debris_field/debris14.dmm
new file mode 100644
index 0000000000..91a5ef114a
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris14.dmm
@@ -0,0 +1,80 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/obj/item/weapon/material/shard/shrapnel,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"b" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"c" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"f" = (
+/obj/item/stack/rods,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"g" = (
+/obj/structure/lattice,
+/obj/item/stack/rods,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"h" = (
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"i" = (
+/obj/item/weapon/material/shard/shrapnel,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"j" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"k" = (
+/turf/template_noop,
+/area/space)
+"l" = (
+/turf/simulated/wall,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+b
+l
+j
+j
+e
+"}
+(2,1,1) = {"
+c
+a
+f
+j
+k
+"}
+(3,1,1) = {"
+i
+d
+d
+j
+k
+"}
+(4,1,1) = {"
+k
+j
+g
+h
+k
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris2.dmm b/maps/submaps/pois_vr/debris_field/debris2.dmm
index 9acdf06e44..d6be7bc91e 100644
--- a/maps/submaps/pois_vr/debris_field/debris2.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris2.dmm
@@ -1,14 +1,21 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
-/turf/space,
-/area/tether_away/debrisfield/explored)
+/turf/template_noop,
+/area/space)
"b" = (
/obj/structure/lattice,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"d" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -17,17 +24,17 @@ c
"}
(2,1,1) = {"
a
-b
+d
c
"}
(3,1,1) = {"
a
-c
+e
a
"}
(4,1,1) = {"
b
-c
+e
a
"}
(5,1,1) = {"
diff --git a/maps/submaps/pois_vr/debris_field/debris3.dmm b/maps/submaps/pois_vr/debris_field/debris3.dmm
index 0af46a2910..edf2239745 100644
--- a/maps/submaps/pois_vr/debris_field/debris3.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris3.dmm
@@ -1,18 +1,25 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
-/turf/space,
-/area/tether_away/debrisfield/explored)
+/turf/template_noop,
+/area/space)
"b" = (
/obj/structure/lattice,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
"d" = (
/obj/structure/girder,
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"e" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -25,16 +32,16 @@ d
(2,1,1) = {"
a
b
-b
-c
+e
+f
c
c
"}
(3,1,1) = {"
b
c
-b
-b
+e
+e
b
c
"}
diff --git a/maps/submaps/pois_vr/debris_field/debris4.dmm b/maps/submaps/pois_vr/debris_field/debris4.dmm
index 3623fa21da..212ae1a678 100644
--- a/maps/submaps/pois_vr/debris_field/debris4.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris4.dmm
@@ -1,24 +1,27 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
-/turf/space,
-/area/tether_away/debrisfield/explored)
+/turf/template_noop,
+/area/space)
"b" = (
/obj/structure/lattice,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
/obj/structure/girder,
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
"d" = (
/turf/simulated/shuttle/wall,
-/area/tether_away/debrisfield/explored)
+/area/space)
"e" = (
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/space)
"f" = (
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
+"g" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -44,7 +47,7 @@ b
(4,1,1) = {"
a
d
-e
+g
b
a
"}
diff --git a/maps/submaps/pois_vr/debris_field/debris5.dmm b/maps/submaps/pois_vr/debris_field/debris5.dmm
index 7a3fe532fa..440dfe1296 100644
--- a/maps/submaps/pois_vr/debris_field/debris5.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris5.dmm
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
-/turf/space,
+/turf/template_noop,
/area/space)
"b" = (
/obj/structure/lattice,
@@ -8,10 +8,13 @@
/area/space)
"c" = (
/turf/simulated/floor/airless,
-/area/space)
+/area/tether_away/debrisfield/shuttle_buffer)
"d" = (
/turf/simulated/shuttle/wall/dark,
/area/space)
+"e" = (
+/turf/simulated/shuttle/wall/dark,
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
a
@@ -27,8 +30,8 @@ d
"}
(3,1,1) = {"
a
-d
-d
+e
+e
b
"}
(4,1,1) = {"
diff --git a/maps/submaps/pois_vr/debris_field/debris6.dmm b/maps/submaps/pois_vr/debris_field/debris6.dmm
index 9381921db8..41df44de21 100644
--- a/maps/submaps/pois_vr/debris_field/debris6.dmm
+++ b/maps/submaps/pois_vr/debris_field/debris6.dmm
@@ -1,24 +1,28 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
+/obj/structure/lattice,
/turf/space,
-/area/space)
+/area/tether_away/debrisfield/shuttle_buffer)
"b" = (
/obj/structure/lattice,
/turf/space,
/area/space)
+"c" = (
+/turf/template_noop,
+/area/space)
(1,1,1) = {"
b
b
-a
+c
"}
(2,1,1) = {"
b
-b
+a
b
"}
(3,1,1) = {"
b
b
-a
+c
"}
diff --git a/maps/submaps/pois_vr/debris_field/debris7.dmm b/maps/submaps/pois_vr/debris_field/debris7.dmm
new file mode 100644
index 0000000000..103f67bf68
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris7.dmm
@@ -0,0 +1,107 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/wall/dshull,
+/area/space)
+"c" = (
+/obj/structure/lattice,
+/obj/item/stack/cable_coil/cut,
+/turf/space,
+/area/space)
+"d" = (
+/turf/simulated/floor/airless,
+/area/space)
+"e" = (
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"f" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"g" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"h" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"i" = (
+/obj/structure/lattice,
+/obj/item/stack/cable_coil/cut,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"j" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+b
+b
+b
+b
+b
+"}
+(2,1,1) = {"
+b
+b
+b
+b
+b
+d
+d
+d
+a
+"}
+(3,1,1) = {"
+a
+c
+e
+e
+e
+e
+e
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+f
+h
+h
+i
+j
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+g
+g
+g
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+g
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris8.dmm b/maps/submaps/pois_vr/debris_field/debris8.dmm
new file mode 100644
index 0000000000..7e21a82345
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris8.dmm
@@ -0,0 +1,121 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"c" = (
+/turf/simulated/floor/hull/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"d" = (
+/obj/machinery/power/pointdefense{
+ dir = 4
+ },
+/turf/simulated/floor/hull/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"e" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"f" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+e
+a
+e
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+b
+c
+c
+c
+c
+f
+e
+a
+"}
+(4,1,1) = {"
+a
+a
+c
+c
+d
+c
+c
+c
+e
+a
+"}
+(5,1,1) = {"
+a
+a
+b
+c
+c
+c
+c
+f
+e
+a
+"}
+(6,1,1) = {"
+a
+a
+b
+b
+b
+f
+f
+b
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+e
+a
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/debris9.dmm b/maps/submaps/pois_vr/debris_field/debris9.dmm
new file mode 100644
index 0000000000..fa45426b2a
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/debris9.dmm
@@ -0,0 +1,82 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"c" = (
+/turf/simulated/floor/airless,
+/area/space)
+"d" = (
+/turf/simulated/wall/lead,
+/area/space)
+"e" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"f" = (
+/obj/structure/closet/crate/radiation,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"g" = (
+/obj/structure/table/rack,
+/turf/simulated/floor/airless,
+/area/tether_away/debrisfield/shuttle_buffer)
+"h" = (
+/turf/simulated/wall/lead,
+/area/tether_away/debrisfield/shuttle_buffer)
+"i" = (
+/obj/structure/sign/warning/radioactive,
+/turf/simulated/wall/lead,
+/area/tether_away/debrisfield/shuttle_buffer)
+
+(1,1,1) = {"
+a
+b
+d
+a
+a
+"}
+(2,1,1) = {"
+a
+f
+h
+a
+a
+"}
+(3,1,1) = {"
+a
+g
+h
+a
+a
+"}
+(4,1,1) = {"
+b
+c
+i
+a
+a
+"}
+(5,1,1) = {"
+b
+c
+h
+e
+a
+"}
+(6,1,1) = {"
+a
+c
+e
+e
+a
+"}
+(7,1,1) = {"
+a
+b
+e
+e
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/derelict.dmm b/maps/submaps/pois_vr/debris_field/derelict.dmm
index afc4719860..c1dcd09022 100644
--- a/maps/submaps/pois_vr/debris_field/derelict.dmm
+++ b/maps/submaps/pois_vr/debris_field/derelict.dmm
@@ -1,7 +1,7 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
-/turf/space,
-/area/tether_away/debrisfield/explored)
+/turf/template_noop,
+/area/space)
"ab" = (
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
@@ -13,7 +13,7 @@
},
/obj/structure/grille,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ac" = (
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
@@ -22,7 +22,7 @@
/obj/structure/window/reinforced,
/obj/structure/grille,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ad" = (
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
@@ -33,7 +33,7 @@
},
/obj/structure/grille,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ae" = (
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
@@ -45,23 +45,23 @@
},
/obj/structure/grille,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"af" = (
/obj/structure/prop/alien/computer/camera,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ag" = (
/obj/structure/prop/alien/computer,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ah" = (
/obj/structure/prop/alien/dispenser,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ai" = (
/obj/structure/prop/alien/computer/camera/flipped,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"aj" = (
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
@@ -72,14 +72,14 @@
},
/obj/structure/grille,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ak" = (
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"al" = (
/obj/tether_away_spawner/debrisfield/derelict,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"am" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -91,26 +91,26 @@
pixel_y = -24
},
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"an" = (
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ao" = (
/turf/simulated/wall/r_wall,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ap" = (
/turf/simulated/wall/r_wall,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"aq" = (
/obj/machinery/door/airlock/alien/locked,
/turf/simulated/floor/tiled/techfloor,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"ar" = (
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"as" = (
/obj/structure/cable{
d1 = 1;
@@ -119,20 +119,20 @@
pixel_y = 0
},
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/bridge)
+/area/submap/debrisfield/derelict/bridge)
"at" = (
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"au" = (
/obj/effect/decal/remains/human,
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"av" = (
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aw" = (
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ax" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/obj/structure/cable{
@@ -141,7 +141,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/bluegrid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ay" = (
/obj/structure/cable,
/obj/structure/cable{
@@ -159,11 +159,11 @@
},
/obj/machinery/power/rtg/abductor/built,
/turf/simulated/floor/bluegrid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"az" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aA" = (
/obj/structure/cable{
d1 = 1;
@@ -173,7 +173,7 @@
},
/obj/item/weapon/grenade/empgrenade,
/turf/simulated/floor/bluegrid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aB" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/obj/structure/cable{
@@ -183,7 +183,7 @@
pixel_y = 0
},
/turf/simulated/floor/bluegrid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aC" = (
/obj/structure/cable{
d1 = 1;
@@ -192,11 +192,11 @@
pixel_y = 0
},
/turf/simulated/floor/bluegrid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aD" = (
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aE" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -206,14 +206,14 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aF" = (
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aG" = (
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aH" = (
/obj/structure/cable{
d1 = 1;
@@ -222,18 +222,18 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aI" = (
/obj/structure/old_roboprinter,
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aJ" = (
/obj/structure/shuttle/engine/heater,
/turf/simulated/floor/reinforced/airless,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aK" = (
/turf/space,
-/area/tether_away/debrisfield/derelict)
+/area/space)
"aL" = (
/obj/structure/cable{
d2 = 2;
@@ -246,7 +246,7 @@
},
/obj/machinery/power/rtg/abductor/built,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aM" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -257,7 +257,7 @@
},
/obj/machinery/power/rtg/abductor/built,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aN" = (
/obj/random/humanoidremains,
/obj/structure/cable{
@@ -267,101 +267,109 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aO" = (
/obj/machinery/porta_turret/alien{
faction = "derelict";
use_power = 0
},
/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aP" = (
/obj/structure/shuttle/engine/propulsion{
icon_state = "burst_l";
dir = 8
},
/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aQ" = (
/obj/structure/shuttle/engine/propulsion{
icon_state = "burst_l";
dir = 4
},
/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aR" = (
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aS" = (
/obj/effect/decal/mecha_wreckage/gygax/adv,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aT" = (
/obj/effect/map_effect/interval/effect_emitter/sparks/frequent,
/obj/effect/map_effect/interval/effect_emitter/smoke,
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aU" = (
/obj/effect/map_effect/interval/effect_emitter/sparks/frequent,
/obj/structure/door_assembly/door_assembly_alien,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aV" = (
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aW" = (
/obj/random/tool/alien,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aX" = (
/obj/random/energy,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aY" = (
/obj/random/humanoidremains,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"aZ" = (
/mob/living/simple_mob/mechanical/infectionbot{
faction = "derelict"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ba" = (
/obj/random/humanoidremains,
/obj/item/weapon/gun/energy/ionrifle,
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bb" = (
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bc" = (
/obj/machinery/bomb_tester,
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bd" = (
/obj/structure/shuttle/engine/propulsion{
icon_state = "burst_l";
dir = 1
},
/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/space)
"be" = (
/obj/structure/prop/alien/computer/camera,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
+"bf" = (
+/obj/structure/catwalk,
+/turf/space,
+/area/space)
+"bg" = (
+/obj/item/weapon/gun/energy/ionrifle,
+/turf/space,
+/area/space)
"bh" = (
/obj/structure/prop/alien/computer/camera/flipped,
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bi" = (
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bj" = (
/obj/structure/cable{
d1 = 1;
@@ -370,24 +378,24 @@
pixel_y = 0
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bk" = (
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bl" = (
/obj/machinery/transhuman/resleever,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bm" = (
/obj/machinery/artifact,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bn" = (
/mob/living/simple_mob/mechanical/infectionbot{
faction = "derelict"
},
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bo" = (
/obj/structure/cable{
d1 = 2;
@@ -395,7 +403,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bp" = (
/obj/structure/cable{
d1 = 4;
@@ -403,7 +411,7 @@
icon_state = "4-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bq" = (
/obj/structure/cable{
d1 = 1;
@@ -411,11 +419,11 @@
icon_state = "1-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"br" = (
/obj/tether_away_spawner/debrisfield/derelict,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bs" = (
/obj/structure/cable{
d1 = 1;
@@ -424,7 +432,7 @@
pixel_y = 0
},
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bt" = (
/obj/structure/cable{
d1 = 1;
@@ -439,30 +447,30 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bu" = (
/obj/machinery/transhuman/synthprinter,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bv" = (
/obj/tether_away_spawner/debrisfield/derelict/mech_wizard,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bw" = (
/obj/machinery/vr_sleeper/alien,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bx" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/mob/living/simple_mob/mechanical/corrupt_maint_drone{
faction = "derelict"
},
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"by" = (
/obj/effect/decal/remains/human,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bz" = (
/obj/structure/cable{
d1 = 1;
@@ -470,29 +478,29 @@
icon_state = "1-4"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bA" = (
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bB" = (
/obj/tether_away_spawner/debrisfield/derelict,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bC" = (
/obj/structure/old_roboprinter,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bD" = (
/obj/structure/loot_pile/surface/alien/engineering,
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bE" = (
/obj/structure/old_roboprinter,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bF" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/obj/structure/cable{
@@ -501,33 +509,33 @@
icon_state = "1-4"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bG" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bH" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bI" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bJ" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bK" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -539,7 +547,7 @@
icon_state = "1-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bL" = (
/obj/structure/cable{
d1 = 2;
@@ -555,7 +563,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bM" = (
/obj/effect/map_effect/interval/effect_emitter/sparks/frequent,
/obj/structure/door_assembly/door_assembly_alien,
@@ -565,7 +573,7 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bN" = (
/obj/structure/cable{
d1 = 4;
@@ -573,10 +581,13 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bO" = (
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/obj/item/weapon/grenade/empgrenade,
+/obj/item/weapon/grenade/empgrenade,
+/obj/item/weapon/grenade/empgrenade,
+/turf/space,
+/area/space)
"bP" = (
/obj/random/humanoidremains,
/obj/structure/cable{
@@ -585,7 +596,7 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bQ" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -594,10 +605,11 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bR" = (
-/turf/template_noop,
-/area/tether_away/debrisfield/unexplored)
+/obj/structure/shuttle/engine/propulsion,
+/turf/space,
+/area/submap/debrisfield/derelict/interior)
"bS" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -606,15 +618,15 @@
icon_state = "4-8"
},
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bT" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bU" = (
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/reinforced,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bV" = (
/obj/item/xenos_claw,
/obj/structure/cable{
@@ -624,25 +636,25 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bW" = (
/obj/structure/old_roboprinter,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bX" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/mob/living/simple_mob/mechanical/corrupt_maint_drone{
faction = "derelict"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bY" = (
/obj/machinery/porta_turret/alien{
faction = "derelict";
use_power = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"bZ" = (
/obj/structure/cable{
d1 = 1;
@@ -656,7 +668,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ca" = (
/obj/structure/cable{
d1 = 1;
@@ -670,14 +682,14 @@
icon_state = "1-8"
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cb" = (
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cc" = (
/obj/machinery/implantchair,
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cd" = (
/obj/structure/cable{
d1 = 2;
@@ -685,42 +697,42 @@
icon_state = "2-4"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ce" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cf" = (
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cg" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ch" = (
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ci" = (
/mob/living/simple_mob/mechanical/infectionbot{
faction = "derelict"
},
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cj" = (
/obj/machinery/dna_scannernew,
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ck" = (
/obj/structure/cable{
d1 = 1;
@@ -729,7 +741,7 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cl" = (
/obj/structure/cable{
d1 = 1;
@@ -737,7 +749,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cm" = (
/obj/structure/cable{
d1 = 1;
@@ -746,12 +758,12 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cn" = (
/obj/machinery/optable,
/obj/random/humanoidremains,
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"co" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -761,15 +773,15 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/steel_dirty,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cp" = (
/obj/random/humanoidremains,
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cq" = (
/obj/structure/prop/prism,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cr" = (
/obj/structure/cable{
d1 = 1;
@@ -781,7 +793,7 @@
icon_state = "1-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cs" = (
/obj/structure/cable,
/obj/machinery/power/apc{
@@ -791,20 +803,20 @@
pixel_y = -24
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ct" = (
/obj/structure/cable{
icon_state = "1-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cu" = (
/obj/machinery/replicator,
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cv" = (
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cw" = (
/obj/structure/cable{
d1 = 1;
@@ -813,7 +825,7 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cx" = (
/obj/structure/cable{
d1 = 2;
@@ -821,7 +833,7 @@
icon_state = "2-4"
},
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cy" = (
/obj/structure/cable{
d1 = 4;
@@ -829,7 +841,7 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cz" = (
/obj/structure/cable{
d1 = 1;
@@ -837,18 +849,11 @@
icon_state = "1-8"
},
/turf/simulated/floor/tiled/neutral,
-/area/tether_away/debrisfield/derelict/interior)
-"cA" = (
-/obj/structure/catwalk,
-/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
-"cB" = (
-/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cC" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cD" = (
/obj/structure/cable{
d1 = 4;
@@ -856,25 +861,25 @@
icon_state = "4-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cE" = (
/obj/random/humanoidremains,
/obj/structure/cable{
icon_state = "2-8"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cF" = (
/obj/effect/alien/egg,
/obj/effect/alien/weeds,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cG" = (
/turf/simulated/wall/r_wall,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cH" = (
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cI" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -884,19 +889,15 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cJ" = (
/obj/machinery/door/airlock/alien,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
-"cK" = (
-/obj/item/weapon/gun/energy/ionrifle,
-/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/ai_access_port)
"cM" = (
/obj/structure/prop/alien/pod,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cN" = (
/obj/structure/cable{
d1 = 1;
@@ -905,42 +906,32 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cO" = (
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cP" = (
/obj/structure/loot_pile/surface/alien/medical,
/turf/simulated/floor/tiled/steel_ridged,
-/area/tether_away/debrisfield/derelict/interior)
-"cQ" = (
-/obj/item/weapon/grenade/empgrenade,
-/obj/item/weapon/grenade/empgrenade,
-/obj/item/weapon/grenade/empgrenade,
-/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cR" = (
/obj/structure/ghost_pod/manual/lost_drone/dogborg,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
-"cS" = (
-/obj/structure/shuttle/engine/propulsion,
-/turf/space,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cT" = (
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cU" = (
/obj/machinery/door/airlock/alien/locked,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"cV" = (
/obj/machinery/door/airlock/alien/locked,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"cW" = (
/turf/simulated/wall,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"cX" = (
/obj/machinery/door/airlock/alien,
/obj/structure/cable{
@@ -950,10 +941,10 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"cY" = (
/turf/simulated/wall/r_wall,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"cZ" = (
/obj/random/humanoidremains,
/obj/structure/cable{
@@ -963,7 +954,7 @@
pixel_y = 0
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"da" = (
/obj/structure/cable{
d1 = 1;
@@ -972,10 +963,10 @@
pixel_y = 0
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"db" = (
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"dc" = (
/obj/structure/cable{
d1 = 1;
@@ -983,7 +974,7 @@
icon_state = "1-4"
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"dd" = (
/obj/structure/cable{
icon_state = "0-8"
@@ -995,7 +986,7 @@
pixel_x = 28
},
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"de" = (
/obj/structure/cable{
d1 = 1;
@@ -1009,13 +1000,13 @@
icon_state = "1-4"
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"df" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"dg" = (
/obj/structure/cable{
d2 = 8;
@@ -1028,22 +1019,22 @@
pixel_x = 28
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"dh" = (
/obj/tether_away_spawner/debrisfield/derelict/corrupt_maint_swarm,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"di" = (
/obj/structure/ghost_pod/manual/lost_drone/dogborg,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"dj" = (
/obj/tether_away_spawner/debrisfield/derelict/mech_wizard,
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_access_starboard)
+/area/submap/debrisfield/derelict/ai_access_starboard)
"dk" = (
/turf/simulated/wall/r_wall,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dl" = (
/obj/machinery/door/airlock/hatch{
icon_state = "door_locked";
@@ -1053,7 +1044,7 @@
req_access = list(16)
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dm" = (
/obj/machinery/door/airlock/hatch{
icon_state = "door_locked";
@@ -1069,13 +1060,13 @@
pixel_y = 0
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dn" = (
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"do" = (
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dp" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -1088,7 +1079,7 @@
pixel_y = 24
},
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dq" = (
/obj/structure/cable{
d1 = 4;
@@ -1096,94 +1087,69 @@
icon_state = "4-8"
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dr" = (
/obj/structure/cable{
icon_state = "1-8"
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"ds" = (
/obj/machinery/porta_turret/alien{
faction = "derelict";
use_power = 0
},
/turf/simulated/floor/plating,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dt" = (
/obj/structure/prop/prism,
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"du" = (
/obj/structure/prop/blackbox/xenofrigate,
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dv" = (
/obj/machinery/porta_turret/alien{
faction = "derelict";
use_power = 0
},
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dw" = (
/obj/structure/prop/fake_ai,
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"dx" = (
/obj/structure/ghost_pod/manual/lost_drone/dogborg,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/ai_access_port)
+/area/submap/debrisfield/derelict/ai_access_port)
"dF" = (
/obj/structure/salvageable/server,
/turf/simulated/floor/greengrid,
-/area/tether_away/debrisfield/derelict/ai_chamber)
+/area/submap/debrisfield/derelict/ai_chamber)
"oS" = (
/obj/structure/salvageable/server,
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"tR" = (
/obj/structure/salvageable/computer,
/turf/simulated/floor/tiled/dark,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"HB" = (
/obj/structure/salvageable/implant_container,
/turf/simulated/floor/tiled/white,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"QE" = (
/obj/structure/salvageable/autolathe,
/turf/simulated/floor/tiled/steel_grid,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
"ZJ" = (
/obj/structure/salvageable/personal,
/turf/simulated/floor/tiled/monotile,
-/area/tether_away/debrisfield/derelict/interior)
+/area/submap/debrisfield/derelict/interior)
(1,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -1209,6 +1175,43 @@ aa
aa
aa
aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -1219,49 +1222,37 @@ aa
aa
aa
aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(2,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
bd
ao
ao
@@ -1293,48 +1284,48 @@ ao
ao
ao
ao
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(3,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
ao
ao
ao
@@ -1365,48 +1356,48 @@ bi
bi
ao
aJ
-cS
-cB
+bR
+aK
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(4,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
ao
ao
ao
@@ -1440,47 +1431,47 @@ bi
bi
ao
aJ
-cS
+bR
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(5,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
ao
ao
ao
@@ -1514,49 +1505,49 @@ bi
bi
ao
aJ
-cS
+bR
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(6,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
ao
ao
ao
@@ -1587,51 +1578,51 @@ bi
bi
ao
aJ
-cS
-cB
+bR
+aK
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(7,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
bd
ao
ao
@@ -1663,45 +1654,20 @@ ao
ao
ao
ao
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(8,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -1716,10 +1682,54 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
bG
bi
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -1730,52 +1740,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(9,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -1790,10 +1756,54 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
bG
bi
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -1804,52 +1814,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(10,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -1863,12 +1829,55 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
bG
bi
ao
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -1879,51 +1888,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(11,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -1936,6 +1902,31 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -1944,6 +1935,26 @@ bi
ao
ao
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -1951,55 +1962,35 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bO
-bO
-bO
-bO
-bO
-bO
-bO
"}
(12,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -2036,43 +2027,43 @@ cG
cG
cG
dk
+aK
+aK
+aa
+aa
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
-bO
-bO
"}
(13,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ba
@@ -2111,22 +2102,22 @@ cO
dh
dk
dk
+aK
+aK
+aa
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
-bO
"}
(14,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -2138,15 +2129,15 @@ ao
ao
ao
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
bb
@@ -2186,21 +2177,21 @@ cH
dk
dk
dk
+aK
+aK
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
"}
(15,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
at
at
@@ -2212,15 +2203,15 @@ at
at
at
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
aF
aF
@@ -2261,20 +2252,20 @@ dl
dn
dk
dk
+aK
+aK
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
"}
(16,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
at
at
@@ -2286,15 +2277,15 @@ av
av
at
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
aF
av
@@ -2336,19 +2327,19 @@ dn
dn
dk
dk
+aK
+aK
+aa
aa
aa
-bO
-bO
-bO
"}
(17,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
au
at
@@ -2360,15 +2351,15 @@ av
ZJ
at
ao
-aa
-aa
-aa
+aK
+aK
+aK
av
aT
av
-aa
-aa
-aa
+aK
+aK
+aK
ao
aF
aF
@@ -2411,18 +2402,18 @@ dn
ds
dk
dk
+aK
+aK
aa
aa
-bO
-bO
"}
(18,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
oS
az
@@ -2434,15 +2425,15 @@ av
au
az
ao
-aa
-aa
+aK
+aK
aP
av
aR
av
aP
-aa
-aa
+aK
+aK
ao
aW
aF
@@ -2486,12 +2477,12 @@ do
dv
dk
dk
+aK
+aK
aa
-aa
-bO
"}
(19,1,1) = {"
-aa
+aK
ab
ae
ae
@@ -2508,15 +2499,15 @@ av
av
av
ao
-aa
-aa
+aK
+aK
av
av
aU
av
av
-aa
-aa
+aK
+aK
ao
av
av
@@ -2561,11 +2552,11 @@ do
dv
dk
dk
-aa
-aa
+aK
+aK
"}
(20,1,1) = {"
-aa
+aK
ac
af
ak
@@ -2616,17 +2607,17 @@ aF
cq
bY
ao
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
dk
do
do
@@ -2636,10 +2627,10 @@ do
dv
dk
dk
-aa
+aK
"}
(21,1,1) = {"
-aa
+aK
ac
ag
ak
@@ -2690,17 +2681,17 @@ ck
cl
aF
ao
-cA
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+bf
dk
do
do
@@ -2710,10 +2701,10 @@ do
do
dv
dk
-aa
+aK
"}
(22,1,1) = {"
-aa
+aK
ac
ah
ak
@@ -2764,17 +2755,17 @@ av
cg
aF
ao
-cA
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+bf
dk
dF
do
@@ -2784,10 +2775,10 @@ do
do
do
dk
-aa
+aK
"}
(23,1,1) = {"
-aa
+aK
ac
ag
ak
@@ -2838,17 +2829,17 @@ co
cr
cs
ao
-cA
-cB
-cB
-cB
-cK
-cQ
-cQ
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+bg
+bO
+bO
+aK
+aK
+aK
+bf
dk
dF
do
@@ -2858,10 +2849,10 @@ do
do
dv
dk
-aa
+aK
"}
(24,1,1) = {"
-aa
+aK
ac
ag
ak
@@ -2912,17 +2903,17 @@ co
ck
cl
ao
-cA
-cB
-cB
-cB
-cB
-cQ
-cQ
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+aK
+bO
+bO
+aK
+aK
+aK
+bf
dk
dF
do
@@ -2932,10 +2923,10 @@ do
do
dv
dk
-aa
+aK
"}
(25,1,1) = {"
-aa
+aK
ac
ah
ak
@@ -2986,17 +2977,17 @@ av
aY
cg
ao
-cA
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+bf
dk
dF
do
@@ -3006,10 +2997,10 @@ do
do
do
dk
-aa
+aK
"}
(26,1,1) = {"
-aa
+aK
ac
ag
ak
@@ -3060,17 +3051,17 @@ ck
ck
ct
ao
-cA
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cB
-cA
+bf
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+bf
dk
do
do
@@ -3080,10 +3071,10 @@ do
do
dv
dk
-aa
+aK
"}
(27,1,1) = {"
-aa
+aK
ac
ai
ak
@@ -3100,15 +3091,15 @@ aw
aw
aw
ao
-aa
-aa
+aK
+aK
av
aR
aR
aR
av
-aa
-aa
+aK
+aK
ao
aZ
aF
@@ -3134,17 +3125,17 @@ aF
cq
bY
ao
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
-cA
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
dk
do
do
@@ -3154,10 +3145,10 @@ do
dv
dk
dk
-aa
+aK
"}
(28,1,1) = {"
-aa
+aK
ad
aj
aj
@@ -3174,15 +3165,15 @@ av
av
av
ao
-aa
-aa
+aK
+aK
av
av
aV
av
av
-aa
-aa
+aK
+aK
ao
av
av
@@ -3227,16 +3218,16 @@ do
dv
dk
dk
-aa
-aa
+aK
+aK
"}
(29,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
au
at
@@ -3248,15 +3239,15 @@ av
aI
aI
ao
-aa
-aa
+aK
+aK
aQ
av
aR
av
aQ
-aa
-aa
+aK
+aK
ao
aW
aF
@@ -3300,17 +3291,17 @@ do
dv
dk
dk
+aK
+aK
aa
-aa
-bO
"}
(30,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
at
at
@@ -3322,15 +3313,15 @@ av
at
at
ao
-aa
-aa
-aa
+aK
+aK
+aK
av
aV
av
-aa
-aa
-aa
+aK
+aK
+aK
ao
aF
aF
@@ -3373,18 +3364,18 @@ dn
ds
dk
dk
+aK
+aK
aa
aa
-bO
-bO
"}
(31,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
at
at
@@ -3396,15 +3387,15 @@ av
az
az
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
aF
aF
@@ -3446,19 +3437,19 @@ dq
dn
dk
dk
+aK
+aK
+aa
aa
aa
-bO
-bO
-bO
"}
(32,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
at
at
@@ -3470,15 +3461,15 @@ at
at
at
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
aF
aF
@@ -3519,20 +3510,20 @@ dm
dr
dk
dk
+aK
+aK
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
"}
(33,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -3544,15 +3535,15 @@ ao
ao
ao
ao
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
bb
@@ -3592,41 +3583,41 @@ db
dk
dk
dk
+aK
+aK
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
"}
(34,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
bc
@@ -3665,43 +3656,43 @@ dg
dj
dk
dk
+aK
+aK
+aa
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
-bO
"}
(35,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -3738,42 +3729,17 @@ cY
cY
cY
dk
+aK
+aK
+aa
+aa
+aa
+aa
+aa
aa
aa
-bO
-bO
-bO
-bO
-bO
-bO
-bO
"}
(36,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -3786,6 +3752,31 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
ao
@@ -3794,6 +3785,25 @@ bi
ao
ao
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -3802,52 +3812,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bO
-bO
-bO
-bO
-bO
-bO
-bO
-bO
"}
(37,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -3861,12 +3827,55 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
ao
bp
bi
ao
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -3877,51 +3886,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(38,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -3936,10 +3902,54 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
bp
bi
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -3950,52 +3960,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(39,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -4010,10 +3976,54 @@ aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
ao
bp
bi
ao
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -4024,56 +4034,37 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(40,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
bd
ao
ao
@@ -4105,48 +4096,48 @@ ao
ao
ao
ao
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(41,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
ao
ao
ao
@@ -4177,48 +4168,48 @@ bi
bi
ao
aJ
-cS
-cB
+bR
+aK
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(42,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
ao
ao
ao
@@ -4252,47 +4243,47 @@ bi
bi
ao
aJ
-cS
+bR
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(43,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
ao
ao
ao
@@ -4326,49 +4317,49 @@ bi
bi
ao
aJ
-cS
+bR
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(44,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
ao
ao
ao
@@ -4399,51 +4390,51 @@ av
bi
ao
aJ
-cS
-cB
+bR
+aK
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(45,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aK
+aK
+aK
bd
ao
ao
@@ -4475,45 +4466,20 @@ ao
ao
ao
ao
+aK
+aK
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
(46,1,1) = {"
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
aa
aa
aa
@@ -4539,6 +4505,43 @@ aa
aa
aa
aa
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
aa
aa
aa
@@ -4549,16 +4552,4 @@ aa
aa
aa
aa
-aa
-aa
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
-bR
"}
diff --git a/maps/submaps/pois_vr/debris_field/escape_pod.dmm b/maps/submaps/pois_vr/debris_field/escape_pod.dmm
new file mode 100644
index 0000000000..18468e697e
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/escape_pod.dmm
@@ -0,0 +1,63 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ pixel_x = -16
+ },
+/turf/simulated/shuttle/wall/hard_corner,
+/area/submap/debrisfield/misc_debris)
+"b" = (
+/turf/simulated/shuttle/wall,
+/area/submap/debrisfield/misc_debris)
+"c" = (
+/obj/machinery/door/unpowered/shuttle,
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"d" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 4
+ },
+/obj/effect/decal/remains/human,
+/obj/item/weapon/bananapeel{
+ layer = 2.5
+ },
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"e" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 4
+ },
+/obj/effect/decal/remains/tajaran,
+/obj/item/device/radio/intercom{
+ dir = 1;
+ pixel_y = 24;
+ req_access = list()
+ },
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"f" = (
+/obj/structure/shuttle/window,
+/obj/structure/grille,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/misc_debris)
+
+(1,1,1) = {"
+a
+c
+a
+"}
+(2,1,1) = {"
+b
+d
+b
+"}
+(3,1,1) = {"
+b
+e
+b
+"}
+(4,1,1) = {"
+b
+f
+b
+"}
diff --git a/maps/submaps/pois_vr/debris_field/foodstand.dmm b/maps/submaps/pois_vr/debris_field/foodstand.dmm
index a035bb4b3a..40efa5aff3 100644
--- a/maps/submaps/pois_vr/debris_field/foodstand.dmm
+++ b/maps/submaps/pois_vr/debris_field/foodstand.dmm
@@ -1,23 +1,23 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"c" = (
/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"d" = (
/turf/simulated/wall/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"e" = (
/obj/structure/closet/secure_closet/freezer/meat,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"f" = (
/obj/structure/table/woodentable,
/obj/item/weapon/reagent_containers/food/condiment/coldsauce,
@@ -25,19 +25,19 @@
/obj/item/weapon/reagent_containers/food/condiment/hotsauce,
/obj/item/weapon/reagent_containers/food/condiment/soysauce,
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"g" = (
/obj/structure/table/woodentable,
/obj/machinery/microwave,
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"h" = (
/obj/structure/simple_door/wood,
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"i" = (
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"j" = (
/obj/structure/closet/crate/freezer,
/obj/item/weapon/reagent_containers/food/snacks/taco,
@@ -48,23 +48,23 @@
/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito,
/obj/item/weapon/reagent_containers/food/snacks/cheeseburrito,
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
"k" = (
/obj/structure/table/woodentable,
-/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
-"l" = (
-/obj/structure/table/woodentable,
-/obj/item/weapon/reagent_containers/food/snacks/taco,
-/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
-"m" = (
-/obj/structure/table/woodentable,
/obj/machinery/cash_register{
dir = 1
},
/turf/simulated/floor/wood,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/foodstand)
+"l" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/reagent_containers/food/snacks/taco,
+/turf/simulated/floor/wood,
+/area/submap/debrisfield/foodstand)
+"m" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/wood,
+/area/submap/debrisfield/foodstand)
(1,1,1) = {"
a
@@ -121,7 +121,7 @@ a
(5,1,1) = {"
b
b
-b
+c
c
d
d
@@ -133,22 +133,22 @@ a
"}
(6,1,1) = {"
b
-b
+c
c
c
d
e
i
-m
+k
c
c
c
"}
(7,1,1) = {"
-a
b
c
c
+c
d
f
i
@@ -165,7 +165,7 @@ c
d
g
j
-k
+m
c
c
c
diff --git a/maps/submaps/pois_vr/debris_field/mining_drones.dmm b/maps/submaps/pois_vr/debris_field/mining_drones.dmm
new file mode 100644
index 0000000000..57fee61a6f
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/mining_drones.dmm
@@ -0,0 +1,409 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/space,
+/area/space)
+"b" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"c" = (
+/mob/living/simple_mob/mechanical/mining_drone{
+ faction = "poi_mining_drones"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"d" = (
+/obj/machinery/power/rtg,
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"e" = (
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/smes/batteryrack/mapped{
+ input_attempt = 1;
+ mode = 3;
+ output_attempt = 1
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"f" = (
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"g" = (
+/turf/simulated/wall,
+/area/submap/debrisfield/mining_outpost)
+"h" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/wall,
+/area/submap/debrisfield/mining_outpost)
+"i" = (
+/obj/item/stack/material/steel,
+/turf/space,
+/area/space)
+"j" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"k" = (
+/turf/simulated/mineral/vacuum,
+/area/submap/debrisfield/mining_outpost)
+"l" = (
+/obj/structure/ore_box,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"m" = (
+/obj/structure/cable,
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"n" = (
+/obj/machinery/porta_turret/stationary/syndie{
+ faction = "poi_mining_drones";
+ icon_state = "turret_cover_industrial";
+ turret_type = "industrial"
+ },
+/obj/effect/map_effect/perma_light,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"o" = (
+/obj/machinery/power/apc/alarms_hidden{
+ dir = 1;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"p" = (
+/obj/item/weapon/material/shard,
+/turf/space,
+/area/space)
+"q" = (
+/obj/structure/sign/poster{
+ pixel_y = 32;
+ poster_type = "/datum/poster/bay_50"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"r" = (
+/obj/random/multiple/underdark/ores,
+/obj/structure/closet/syndicate/resources{
+ name = "storage locker"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"s" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/obj/effect/floor_decal/rust/steel_decals_rusted2{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"t" = (
+/obj/item/modular_computer/console/preset/civilian{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/asteroid_steel/airless,
+/area/submap/debrisfield/mining_outpost)
+"u" = (
+/obj/item/weapon/ore,
+/obj/effect/floor_decal/asteroid,
+/turf/simulated/floor/tiled/asteroid_steel/airless,
+/area/submap/debrisfield/mining_outpost)
+"v" = (
+/turf/template_noop,
+/area/space)
+"w" = (
+/obj/item/weapon/material/shard,
+/obj/structure/grille/broken,
+/obj/item/stack/rods,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"x" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"y" = (
+/obj/machinery/conveyor,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"z" = (
+/obj/machinery/light/small/emergency{
+ auto_flicker = 1;
+ dir = 8
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"A" = (
+/obj/effect/floor_decal/rust,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"B" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"C" = (
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"D" = (
+/obj/item/weapon/material/shard,
+/obj/effect/floor_decal/steeldecal/steel_decals_central5{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"E" = (
+/obj/machinery/door/airlock/external/glass{
+ density = 0;
+ health = 0;
+ icon_state = "door_open";
+ stat = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"F" = (
+/obj/machinery/door/airlock/external/glass/bolted,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"G" = (
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/structure/closet/medical_wall{
+ dir = 2;
+ pixel_y = -24
+ },
+/obj/item/stack/medical/bruise_pack,
+/obj/item/stack/medical/ointment,
+/obj/item/weapon/storage/mre/random,
+/obj/effect/floor_decal/rust/part_rusted3,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"H" = (
+/obj/structure/closet/syndicate/resources{
+ name = "storage locker"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"I" = (
+/obj/item/weapon/storage/toolbox/syndicate,
+/obj/structure/table/rack/steel,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"J" = (
+/obj/machinery/light_switch{
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/rust,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/mining_outpost)
+"L" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"M" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"N" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"O" = (
+/obj/machinery/mineral/input,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"R" = (
+/obj/machinery/mineral/processing_unit,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"S" = (
+/obj/machinery/conveyor{
+ dir = 4
+ },
+/obj/machinery/mineral/output,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"T" = (
+/obj/machinery/conveyor{
+ dir = 4
+ },
+/obj/structure/plasticflaps/mining,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+"U" = (
+/obj/machinery/conveyor{
+ dir = 5
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_outpost)
+
+(1,1,1) = {"
+v
+a
+B
+f
+c
+f
+c
+f
+f
+"}
+(2,1,1) = {"
+v
+f
+f
+l
+y
+y
+y
+O
+g
+"}
+(3,1,1) = {"
+v
+f
+g
+g
+g
+g
+g
+R
+g
+"}
+(4,1,1) = {"
+v
+d
+h
+m
+z
+r
+g
+S
+g
+"}
+(5,1,1) = {"
+v
+B
+g
+e
+A
+H
+g
+T
+g
+"}
+(6,1,1) = {"
+v
+B
+g
+o
+C
+C
+f
+U
+g
+"}
+(7,1,1) = {"
+v
+i
+g
+q
+C
+I
+g
+g
+g
+"}
+(8,1,1) = {"
+v
+a
+j
+s
+C
+J
+g
+a
+B
+"}
+(9,1,1) = {"
+i
+b
+k
+t
+C
+C
+M
+B
+n
+"}
+(10,1,1) = {"
+b
+b
+k
+u
+D
+G
+g
+a
+a
+"}
+(11,1,1) = {"
+b
+b
+k
+k
+E
+L
+g
+v
+v
+"}
+(12,1,1) = {"
+v
+b
+b
+w
+f
+M
+v
+v
+v
+"}
+(13,1,1) = {"
+v
+v
+p
+x
+F
+N
+v
+v
+v
+"}
diff --git a/maps/submaps/pois_vr/debris_field/old_satellite.dmm b/maps/submaps/pois_vr/debris_field/old_satellite.dmm
new file mode 100644
index 0000000000..eda87facc6
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/old_satellite.dmm
@@ -0,0 +1,224 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"c" = (
+/obj/machinery/doppler_array,
+/obj/structure/lattice,
+/turf/space,
+/area/submap/debrisfield/old_sat)
+"d" = (
+/obj/structure/window/phoronbasic{
+ dir = 1
+ },
+/obj/structure/window/phoronbasic{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"e" = (
+/obj/structure/window/phoronbasic{
+ dir = 1
+ },
+/obj/structure/salvageable/server,
+/turf/simulated/floor/bluegrid/airless,
+/area/submap/debrisfield/old_sat)
+"f" = (
+/obj/structure/window/phoronbasic{
+ dir = 1
+ },
+/obj/structure/window/phoronbasic{
+ dir = 4
+ },
+/obj/random/tech_supply/component,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"g" = (
+/obj/item/weapon/material/shard,
+/turf/template_noop,
+/area/space)
+"h" = (
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/solar/fake{
+ adir = 135
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"i" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/solar/fake{
+ adir = 135
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"j" = (
+/obj/structure/window/phoronbasic{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/random/tech_supply/component,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"k" = (
+/obj/structure/AIcore{
+ anchored = 1;
+ icon_state = "3";
+ state = 3
+ },
+/obj/structure/cable{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/bluegrid/airless,
+/area/submap/debrisfield/old_sat)
+"l" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/random/tech_supply/component,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"m" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar/fake{
+ stat = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"n" = (
+/obj/structure/window/phoronbasic{
+ dir = 8
+ },
+/obj/structure/window/phoronbasic,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"o" = (
+/obj/structure/lattice,
+/obj/item/weapon/material/shard,
+/turf/space,
+/area/space)
+"p" = (
+/obj/structure/window/phoronbasic,
+/obj/machinery/telecomms/broadcaster,
+/turf/simulated/floor/bluegrid/airless,
+/area/submap/debrisfield/old_sat)
+"q" = (
+/obj/item/weapon/material/shard/phoron,
+/obj/item/weapon/ore/iron,
+/obj/random/tech_supply/component,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_sat)
+"r" = (
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/turf/template_noop,
+/area/space)
+"s" = (
+/obj/item/weapon/ore/glass,
+/turf/template_noop,
+/area/space)
+"t" = (
+/obj/item/stack/cable_coil/cut,
+/turf/template_noop,
+/area/space)
+
+(1,1,1) = {"
+a
+a
+a
+h
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+i
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+i
+a
+a
+"}
+(4,1,1) = {"
+a
+c
+d
+j
+n
+a
+"}
+(5,1,1) = {"
+a
+a
+e
+k
+p
+a
+"}
+(6,1,1) = {"
+b
+b
+f
+l
+q
+a
+"}
+(7,1,1) = {"
+a
+a
+t
+m
+r
+s
+"}
+(8,1,1) = {"
+a
+a
+a
+o
+t
+a
+"}
+(9,1,1) = {"
+a
+a
+g
+t
+s
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+g
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/old_teleporter.dmm b/maps/submaps/pois_vr/debris_field/old_teleporter.dmm
new file mode 100644
index 0000000000..c0d8c77ca8
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/old_teleporter.dmm
@@ -0,0 +1,267 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/space)
+"b" = (
+/turf/simulated/wall/r_wall,
+/area/submap/debrisfield/old_tele)
+"c" = (
+/obj/structure/frame/computer,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"d" = (
+/obj/machinery/teleport/station{
+ icon = 'icons/obj/stationobjs.dmi'
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"e" = (
+/obj/machinery/teleport/hub{
+ icon = 'icons/obj/stationobjs.dmi'
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"f" = (
+/obj/machinery/power/apc/alarms_hidden{
+ cell_type = null;
+ coverlocked = 0;
+ dir = 1;
+ locked = 0;
+ opened = 1;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"g" = (
+/obj/item/weapon/material/shard,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"h" = (
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"i" = (
+/obj/structure/table/rack,
+/obj/item/clothing/gloves/fyellow,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"j" = (
+/obj/structure/lattice,
+/turf/space,
+/area/space)
+"k" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"l" = (
+/obj/machinery/door/airlock/external,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"m" = (
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"n" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"o" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"p" = (
+/obj/structure/lattice,
+/obj/item/stack/cable_coil/cut,
+/turf/space,
+/area/submap/debrisfield/old_tele)
+"q" = (
+/obj/structure/closet/malf/suits,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"r" = (
+/obj/structure/lattice,
+/turf/space,
+/area/submap/debrisfield/old_tele)
+"s" = (
+/turf/space,
+/area/submap/debrisfield/old_tele)
+"t" = (
+/obj/item/stack/cable_coil/cut,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"u" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/old_tele)
+"v" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space)
+
+(1,1,1) = {"
+a
+a
+a
+v
+a
+a
+a
+v
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+v
+a
+a
+a
+v
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+j
+j
+a
+a
+a
+j
+j
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+j
+b
+b
+l
+b
+b
+j
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+b
+b
+h
+h
+h
+b
+b
+a
+a
+"}
+(6,1,1) = {"
+a
+b
+b
+f
+k
+k
+n
+h
+b
+b
+j
+"}
+(7,1,1) = {"
+a
+b
+c
+g
+h
+m
+o
+r
+t
+b
+a
+"}
+(8,1,1) = {"
+a
+b
+d
+h
+h
+h
+p
+s
+r
+u
+a
+"}
+(9,1,1) = {"
+j
+b
+e
+h
+h
+g
+h
+p
+h
+b
+j
+"}
+(10,1,1) = {"
+j
+b
+b
+i
+h
+h
+h
+h
+b
+b
+j
+"}
+(11,1,1) = {"
+a
+a
+b
+b
+h
+h
+q
+b
+b
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+j
+b
+b
+b
+b
+b
+a
+a
+a
+"}
diff --git a/maps/submaps/pois_vr/debris_field/oldshuttle.dmm b/maps/submaps/pois_vr/debris_field/oldshuttle.dmm
index f44d8e4ace..7c9eefd8f1 100644
--- a/maps/submaps/pois_vr/debris_field/oldshuttle.dmm
+++ b/maps/submaps/pois_vr/debris_field/oldshuttle.dmm
@@ -1,63 +1,92 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"ab" = (
/obj/item/weapon/material/twohanded/spear,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
"ac" = (
-/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"ad" = (
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"ae" = (
-/obj/structure/table/steel,
-/obj/item/clothing/head/pilot,
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"af" = (
-/turf/simulated/shuttle/wall/voidcraft/hard_corner,
-/area/tether_away/debrisfield/explored)
-"ag" = (
-/obj/structure/frame/computer,
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"ah" = (
-/obj/structure/bed/chair/comfy/blue{
- icon_state = "comfychair_preview";
- dir = 1
- },
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"ai" = (
/obj/structure/grille,
/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
dir = 1
},
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aj" = (
+/area/submap/debrisfield/misc_debris)
+"ad" = (
+/turf/simulated/shuttle/wall/voidcraft,
+/area/submap/debrisfield/misc_debris)
+"ae" = (
/obj/item/weapon/material/shard,
/obj/item/weapon/material/shard,
/obj/structure/grille/broken,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
+"ag" = (
+/obj/structure/lattice,
+/turf/space,
+/area/submap/debrisfield/misc_debris)
+"ah" = (
+/turf/space,
+/area/submap/debrisfield/misc_debris)
+"ai" = (
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"aj" = (
+/obj/structure/table/steel,
+/obj/item/clothing/head/pilot,
+/obj/random/unidentified_medicine/drug_den,
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
"ak" = (
+/turf/simulated/shuttle/wall/voidcraft/hard_corner,
+/area/submap/debrisfield/misc_debris)
+"al" = (
+/obj/structure/table/steel,
+/obj/item/clothing/head/pilot,
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"am" = (
+/obj/structure/frame/computer,
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"an" = (
+/obj/tether_away_spawner/debrisfield/carp/hard,
+/turf/space,
+/area/submap/debrisfield/misc_debris)
+"ao" = (
+/obj/structure/bed/chair/comfy/blue{
+ icon_state = "comfychair_preview";
+ dir = 1
+ },
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"ap" = (
/obj/machinery/light{
dir = 1
},
/obj/structure/table/rack/shelf,
/obj/item/device/suit_cooling_unit,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"al" = (
-/obj/structure/lattice,
-/turf/space,
-/area/tether_away/debrisfield/explored)
-"am" = (
+/area/submap/debrisfield/misc_debris)
+"aq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"ar" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"as" = (
/obj/machinery/light{
dir = 1
},
@@ -69,16 +98,17 @@
/obj/item/clothing/suit/space/void/pilot,
/obj/item/clothing/head/helmet/space/void/pilot,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"an" = (
+/area/submap/debrisfield/misc_debris)
+"at" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"au" = (
/obj/machinery/door/airlock/voidcraft,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"ao" = (
-/obj/effect/floor_decal/industrial/outline/blue,
-/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"ap" = (
+/area/submap/debrisfield/misc_debris)
+"av" = (
/obj/structure/table/rack/shelf,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
@@ -89,12 +119,12 @@
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/tank/emergency/oxygen/engi,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aq" = (
+/area/submap/debrisfield/misc_debris)
+"aw" = (
/obj/structure/bed/chair/shuttle,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"ar" = (
+/area/submap/debrisfield/misc_debris)
+"ax" = (
/obj/machinery/light{
icon_state = "tube1";
dir = 8
@@ -103,8 +133,8 @@
pixel_x = -32
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"as" = (
+/area/submap/debrisfield/misc_debris)
+"ay" = (
/obj/machinery/light{
icon_state = "tube1";
dir = 4
@@ -113,49 +143,45 @@
pixel_x = 32
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"at" = (
+/area/submap/debrisfield/misc_debris)
+"az" = (
/obj/machinery/sleeper{
dir = 8
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"au" = (
+/area/submap/debrisfield/misc_debris)
+"aA" = (
/obj/machinery/sleep_console,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"av" = (
+/area/submap/debrisfield/misc_debris)
+"aB" = (
/obj/structure/bed/chair/shuttle{
dir = 1
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aw" = (
+/area/submap/debrisfield/misc_debris)
+"aC" = (
/obj/effect/floor_decal/industrial/outline/red,
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"ax" = (
+/area/submap/debrisfield/misc_debris)
+"aD" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/space_heater,
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"ay" = (
-/obj/structure/table/steel,
-/obj/item/clothing/head/pilot,
-/obj/random/unidentified_medicine/drug_den,
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"az" = (
-/obj/structure/closet/crate/medical,
-/obj/random/unidentified_medicine/old_medicine,
-/obj/random/unidentified_medicine/old_medicine,
-/obj/random/unidentified_medicine/old_medicine,
-/obj/random/unidentified_medicine/fresh_medicine,
-/obj/random/unidentified_medicine/fresh_medicine,
-/obj/random/unidentified_medicine/combat_medicine,
+/area/submap/debrisfield/misc_debris)
+"aE" = (
+/obj/effect/floor_decal/industrial/outline/blue,
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"aA" = (
+/area/submap/debrisfield/misc_debris)
+"aF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 6
+ },
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"aG" = (
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 9
@@ -166,21 +192,15 @@
id_tag = "expshuttle_docker_pump_out_internal"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aB" = (
+/area/submap/debrisfield/misc_debris)
+"aH" = (
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 1
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aC" = (
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 10
- },
-/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"aD" = (
+/area/submap/debrisfield/misc_debris)
+"aI" = (
/obj/effect/floor_decal/industrial/warning{
dir = 5
},
@@ -190,15 +210,21 @@
id_tag = "expshuttle_vent"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aE" = (
+/area/submap/debrisfield/misc_debris)
+"aJ" = (
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ dir = 10
+ },
+/turf/simulated/shuttle/wall/voidcraft,
+/area/submap/debrisfield/misc_debris)
+"aK" = (
/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
dir = 8
},
/obj/machinery/door/airlock/voidcraft/vertical,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aF" = (
+/area/submap/debrisfield/misc_debris)
+"aL" = (
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 8
@@ -209,8 +235,8 @@
id_tag = "expshuttle_docker_pump_out_internal"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aG" = (
+/area/submap/debrisfield/misc_debris)
+"aM" = (
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 4
@@ -221,28 +247,28 @@
id_tag = "expshuttle_vent"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aH" = (
+/area/submap/debrisfield/misc_debris)
+"aN" = (
/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
dir = 4
},
/obj/machinery/door/airlock/voidcraft/vertical,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aI" = (
-/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
- dir = 8
- },
-/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"aJ" = (
+/area/submap/debrisfield/misc_debris)
+"aO" = (
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 8
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aK" = (
+/area/submap/debrisfield/misc_debris)
+"aP" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
+ dir = 8
+ },
+/turf/simulated/shuttle/wall/voidcraft,
+/area/submap/debrisfield/misc_debris)
+"aQ" = (
/obj/effect/floor_decal/industrial/warning{
dir = 10
},
@@ -252,22 +278,12 @@
id_tag = "expshuttle_docker_pump_out_internal"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aL" = (
+/area/submap/debrisfield/misc_debris)
+"aR" = (
/obj/effect/floor_decal/industrial/warning,
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aM" = (
-/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
- dir = 4
- },
-/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"aN" = (
-/obj/machinery/door/airlock/voidcraft/vertical,
-/turf/simulated/shuttle/floor/black,
-/area/tether_away/debrisfield/explored)
-"aO" = (
+/area/submap/debrisfield/misc_debris)
+"aS" = (
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
@@ -281,39 +297,57 @@
id_tag = "expshuttle_vent"
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aP" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 10
+/area/submap/debrisfield/misc_debris)
+"aT" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
+ dir = 4
},
-/turf/simulated/shuttle/wall/voidcraft/hard_corner,
-/area/tether_away/debrisfield/explored)
-"aQ" = (
+/turf/simulated/shuttle/wall/voidcraft,
+/area/submap/debrisfield/misc_debris)
+"aU" = (
+/obj/machinery/door/airlock/voidcraft/vertical,
+/turf/simulated/shuttle/floor/black,
+/area/submap/debrisfield/misc_debris)
+"aV" = (
/obj/effect/floor_decal/industrial/warning/corner{
icon_state = "warningcorner";
dir = 1
},
/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aR" = (
+/area/submap/debrisfield/misc_debris)
+"aW" = (
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 10
+ },
+/turf/simulated/shuttle/wall/voidcraft/hard_corner,
+/area/submap/debrisfield/misc_debris)
+"aX" = (
/obj/machinery/atmospherics/pipe/tank/air{
dir = 4
},
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"aS" = (
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 9
- },
-/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"aT" = (
+/area/submap/debrisfield/misc_debris)
+"aY" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 4
},
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"aU" = (
+/area/submap/debrisfield/misc_debris)
+"aZ" = (
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ dir = 9
+ },
+/turf/simulated/shuttle/wall/voidcraft,
+/area/submap/debrisfield/misc_debris)
+"ba" = (
+/obj/machinery/light,
+/obj/effect/floor_decal/industrial/warning/corner,
+/obj/effect/floor_decal/industrial/warning/corner{
+ dir = 8
+ },
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"bb" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/wall_mounted{
dir = 1;
frequency = 1380;
@@ -321,64 +355,18 @@
power_rating = 20000
},
/turf/simulated/shuttle/wall/voidcraft,
-/area/tether_away/debrisfield/explored)
-"aV" = (
-/obj/machinery/light,
-/obj/effect/floor_decal/industrial/warning/corner,
-/obj/effect/floor_decal/industrial/warning/corner{
- dir = 8
- },
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aW" = (
-/obj/tether_away_spawner/debrisfield/carp/hard,
-/turf/space,
-/area/tether_away/debrisfield/explored)
-"aX" = (
-/obj/structure/shuttle/engine/propulsion,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aY" = (
-/obj/machinery/door/airlock/multi_tile/metal,
-/turf/simulated/shuttle/floor/black/airless,
-/area/tether_away/debrisfield/explored)
-"aZ" = (
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
-"ba" = (
-/obj/effect/immovablerod,
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
-"bb" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"bc" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/obj/structure/closet/crate/medical,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/old_medicine,
+/obj/random/unidentified_medicine/fresh_medicine,
+/obj/random/unidentified_medicine/fresh_medicine,
+/obj/random/unidentified_medicine/combat_medicine,
+/turf/simulated/shuttle/floor/darkred/airless,
+/area/submap/debrisfield/misc_debris)
"bd" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"be" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 6
- },
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"bg" = (
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
@@ -387,493 +375,395 @@
/obj/item/weapon/storage/mre/random,
/obj/structure/closet/crate,
/turf/simulated/shuttle/floor/darkred/airless,
-/area/tether_away/debrisfield/explored)
-"bh" = (
+/area/submap/debrisfield/misc_debris)
+"be" = (
/obj/tether_away_spawner/debrisfield/carp,
/turf/space,
-/area/tether_away/debrisfield/explored)
+/area/space)
+"bf" = (
+/turf/template_noop,
+/area/space)
+"bg" = (
+/obj/structure/lattice,
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
+"bh" = (
+/turf/space,
+/area/tether_away/debrisfield/shuttle_buffer)
"bi" = (
+/obj/machinery/door/airlock/multi_tile/metal,
+/turf/simulated/shuttle/floor/black/airless,
+/area/submap/debrisfield/misc_debris)
+"bj" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"bk" = (
+/turf/simulated/mineral/floor/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"bl" = (
+/obj/effect/immovablerod,
+/turf/simulated/mineral/floor/vacuum,
+/area/tether_away/debrisfield/shuttle_buffer)
+"bm" = (
/obj/structure/loot_pile/mecha/durand,
/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/tether_away/debrisfield/shuttle_buffer)
(1,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+ad
+ad
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
"}
(2,1,1) = {"
+ab
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ac
-ac
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+ad
+ar
+ad
+ar
+ad
+ad
+ad
+aC
+ah
+ag
+aU
+ad
+ad
+ak
+bj
+bf
+bf
"}
(3,1,1) = {"
aa
-ab
-aa
-ac
+ad
+ak
+as
+ad
+ai
+ax
+az
+ad
+aD
+ah
+ah
+aH
+aR
bc
-ac
-bc
-ac
-ac
-ac
-aw
-aa
-al
-aN
-ac
-ac
-af
-aX
-aa
-aa
-aa
-aa
+ad
+bj
+bf
+bf
"}
(4,1,1) = {"
-aa
-aa
+bf
ac
-af
-am
-ac
-ad
-ar
-at
-ac
-ax
-aa
-aa
-aB
-aL
-az
-ac
-aX
-aa
-aa
-aa
-aa
-"}
-(5,1,1) = {"
-aa
-aa
-ai
-ae
-ad
-ac
-ap
-ad
-au
-ac
-ao
al
-al
-aB
-aL
-bg
-ac
-aX
-aa
-aa
-aa
-aa
-"}
-(6,1,1) = {"
-aa
-aa
ai
-ag
-ah
-bd
-aq
ad
av
-aa
-aa
-al
-aa
-aB
-aV
-af
-ac
-aa
-aa
-aa
-aa
-aa
-"}
-(7,1,1) = {"
-aa
-aa
-aj
-ad
-ad
-an
-ad
-ad
-ad
-aa
-aa
-bd
-aJ
-aQ
-aL
-aY
-aa
-aa
-bh
-aa
-aa
-aa
-"}
-(8,1,1) = {"
-aa
-aa
-al
-aa
-aa
-al
-aa
-al
-al
-aa
-aa
-an
-ad
-ad
-aL
-ad
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(9,1,1) = {"
-aa
-aa
-aa
-aW
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-al
-aa
-aa
-al
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(10,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-al
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(11,1,1) = {"
-aa
-aa
-al
-al
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aZ
-ba
-aa
-aa
-"}
-(12,1,1) = {"
-aa
ai
+aA
ad
-ah
+aE
+ag
+ag
+aH
+aR
bd
-aa
ad
+bj
+bf
+bf
+"}
+(5,1,1) = {"
+bf
+ac
+am
+ao
+at
+aw
+ai
+aB
+ah
+ah
+ag
+ah
+aH
+ba
+ak
ad
-aa
-aa
-aa
-aa
-al
-aa
-aa
-aa
-aa
-aa
-aa
+bf
+bf
+bf
+"}
+(6,1,1) = {"
+bf
+ae
+ai
+ai
+au
+ai
+ai
+ai
+ah
+ah
+at
+aO
+aV
+aR
bi
aa
aa
-"}
-(13,1,1) = {"
-aa
-ai
-ay
-ad
-ac
-aa
-aq
-al
-al
-al
-aa
-al
-al
-aa
-al
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(14,1,1) = {"
-aa
-ac
-af
-ak
-ac
-aa
-al
-al
-av
-ac
be
-aE
-aI
-aI
-aU
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+bf
"}
-(15,1,1) = {"
+(7,1,1) = {"
+bf
+ag
+ah
+ah
+ag
+ah
+ag
+ag
+ah
+ah
+au
+ai
+ai
+aR
+ai
aa
aa
-ac
-bb
-ac
-aa
-aa
-ad
-av
-ac
-aA
-aF
-aK
-aP
-aU
aa
+bf
+"}
+(8,1,1) = {"
+bf
+ah
+an
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ag
+ah
+ah
+bg
bh
aa
aa
-aa
-aa
-aa
+bf
"}
-(16,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aq
-as
-av
+(9,1,1) = {"
+bf
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+bg
+bh
+bh
+bh
+bh
+"}
+(10,1,1) = {"
+bf
+ag
+ag
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+ah
+bh
+bh
+bh
+bk
+bl
+"}
+(11,1,1) = {"
ac
+ai
+ao
+at
+ah
+ai
+ai
+ah
+ah
+ah
+ah
+ag
+ah
+ah
+bh
+bh
+bh
+bh
+bm
+"}
+(12,1,1) = {"
+ac
+aj
+ai
+ad
+ah
+aw
+ag
+ag
+ag
+ah
+ag
+ag
+ah
+ag
+bh
+bh
+aa
+aa
+bf
+"}
+(13,1,1) = {"
+ad
+ak
+ap
+ad
+ah
+ag
+ag
aB
ad
-aL
-aR
-ac
-aX
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(17,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+aF
+aK
+aP
+aP
bb
-ac
-ac
-ac
-aD
-aG
-aO
-aT
-ac
-aX
-aa
-aa
-aa
-aa
aa
aa
+bf
+bf
+bf
"}
-(18,1,1) = {"
+(14,1,1) = {"
+bf
+ad
+aq
+ad
+ah
+ah
+ai
+aB
+ad
+aG
+aL
+aQ
+aW
+bb
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ac
-aC
+be
+bf
+bf
+bf
+"}
+(15,1,1) = {"
+bf
+bf
+bf
+bf
+bf
+aw
+ay
+aB
+ad
aH
+ai
+aR
+aX
+ad
+bj
+bf
+bf
+bf
+bf
+"}
+(16,1,1) = {"
+bf
+bf
+bf
+bf
+bf
+aq
+ad
+ad
+ad
+aI
aM
aS
-af
-aX
-aa
-aa
-aa
-aa
-aa
-aa
+aY
+ad
+bj
+bf
+bf
+bf
+bf
"}
-(19,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(20,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+(17,1,1) = {"
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+bf
+ad
+aJ
+aN
+aT
+aZ
+ak
+bj
+bf
+bf
+bf
+bf
"}
diff --git a/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm b/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm
index b0ae668a84..f47ee1ea03 100644
--- a/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm
+++ b/maps/submaps/pois_vr/debris_field/ship_med_crashed.dmm
@@ -1,184 +1,187 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"b" = (
/turf/simulated/mineral/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/space)
"c" = (
-/turf/simulated/shuttle/wall,
-/area/tether_away/debrisfield/explored)
+/obj/tether_away_spawner/debrisfield/carp,
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
"d" = (
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
+/turf/simulated/mineral/vacuum,
+/area/submap/debrisfield/misc_debris)
"e" = (
+/turf/simulated/shuttle/wall,
+/area/submap/debrisfield/misc_debris)
+"f" = (
/obj/structure/shuttle/window,
/obj/structure/grille,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"f" = (
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"g" = (
/obj/effect/decal/cleanable/generic,
/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"h" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/salvageable/personal,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"i" = (
/obj/structure/salvageable/implant_container,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"j" = (
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"k" = (
/obj/structure/closet/secure_closet/sar{
name = "sar locker";
req_access = list()
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"k" = (
+/area/submap/debrisfield/misc_debris)
+"l" = (
/obj/structure/shuttle/engine/propulsion{
dir = 4
},
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"l" = (
+/area/submap/debrisfield/misc_debris)
+"m" = (
+/obj/item/weapon/material/shard/shrapnel,
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"n" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/bot/medbot{
name = "Dr. Crusty"
},
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"m" = (
+/area/submap/debrisfield/misc_debris)
+"o" = (
/obj/structure/table/standard,
/obj/random/unidentified_medicine/fresh_medicine,
/obj/random/unidentified_medicine/fresh_medicine,
/obj/random/unidentified_medicine/old_medicine,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"n" = (
+/area/submap/debrisfield/misc_debris)
+"p" = (
+/obj/item/stack/material/steel,
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"q" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/generic,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"o" = (
+/area/submap/debrisfield/misc_debris)
+"r" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/random/firstaid,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"s" = (
/obj/structure/table/standard,
/obj/random/unidentified_medicine/fresh_medicine,
/obj/random/unidentified_medicine/fresh_medicine,
/obj/random/unidentified_medicine/viral,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"p" = (
+/area/submap/debrisfield/misc_debris)
+"t" = (
/obj/structure/closet/secure_closet/medical3{
name = "medical locker";
req_access = list()
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"q" = (
+/area/submap/debrisfield/misc_debris)
+"u" = (
+/obj/item/stack/rods,
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"v" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/molten_item,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"r" = (
+/area/submap/debrisfield/misc_debris)
+"w" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/shuttle/wall,
+/area/submap/debrisfield/misc_debris)
+"x" = (
+/turf/simulated/shuttle/wall/hard_corner,
+/area/submap/debrisfield/misc_debris)
+"y" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"s" = (
+/area/submap/debrisfield/misc_debris)
+"z" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/remains/posi,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"t" = (
+/area/submap/debrisfield/misc_debris)
+"A" = (
/obj/machinery/door/unpowered/shuttle,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"u" = (
+/area/submap/debrisfield/misc_debris)
+"B" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/stack/material/steel,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"C" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/weapon/storage/firstaid/adv,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"D" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/stack/rods,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"E" = (
/obj/structure/closet/emcloset,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"v" = (
+/area/submap/debrisfield/misc_debris)
+"F" = (
/obj/structure/table/rack,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"w" = (
+/area/submap/debrisfield/misc_debris)
+"G" = (
+/turf/simulated/mineral/floor/vacuum,
+/area/submap/debrisfield/misc_debris)
+"H" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/weapon/material/shard/shrapnel,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"I" = (
/obj/effect/decal/cleanable/generic,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"x" = (
+/area/submap/debrisfield/misc_debris)
+"J" = (
+/obj/item/weapon/material/shard/shrapnel,
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"K" = (
/obj/structure/dispenser/oxygen{
oxygentanks = 7
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"y" = (
+/area/submap/debrisfield/misc_debris)
+"L" = (
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"z" = (
+/area/submap/debrisfield/misc_debris)
+"M" = (
/obj/structure/salvageable/data,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"A" = (
+/area/submap/debrisfield/misc_debris)
+"N" = (
/obj/machinery/suit_cycler/medical,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"C" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/random/firstaid,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"D" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/weapon/storage/firstaid/adv,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"E" = (
-/obj/item/weapon/material/shard/shrapnel,
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
-"F" = (
-/obj/item/stack/material/steel,
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
-"G" = (
-/obj/item/stack/rods,
-/turf/simulated/mineral/floor/vacuum,
-/area/tether_away/debrisfield/explored)
-"H" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/stack/material/steel,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"I" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/stack/rods,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"J" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/weapon/material/shard/shrapnel,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"K" = (
-/obj/item/weapon/material/shard/shrapnel,
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"L" = (
-/obj/tether_away_spawner/debrisfield/carp,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"M" = (
-/turf/simulated/shuttle/wall/hard_corner,
-/area/tether_away/debrisfield/explored)
-"Q" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/shuttle/wall,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
(1,1,1) = {"
a
@@ -187,16 +190,14 @@ a
a
a
a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+b
+b
+b
+b
+b
+b
+b
+b
a
a
a
@@ -206,239 +207,217 @@ a
a
a
a
-a
-a
-a
-a
b
b
b
b
+d
+d
+d
+d
+d
+d
b
b
b
b
a
-a
-a
-a
-a
"}
(3,1,1) = {"
a
-a
-a
-a
b
b
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
"}
(4,1,1) = {"
-a
-a
b
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(5,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(6,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(7,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(8,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(9,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(10,1,1) = {"
-a
b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(11,1,1) = {"
-a
+b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
b
b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
"}
(12,1,1) = {"
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
b
b
+d
+d
+d
+d
+p
+u
+m
+m
+u
+G
+d
+d
b
b
b
@@ -448,41 +427,37 @@ a
a
b
b
+e
+g
+m
+q
+v
+y
+B
+C
+H
+g
+e
b
-b
-b
-b
-F
-G
-E
-E
-G
-d
-b
-b
-b
-b
-b
+a
a
a
"}
(14,1,1) = {"
a
a
-b
-b
-c
-g
-E
+a
+e
+h
n
-q
r
-H
+w
+z
+q
D
-J
-g
-c
-b
+I
+L
+e
a
a
a
@@ -492,19 +467,17 @@ a
a
a
a
-a
-c
-h
-l
-C
-Q
-s
-n
-I
-w
-y
-c
-a
+e
+e
+e
+e
+x
+j
+j
+j
+J
+M
+e
a
a
a
@@ -514,19 +487,17 @@ a
a
a
a
-a
-c
-c
-c
-c
-M
-f
-f
-f
-K
-z
-c
-a
+e
+i
+o
+s
+e
+j
+j
+e
+e
+e
+e
a
a
a
@@ -536,19 +507,17 @@ a
a
a
a
-a
-c
-i
-m
-o
-c
-f
-f
-c
-c
-c
-c
-a
+e
+j
+j
+j
+j
+j
+j
+E
+K
+N
+e
a
a
a
@@ -558,19 +527,17 @@ a
a
a
a
-a
-c
f
+j
+j
+j
+e
+j
+j
+j
+j
+j
f
-f
-f
-f
-f
-u
-x
-A
-c
-a
a
a
a
@@ -580,19 +547,17 @@ a
a
a
a
-a
+f
+j
+j
+j
e
+j
+j
+j
+j
+j
f
-f
-f
-c
-f
-f
-f
-f
-f
-e
-a
a
a
a
@@ -602,19 +567,17 @@ a
a
a
a
-a
e
-f
-f
-f
-c
-f
-f
-f
-f
-f
+k
+k
+t
+e
+A
+e
+F
+F
+F
e
-a
a
a
a
@@ -624,109 +587,39 @@ a
a
a
a
-a
-c
+e
+e
+e
+e
+e
j
-j
-p
-c
-t
-c
-v
-v
-v
-c
-a
+e
+e
+e
+e
+e
a
a
a
a
"}
(22,1,1) = {"
-a
-a
-a
-a
-c
-c
-c
-c
-c
-f
-c
-c
-c
-c
c
a
a
+e
+l
+l
+l
+x
+A
+x
+l
+l
+l
+e
a
a
a
-"}
-(23,1,1) = {"
-a
-L
-a
-a
-c
-k
-k
-k
-M
-t
-M
-k
-k
-k
-c
-a
-a
-a
-L
-a
-"}
-(24,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(25,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+c
"}
diff --git a/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm b/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm
new file mode 100644
index 0000000000..bb029e9daa
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/ship_mining_drone.dmm
@@ -0,0 +1,752 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/template_noop,
+/area/space)
+"ab" = (
+/turf/simulated/wall/rthull,
+/area/submap/debrisfield/mining_drone_ship)
+"ac" = (
+/obj/structure/window/plastitanium/full,
+/obj/structure/window/plastitanium{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ad" = (
+/obj/machinery/power/emitter/gyrotron/anchored{
+ active = 1;
+ desc = "A heavy beam emitter modified for use in breaking apart ore-rich asteroids.";
+ dir = 1;
+ locked = 1;
+ mega_energy = 0.2;
+ name = "modified emitter";
+ rate = 5;
+ req_access = list(-1)
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ae" = (
+/turf/simulated/mineral/vacuum,
+/area/submap/debrisfield/mining_drone_ship)
+"af" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ag" = (
+/obj/structure/girder/reinforced,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ah" = (
+/obj/structure/prop{
+ desc = "An array of conventional power storage units, for when the added charge longivity and cost of a SMES unit is unneded or impractical.";
+ icon = 'icons/obj/power.dmi';
+ icon_state = "gridchecker_off";
+ name = "capacitor bank"
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ai" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aj" = (
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "drone_toggle"
+ },
+/obj/machinery/conveyor{
+ operating = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ak" = (
+/obj/structure/prop{
+ desc = "There are a number of what seem to be error messages on these screens, none intelligible.";
+ icon = 'icons/obj/mainframe.dmi';
+ icon_state = "leftb";
+ name = "console"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"al" = (
+/obj/structure/prop{
+ desc = "This isn't going to be fixable.";
+ icon = 'icons/obj/mainframe.dmi';
+ icon_state = "aimainframeb";
+ name = "broken console"
+ },
+/obj/effect/map_effect/interval/effect_emitter/sparks,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"am" = (
+/turf/simulated/mineral/vacuum,
+/area/space)
+"an" = (
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ao" = (
+/obj/machinery/conveyor{
+ operating = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ap" = (
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aq" = (
+/mob/living/simple_mob/mechanical/hivebot/swarm,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ar" = (
+/obj/machinery/power/rtg/fake_gen{
+ desc = "An array of conventional power storage units, for when the added charge longivity and cost of a SMES unit is unneded or impractical.";
+ icon = 'icons/obj/power.dmi';
+ icon_state = "gridchecker_off";
+ name = "capacitor bank";
+ power_gen = 12000
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"as" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"at" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"au" = (
+/obj/machinery/door/blast/regular{
+ id = "miner_poi_toggle"
+ },
+/obj/structure/catwalk,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"av" = (
+/obj/machinery/conveyor{
+ operating = 1
+ },
+/obj/structure/catwalk,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ plane = -45
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aw" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ax" = (
+/obj/machinery/button/remote/blast_door{
+ id = "miner_poi_toggle";
+ name = "Power Compartment Access";
+ pixel_y = -24
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"ay" = (
+/obj/machinery/door/airlock/maintenance_hatch,
+/turf/simulated/wall/rthull,
+/area/submap/debrisfield/mining_drone_ship)
+"az" = (
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "miner_poi_toggle"
+ },
+/obj/machinery/conveyor{
+ operating = 1
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aA" = (
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aB" = (
+/obj/item/weapon/ore,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aC" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/machinery/artifact,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aD" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aE" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aF" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aG" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/gold,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aH" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aI" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/mob/living/simple_mob/mechanical/hivebot/support/commander,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aJ" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aK" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aL" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aM" = (
+/obj/item/weapon/ore,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aN" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aO" = (
+/obj/item/weapon/ore,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aP" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aQ" = (
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/structure/mob_spawner{
+ density = 1;
+ desc = "A bizarre mess of robotic limbs, glowing microrefineries, and nanoassemblers gradually converting the pile of raw materials into active hivebots.";
+ destructible = 1;
+ icon = 'icons/obj/recycling.dmi';
+ icon_state = "grinder-b1";
+ name = "hivebot assembler";
+ simultaneous_spawns = 6;
+ spawn_delay = 300;
+ spawn_types = list(/mob/living/simple_mob/mechanical/hivebot/swarm = 200, /mob/living/simple_mob/mechanical/hivebot/ranged_damage/basic = 50, /mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser = 25, /mob/living/simple_mob/mechanical/hivebot/ranged_damage/ion = 10, /mob/living/simple_mob/mechanical/hivebot/tank/meatshield = 10)
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aR" = (
+/obj/structure/shuttle/engine/heater{
+ pixel_y = 8
+ },
+/turf/space,
+/area/submap/debrisfield/mining_drone_ship)
+"aS" = (
+/obj/item/weapon/ore/gold,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aT" = (
+/obj/item/weapon/ore,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aU" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/coal,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aV" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/phoron,
+/obj/item/weapon/ore/phoron,
+/obj/machinery/light/poi,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aW" = (
+/obj/item/weapon/ore,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aX" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/gold,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aY" = (
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/iron,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"aZ" = (
+/obj/structure/shuttle/engine/propulsion{
+ pixel_y = 8
+ },
+/turf/space,
+/area/submap/debrisfield/mining_drone_ship)
+"ba" = (
+/obj/structure/prop{
+ desc = "An array of conventional power storage units, for when the added charge longivity and cost of a SMES unit is unneded or impractical.";
+ icon = 'icons/obj/power.dmi';
+ icon_state = "gridchecker_off";
+ name = "capacitor bank"
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/light/small/poi{
+ dir = 8
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+"bb" = (
+/obj/machinery/light/small/flicker{
+ dir = 4
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/mining_drone_ship)
+
+(1,1,1) = {"
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aR
+aZ
+"}
+(2,1,1) = {"
+aa
+ab
+ab
+ab
+ah
+ba
+ar
+ab
+aA
+aA
+ab
+ab
+aa
+"}
+(3,1,1) = {"
+aa
+ac
+ad
+af
+ai
+ai
+as
+ab
+aB
+aJ
+aS
+ab
+aa
+"}
+(4,1,1) = {"
+aa
+ab
+ab
+ab
+ab
+an
+at
+ab
+aC
+aK
+aT
+ab
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+aa
+aa
+ab
+ab
+au
+ab
+aD
+aL
+aU
+ab
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+aa
+aa
+aj
+ao
+av
+az
+aE
+aM
+aV
+ab
+aa
+"}
+(7,1,1) = {"
+aa
+am
+aa
+aa
+ab
+ab
+au
+ab
+aF
+aN
+aW
+ab
+aa
+"}
+(8,1,1) = {"
+am
+am
+am
+ab
+ab
+ap
+aw
+ab
+aG
+aO
+aX
+ab
+aa
+"}
+(9,1,1) = {"
+am
+am
+ae
+ag
+ak
+aq
+ax
+ab
+aH
+aP
+aY
+ab
+aa
+"}
+(10,1,1) = {"
+am
+am
+ae
+ae
+al
+bb
+an
+ab
+aI
+aQ
+ab
+ab
+aa
+"}
+(11,1,1) = {"
+aa
+am
+am
+ab
+ab
+ab
+ay
+ab
+ab
+ab
+ab
+aR
+aZ
+"}
diff --git a/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm b/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm
index 9d0965fe15..4ba3847968 100644
--- a/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm
+++ b/maps/submaps/pois_vr/debris_field/ship_sci_overrun.dmm
@@ -1,182 +1,194 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"ab" = (
/turf/simulated/wall/thull,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"ac" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"ad" = (
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ae" = (
-/obj/machinery/portable_atmospherics/hydroponics,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"af" = (
-/obj/machinery/botany/editor,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ag" = (
-/obj/machinery/vending/hydronutrients,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ah" = (
-/obj/machinery/seed_extractor,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ai" = (
-/obj/machinery/seed_storage/xenobotany,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aj" = (
-/obj/machinery/botany/extractor,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ak" = (
-/obj/item/seeds/killertomatoseed,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"al" = (
-/obj/structure/railing,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"am" = (
-/obj/structure/railing{
- dir = 4
- },
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"an" = (
-/obj/structure/reagent_dispensers/watertank/high,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ao" = (
-/obj/structure/railing{
+/obj/structure/shuttle/engine/propulsion{
dir = 8
},
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ap" = (
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"ae" = (
/obj/structure/table/rack,
-/obj/item/weapon/shovel/spade,
-/obj/item/weapon/shovel/spade,
-/obj/item/weapon/material/minihoe,
-/obj/item/weapon/material/minihoe,
-/obj/item/weapon/material/knife/machete/hatchet,
-/obj/item/weapon/material/knife/machete/hatchet,
-/obj/item/weapon/reagent_containers/glass/bucket,
-/obj/item/weapon/reagent_containers/glass/bucket,
-/obj/item/device/analyzer/plant_analyzer,
-/obj/item/device/analyzer/plant_analyzer,
+/obj/random/tool,
+/obj/random/tool,
+/obj/random/tool,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"af" = (
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"ag" = (
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aq" = (
-/obj/structure/railing{
- dir = 1
+/area/submap/debrisfield/sci_overrun)
+"ah" = (
+/obj/structure/closet/secure_closet/scientist{
+ name = "scientist locker";
+ req_access = list(0)
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
+"ai" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/blue,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aj" = (
+/obj/machinery/portable_atmospherics/hydroponics,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"ak" = (
+/obj/machinery/botany/editor,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"al" = (
+/obj/machinery/vending/hydronutrients,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"am" = (
+/obj/machinery/seed_extractor,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"an" = (
+/obj/machinery/seed_storage/xenobotany,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"ao" = (
+/obj/machinery/botany/extractor,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"ap" = (
+/obj/item/weapon/reagent_containers/spray/plantbgone,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aq" = (
+/obj/item/seeds/killertomatoseed,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"ar" = (
/mob/living/simple_mob/tomato/space,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"as" = (
-/obj/structure/table/rack,
-/obj/random/tool,
-/obj/random/tool,
-/obj/random/tool,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/obj/structure/railing,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"at" = (
-/obj/machinery/door/airlock/science{
- req_one_access = list(0)
- },
+/obj/item/weapon/reagent_containers/spray/chemsprayer,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"au" = (
-/obj/item/clothing/head/collectable/slime,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/obj/structure/salvageable/autolathe,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
"av" = (
-/obj/structure/sign/hydro,
-/turf/simulated/wall/thull,
-/area/tether_away/debrisfield/explored)
-"aw" = (
-/obj/structure/closet/firecloset,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ax" = (
/obj/machinery/door/airlock/maintenance/rnd{
name = "Research Airlock";
req_one_access = list(0)
},
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
+"aw" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/green,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"ax" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"ay" = (
-/obj/structure/sign/xenobio,
-/turf/simulated/wall/thull,
-/area/tether_away/debrisfield/explored)
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"az" = (
-/obj/item/device/slime_scanner,
-/obj/item/device/slime_scanner,
-/obj/structure/table/reinforced,
+/obj/structure/railing{
+ dir = 8
+ },
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"aA" = (
-/obj/structure/table/reinforced,
-/obj/item/weapon/gun/energy/taser/xeno,
-/obj/item/weapon/melee/baton/slime/loaded,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aB" = (
-/obj/structure/table/reinforced,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aC" = (
-/obj/structure/table/reinforced,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sparracube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube,
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aD" = (
-/obj/machinery/processor,
-/obj/item/slime_extract/dark_blue,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aE" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aF" = (
-/obj/item/weapon/reagent_containers/spray/plantbgone,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aG" = (
-/obj/item/weapon/reagent_containers/spray/chemsprayer,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aH" = (
-/obj/tether_away_spawner/debrisfield/carp,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"aI" = (
/obj/effect/decal/remains,
/obj/item/clothing/under/rank/hydroponics,
/obj/item/clothing/suit/storage/toggle/labcoat/green,
/obj/item/clothing/head/greenbandana,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
+"aB" = (
+/obj/structure/table/rack,
+/obj/item/weapon/shovel/spade,
+/obj/item/weapon/shovel/spade,
+/obj/item/weapon/material/minihoe,
+/obj/item/weapon/material/minihoe,
+/obj/item/weapon/material/knife/machete/hatchet,
+/obj/item/weapon/material/knife/machete/hatchet,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/device/analyzer/plant_analyzer,
+/obj/item/device/analyzer/plant_analyzer,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aC" = (
+/obj/structure/table/rack,
+/obj/random/firstaid,
+/obj/random/firstaid,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"aD" = (
+/mob/living/simple_mob/slime/feral/dark_blue,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"aE" = (
+/obj/machinery/door/airlock/science{
+ req_one_access = list(0)
+ },
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aF" = (
+/obj/item/clothing/head/collectable/slime,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aG" = (
+/obj/structure/railing{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aH" = (
+/obj/tether_away_spawner/debrisfield/carp,
+/turf/template_noop,
+/area/tether_away/debrisfield/shuttle_buffer)
+"aI" = (
+/obj/structure/table/rack,
+/obj/random/unidentified_medicine/scientific,
+/obj/random/unidentified_medicine/scientific,
+/obj/random/unidentified_medicine/scientific,
+/obj/random/unidentified_medicine/scientific,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
"aJ" = (
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = -12
+ },
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aK" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/rd,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aL" = (
/obj/structure/table/rack,
/obj/item/slime_extract/rainbow,
/obj/structure/window/reinforced{
@@ -187,8 +199,12 @@
},
/obj/structure/window/reinforced,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aK" = (
+/area/submap/debrisfield/sci_overrun)
+"aM" = (
+/obj/structure/sign/hydro,
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/sci_overrun)
+"aN" = (
/obj/item/weapon/gun/energy/temperature,
/obj/structure/table/rack,
/obj/structure/window/reinforced,
@@ -199,25 +215,52 @@
dir = 4
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aL" = (
+/area/submap/debrisfield/sci_overrun)
+"aO" = (
/obj/structure/window/reinforced/full,
/obj/structure/grille,
/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aM" = (
+/area/submap/debrisfield/sci_overrun)
+"aP" = (
+/obj/item/weapon/tool/prybar/red,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"aQ" = (
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aR" = (
+/obj/structure/closet/firecloset,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aS" = (
/obj/machinery/computer/shuttle{
dir = 8
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aN" = (
+/area/submap/debrisfield/sci_overrun)
+"aT" = (
+/obj/machinery/door/unpowered/shuttle,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aU" = (
+/obj/machinery/door/airlock/command{
+ name = "Research Airlock";
+ req_one_access = list(0)
+ },
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aV" = (
/obj/structure/bed/chair/comfy/purp{
dir = 4
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aO" = (
+/area/submap/debrisfield/sci_overrun)
+"aW" = (
+/obj/structure/sign/xenobio,
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/sci_overrun)
+"aX" = (
/obj/item/weapon/gun/energy/decloner,
/obj/structure/table/rack,
/obj/structure/window/reinforced,
@@ -228,35 +271,60 @@
dir = 4
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aP" = (
+/area/submap/debrisfield/sci_overrun)
+"aY" = (
+/obj/item/clothing/suit/storage/toggle/labcoat/purple,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"aZ" = (
+/obj/structure/closet/crate,
+/obj/item/stack/material/uranium{
+ amount = 11
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"ba" = (
+/obj/structure/closet/crate,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"bb" = (
/obj/structure/filingcabinet/filingcabinet,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aQ" = (
+/area/submap/debrisfield/sci_overrun)
+"bc" = (
/obj/structure/table/reinforced,
/obj/item/stack/material/phoron{
amount = 10
},
/obj/item/device/flashlight/pen,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aR" = (
+/area/submap/debrisfield/sci_overrun)
+"bd" = (
/obj/structure/table/reinforced,
/obj/item/weapon/paper_bin,
/obj/item/weapon/pen/blue,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aS" = (
+/area/submap/debrisfield/sci_overrun)
+"be" = (
/obj/structure/table/reinforced,
/obj/item/weapon/folder/white,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aT" = (
-/mob/living/simple_mob/slime/feral/dark_blue,
+/area/submap/debrisfield/sci_overrun)
+"bf" = (
+/obj/structure/table/reinforced,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aU" = (
+/area/submap/debrisfield/sci_overrun)
+"bg" = (
+/obj/structure/salvageable/machine,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"bh" = (
+/obj/item/device/slime_scanner,
+/obj/item/device/slime_scanner,
+/obj/structure/table/reinforced,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"bi" = (
/obj/structure/table/rack,
/obj/structure/window/reinforced{
dir = 4
@@ -267,111 +335,38 @@
/obj/item/weapon/material/shard,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aV" = (
+/area/submap/debrisfield/sci_overrun)
+"bj" = (
/obj/structure/bed/chair/office/light{
dir = 1
},
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aW" = (
-/obj/item/weapon/airlock_electronics,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aX" = (
-/obj/item/weapon/material/shard,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aY" = (
-/obj/structure/closet/emcloset,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"aZ" = (
-/obj/machinery/door/unpowered/shuttle,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"ba" = (
-/obj/item/clothing/suit/storage/toggle/labcoat/purple,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bb" = (
+/area/submap/debrisfield/sci_overrun)
+"bk" = (
/obj/effect/decal/remains,
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat/blue,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bc" = (
-/obj/structure/closet/secure_closet/scientist{
- name = "scientist locker";
- req_access = list(0)
- },
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bd" = (
-/obj/structure/bed,
-/obj/item/weapon/bedsheet/blue,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"be" = (
-/obj/structure/bed,
-/obj/item/weapon/bedsheet/green,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bf" = (
-/obj/structure/bed,
-/obj/item/weapon/bedsheet/rd,
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bg" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12
- },
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bh" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8
- },
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"bi" = (
-/obj/structure/table/rack,
-/obj/random/firstaid,
-/obj/random/firstaid,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"bj" = (
-/obj/structure/table/rack,
-/obj/random/unidentified_medicine/scientific,
-/obj/random/unidentified_medicine/scientific,
-/obj/random/unidentified_medicine/scientific,
-/obj/random/unidentified_medicine/scientific,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"bk" = (
-/obj/machinery/door/airlock/command{
- name = "Research Airlock";
- req_one_access = list(0)
- },
-/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"bl" = (
-/obj/structure/closet/crate,
-/obj/item/stack/material/uranium{
- amount = 11
- },
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/obj/structure/table/reinforced,
+/obj/item/weapon/gun/energy/taser/xeno,
+/obj/item/weapon/melee/baton/slime/loaded,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"bm" = (
-/obj/structure/closet/crate,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/obj/item/weapon/airlock_electronics,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"bn" = (
-/obj/machinery/power/port_gen/pacman/super,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/mob/living/simple_mob/slime/feral/dark_blue,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
"bo" = (
+/obj/item/weapon/material/shard,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
+"bp" = (
/obj/structure/table/reinforced,
/obj/random/slimecore,
/obj/random/slimecore,
@@ -379,699 +374,554 @@
/obj/random/slimecore,
/obj/random/slimecore,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"bp" = (
-/obj/item/weapon/tool/prybar/red,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
"bq" = (
-/mob/living/simple_mob/slime/feral/dark_blue,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"rR" = (
-/obj/structure/salvageable/autolathe,
-/turf/simulated/floor/airless,
-/area/tether_away/debrisfield/explored)
-"Hf" = (
-/obj/structure/salvageable/machine,
+/obj/structure/table/reinforced,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sobakacube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/sparracube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube,
+/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
-"Ow" = (
+/area/submap/debrisfield/sci_overrun)
+"br" = (
+/obj/machinery/power/port_gen/pacman/super,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/sci_overrun)
+"bs" = (
/obj/structure/salvageable/implant_container,
/turf/simulated/floor/tiled/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/sci_overrun)
+"bt" = (
+/obj/machinery/processor,
+/obj/item/slime_extract/dark_blue,
+/turf/simulated/floor/tiled/white/airless,
+/area/submap/debrisfield/sci_overrun)
(1,1,1) = {"
+ab
+ad
+ad
+ab
+ab
+ad
+ad
+ab
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+ab
+ad
+ad
+ab
+ab
+ad
+ad
+ab
"}
(2,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(3,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(4,1,1) = {"
-aa
-aa
-aa
ab
-bh
-bh
ab
ab
-bh
-bh
ab
-aa
-aa
-aa
ab
-bh
-bh
ab
ab
-bh
-bh
-ab
-aa
-aa
-aa
-"}
-(5,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-bp
-ac
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(6,1,1) = {"
-aa
-aa
-aa
-ab
-as
-as
-rR
-ac
-bi
-bj
-ab
-ab
-aZ
-ab
-ab
-bl
-ac
-ac
-ac
-ac
-bm
-ab
-aa
-aa
-aa
-"}
-(7,1,1) = {"
-aa
-aa
-aa
-ab
-ac
-ac
-ac
-ac
-bq
-ac
-ab
-aY
-ad
-aY
-ab
-bm
-ac
-ac
-ac
-ac
-bn
-ab
-aa
-aa
-aa
-"}
-(8,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ax
-ab
-ab
-ab
-ab
-ab
-aZ
-ab
-ab
-ab
-ab
-ab
-ax
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(9,1,1) = {"
-aa
-aa
-aa
-ab
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-aa
-aa
-aa
-"}
-(10,1,1) = {"
-aa
-aa
-aa
-ab
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-aa
-aa
-aa
-"}
-(11,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-at
-ab
-ab
-ad
-ad
-ad
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(12,1,1) = {"
-aa
-aa
-aa
-ab
-bc
-bc
-bc
-ad
-ad
-bg
-ab
-ad
-ad
-ad
ab
aP
-ad
-ad
+af
+af
+ab
+ab
+ab
+ab
+ab
+ab
ab
-ad
-ad
ab
-aa
-aa
-aa
"}
-(13,1,1) = {"
-aa
-aa
-aa
-aE
-ad
-ad
-ad
-ad
+(3,1,1) = {"
+ab
+ae
+ae
au
-ad
-ab
-ad
-ad
-ad
-ab
-aQ
-ad
-aW
-aX
-ad
-ad
-ab
-aa
-aa
-aa
-"}
-(14,1,1) = {"
-aa
-aa
-aa
-aE
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-ad
-ad
-ad
-ab
-aR
-aV
-ad
+af
+aC
+aI
ab
ab
-ab
-ab
-aa
-aa
-aa
-"}
-(15,1,1) = {"
-aa
-aa
-aa
-ab
-bd
-ad
-be
-ad
-ad
-bf
-ab
-ad
-ad
-ad
-ab
-aS
-ad
-ad
-ab
-ad
-ad
-ab
-aa
-aa
-aa
-"}
-(16,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ad
-ad
-ad
-ab
-aB
-ad
aT
-aX
-ad
-ad
ab
-aa
-aa
-aa
+ab
+aZ
+af
+af
+af
+af
+ba
+ab
"}
-(17,1,1) = {"
-aa
-aa
-aa
-ab
-ae
-ae
-ae
-ae
-ae
-ae
-ab
-ad
-ad
-ad
-ab
-Hf
-ad
-ad
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(18,1,1) = {"
-aa
-aa
-aa
-ab
-ad
-ak
-ad
-ad
-ar
-ad
-ab
-ad
-ad
-ad
-ab
-Hf
-ad
-aX
-ab
-ad
-ad
-ab
-aa
-aa
-aa
-"}
-(19,1,1) = {"
-aa
-aa
-aa
+(4,1,1) = {"
ab
af
-ar
-ad
-ad
-ad
-ad
+af
+af
+af
+aD
+af
ab
-ad
-ad
-ad
+aQ
+ag
+aQ
ab
-ad
-ad
-aW
-ad
-ad
-ad
+ba
+af
+af
+af
+af
+br
ab
-aa
-aa
-aa
"}
-(20,1,1) = {"
-aa
-aa
-aa
+(5,1,1) = {"
+ab
+ab
+ab
+av
+ab
+ab
+ab
+ab
+ab
+aT
+ab
+ab
+ab
+ab
+ab
+av
+ab
+ab
+ab
+"}
+(6,1,1) = {"
ab
ag
-ad
-am
-am
-ad
-ar
-av
-ad
-ad
-ad
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
ab
-ad
-ad
-ad
-ab
-ab
-ab
-ab
-aa
-aa
-aa
"}
-(21,1,1) = {"
-aa
-aa
-aa
+(7,1,1) = {"
+ab
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ab
+"}
+(8,1,1) = {"
+ab
+ab
+ab
+ab
+ab
+aE
+ab
+ab
+ag
+ag
+ag
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+"}
+(9,1,1) = {"
ab
ah
-al
-an
-ap
-aq
-ad
-at
-ad
-ad
-ad
+ah
+ah
+ag
+ag
+aJ
ab
-ad
-ad
-ad
-aw
-aw
-aw
+ag
+ag
+ag
+ab
+bb
+ag
+ag
+ab
+ag
+ag
ab
-aa
-aa
-aa
"}
-(22,1,1) = {"
-aa
-aa
-aa
+(10,1,1) = {"
+ac
+ag
+ag
+ag
+ag
+aF
+ag
+ab
+ag
+ag
+ag
+ab
+bc
+ag
+bm
+bo
+ag
+ag
+ab
+"}
+(11,1,1) = {"
+ac
+ag
+ag
+ag
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+ab
+bd
+bj
+ag
+ab
+ab
+ab
+ab
+"}
+(12,1,1) = {"
ab
ai
-ad
-ao
-ao
-ad
-ad
+ag
+aw
+ag
+ag
+aK
ab
-ad
-ad
-ad
-ay
-ad
-bb
-ad
-ad
-ad
-ad
+ag
+ag
+ag
+ab
+be
+ag
+ag
+ab
+ag
+ag
ab
-aa
-aa
-aa
"}
-(23,1,1) = {"
-aa
-aa
-aa
+(13,1,1) = {"
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ag
+ag
+ag
+ab
+bf
+ag
+bn
+bo
+ag
+ag
+ab
+"}
+(14,1,1) = {"
ab
aj
-aF
+aj
+aj
+aj
+aj
+aj
+ab
+ag
+ag
+ag
+ab
+bg
+ag
+ag
+ab
+ab
+ab
+ab
+"}
+(15,1,1) = {"
+ab
+ag
+aq
+ag
+ag
ar
-ad
-ad
-ad
+ag
ab
-ad
-ad
-ad
+ag
+ag
+ag
+ab
+bg
+ag
+bo
+ab
+ag
+ag
+ab
+"}
+(16,1,1) = {"
+ab
+ak
+ar
+ag
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+ab
+ag
+ag
+bm
+ag
+ag
+ag
+ab
+"}
+(17,1,1) = {"
+ab
+al
+ag
+ax
+ax
+ag
+ar
+aM
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+ab
+ab
+ab
+ab
+"}
+(18,1,1) = {"
+ab
+am
+as
+ay
+aB
+aG
+ag
+aE
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+aR
+aR
+aR
+ab
+"}
+(19,1,1) = {"
+ab
+an
+ag
+az
+az
+ag
+ag
+ab
+ag
+ag
+ag
+aW
+ag
+bk
+ag
+ag
+ag
+ag
+ab
+"}
+(20,1,1) = {"
+ab
+ao
+ap
+ar
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+aE
+ag
+ag
+ag
+ag
+ag
+bs
+ab
+"}
+(21,1,1) = {"
+ab
+ap
at
-ad
-ad
-ad
-ad
-ad
-Ow
+aA
+ag
+ar
+aq
+ab
+ag
+ag
+ag
+ab
+ag
+ag
+ag
+ag
+ag
+ag
+ab
+"}
+(22,1,1) = {"
+ab
+aj
+aj
+aj
+aj
+aj
+aj
+ab
+aR
+ag
+aR
+ab
+bh
+bl
+bp
+bp
+bq
+bt
+ab
+"}
+(23,1,1) = {"
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aU
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
ab
-aa
-aa
-aa
"}
(24,1,1) = {"
aa
aa
aa
+aa
+aa
ab
-aF
-aG
-aI
-ad
-ar
-ak
-ab
-ad
-ad
-ad
-ab
-ad
-ad
-ad
-ad
-ad
-ad
+ag
+aN
+ag
+ag
+ag
+aX
+ag
ab
aa
aa
aa
+aa
+aa
"}
(25,1,1) = {"
aa
aa
aa
-ab
-ae
-ae
-ae
-ae
-ae
-ae
-ab
-aw
-ad
-aw
-ab
-az
-aA
-bo
-bo
-aC
-aD
-ab
+aa
+aa
+ac
+ag
+ag
+ag
+ag
+ag
+ag
+ag
+ac
+aa
+aa
aa
aa
aa
@@ -1080,25 +930,19 @@ aa
aa
aa
aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-bk
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
+aa
+aa
+ac
+aL
+ag
+ag
+aV
+ag
+aY
+bi
+ac
+aa
+aa
aa
aa
aa
@@ -1106,29 +950,23 @@ aa
(27,1,1) = {"
aa
aa
-aa
-aa
-aa
-aa
+aH
aa
aa
ab
-ad
-aK
-ad
-ad
-ad
-aO
-ad
+ag
+ag
+aS
+aS
+aS
+ag
+ag
ab
aa
aa
aa
aa
aa
-aa
-aa
-aa
"}
(28,1,1) = {"
aa
@@ -1136,129 +974,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aE
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-aE
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(29,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aE
-aJ
-ad
-ad
-aN
-ad
-ba
-aU
-aE
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(30,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aH
-aa
-aa
-ab
-ad
-ad
-aM
-aM
-aM
-ad
-ad
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(31,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-aL
-aE
-aE
-aE
-aE
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(32,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+ab
+ab
+aO
+ac
+ac
+ac
+ac
+ab
+ab
aa
aa
aa
diff --git a/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm b/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm
index 21b9216c43..09ce52b84c 100644
--- a/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm
+++ b/maps/submaps/pois_vr/debris_field/ship_sup_exploded.dmm
@@ -1,17 +1,46 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
+/area/space)
"ab" = (
/turf/simulated/shuttle/wall,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"ac" = (
/obj/structure/shuttle/engine/propulsion{
dir = 1
},
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"ad" = (
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"ae" = (
+/turf/simulated/shuttle/wall/hard_corner,
+/area/submap/debrisfield/misc_debris)
+"af" = (
+/obj/structure/girder,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"ag" = (
+/obj/structure/closet/crate/trashcart,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"ah" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"ai" = (
+/obj/structure/lattice,
+/obj/structure/girder/displaced,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"aj" = (
+/obj/structure/girder/displaced,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"ak" = (
/obj/structure/closet/crate/secure/engineering,
/obj/item/weapon/tool/screwdriver/power,
/obj/item/weapon/tool/crowbar/power,
@@ -19,186 +48,182 @@
/obj/item/weapon/tool/crowbar/power,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"ae" = (
-/obj/structure/closet/crate/trashcart,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"af" = (
-/obj/structure/lattice,
-/obj/structure/girder/displaced,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"ag" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"ah" = (
-/obj/structure/lattice,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"ai" = (
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aj" = (
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"ak" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/weapon/material/shard/shrapnel,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
"al" = (
-/obj/structure/ghost_pod/manual/lost_drone/dogborg,
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"am" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"an" = (
-/obj/structure/girder/displaced,
+/area/submap/debrisfield/misc_debris)
+"am" = (
+/obj/structure/lattice,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"ao" = (
-/obj/structure/girder/displaced,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"ap" = (
+/area/submap/debrisfield/misc_debris)
+"an" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/generic,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aq" = (
+/area/submap/debrisfield/misc_debris)
+"ao" = (
/obj/item/stack/material/steel,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
+"ap" = (
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"aq" = (
+/obj/structure/salvageable/bliss,
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
"ar" = (
-/obj/item/inflatable/torn,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"as" = (
-/obj/structure/shuttle/window,
-/obj/structure/grille,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"at" = (
-/obj/item/inflatable/door/torn,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"au" = (
-/obj/structure/inflatable,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"av" = (
-/obj/structure/door_assembly/door_assembly_com,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aw" = (
-/obj/structure/lattice,
-/obj/item/stack/material/steel,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"ax" = (
/obj/structure/lattice,
/obj/item/stack/material/steel,
/obj/item/weapon/material/shard/shrapnel,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"ay" = (
-/obj/item/stack/rods,
+/area/submap/debrisfield/misc_debris)
+"as" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/weapon/material/shard/shrapnel,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"at" = (
+/obj/structure/lattice,
+/obj/item/weapon/material/shard/shrapnel,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"az" = (
-/obj/structure/girder,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aA" = (
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aB" = (
-/obj/structure/girder,
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aD" = (
-/obj/structure/girder/displaced,
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aE" = (
+/area/submap/debrisfield/misc_debris)
+"au" = (
+/obj/structure/lattice,
+/obj/item/stack/material/steel,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"av" = (
+/obj/item/weapon/material/shard/shrapnel,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"aw" = (
/obj/structure/lattice,
/obj/effect/decal/cleanable/molten_item,
+/obj/item/weapon/material/shard/shrapnel,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"aF" = (
+/area/submap/debrisfield/misc_debris)
+"ax" = (
/obj/structure/closet/crate/secure/engineering,
/obj/item/weapon/weldingtool/experimental,
/obj/item/weapon/weldingtool/electric,
/obj/item/weapon/weldingtool/electric,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"aG" = (
-/obj/item/weapon/material/shard/shrapnel,
+/area/submap/debrisfield/misc_debris)
+"ay" = (
+/obj/item/stack/rods,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"aH" = (
+/area/submap/debrisfield/misc_debris)
+"az" = (
+/obj/structure/girder/displaced,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"aA" = (
+/obj/structure/lattice,
+/obj/effect/decal/cleanable/molten_item,
+/turf/template_noop,
+/area/submap/debrisfield/misc_debris)
+"aB" = (
/obj/structure/lattice,
/obj/structure/closet/crate/secure/engineering,
/obj/fiftyspawner/plasteel,
/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"aJ" = (
+/area/submap/debrisfield/misc_debris)
+"aC" = (
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aD" = (
+/obj/structure/girder/displaced,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aE" = (
+/obj/structure/ghost_pod/manual/lost_drone/dogborg,
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"aF" = (
/obj/structure/grille,
/obj/item/weapon/material/shard,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aK" = (
+/area/submap/debrisfield/misc_debris)
+"aG" = (
/obj/item/weapon/material/shard,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/shuttle/plating/airless,
-/area/tether_away/debrisfield/explored)
-"aL" = (
+/area/submap/debrisfield/misc_debris)
+"aH" = (
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"aI" = (
+/obj/item/inflatable/torn,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aJ" = (
+/obj/structure/shuttle/window,
+/obj/structure/grille,
+/turf/simulated/shuttle/plating/airless,
+/area/submap/debrisfield/misc_debris)
+"aK" = (
/obj/item/inflatable/torn,
/obj/effect/decal/remains,
/obj/item/clothing/under/rank/cargotech,
/obj/item/clothing/head/soft,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
+"aL" = (
+/obj/item/inflatable/door/torn,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
"aM" = (
+/obj/structure/inflatable,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aN" = (
+/obj/structure/girder,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aO" = (
/obj/structure/closet/secure_closet/cargotech{
name = "cargotech locker";
req_access = list()
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aN" = (
+/area/submap/debrisfield/misc_debris)
+"aP" = (
/obj/structure/closet/emcloset,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aO" = (
+/area/submap/debrisfield/misc_debris)
+"aQ" = (
+/obj/structure/salvageable/server,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aR" = (
/obj/item/inflatable/door/torn,
/obj/effect/decal/remains,
/obj/item/clothing/under/rank/cargotech,
/obj/item/clothing/head/soft,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aP" = (
+/area/submap/debrisfield/misc_debris)
+"aS" = (
+/obj/structure/door_assembly/door_assembly_com,
+/turf/simulated/shuttle/floor/white/airless,
+/area/submap/debrisfield/misc_debris)
+"aT" = (
/obj/machinery/computer/shuttle{
dir = 4
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aQ" = (
+/area/submap/debrisfield/misc_debris)
+"aU" = (
/obj/structure/bed/chair{
dir = 8
},
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aR" = (
+/area/submap/debrisfield/misc_debris)
+"aV" = (
/obj/structure/closet/secure_closet/quartermaster{
name = "quartermaster locker";
req_access = list()
@@ -206,519 +231,398 @@
/obj/item/clothing/under/mbill,
/obj/item/clothing/head/soft/mbill,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aS" = (
+/area/submap/debrisfield/misc_debris)
+"aW" = (
/obj/structure/closet/crate/secure/bin,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aT" = (
+/area/submap/debrisfield/misc_debris)
+"aX" = (
/obj/structure/closet/emcloset,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aU" = (
+/area/submap/debrisfield/misc_debris)
+"aY" = (
/obj/structure/bed/chair{
dir = 4
},
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aV" = (
+/area/submap/debrisfield/misc_debris)
+"aZ" = (
/obj/machinery/computer/shuttle{
dir = 8
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aW" = (
+/area/submap/debrisfield/misc_debris)
+"ba" = (
+/obj/structure/salvageable/data,
+/turf/simulated/shuttle/floor/airless,
+/area/submap/debrisfield/misc_debris)
+"bb" = (
/obj/effect/decal/remains,
/obj/item/clothing/under/mbill,
/obj/item/clothing/head/soft/mbill,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aX" = (
+/area/submap/debrisfield/misc_debris)
+"bc" = (
/obj/structure/bed/chair,
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"aY" = (
+/area/submap/debrisfield/misc_debris)
+"bd" = (
/obj/structure/bed/chair/comfy/teal,
/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"aZ" = (
+/area/submap/debrisfield/misc_debris)
+"be" = (
/obj/machinery/computer/shuttle{
dir = 1
},
/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"bb" = (
-/obj/structure/lattice,
-/obj/item/weapon/material/shard/shrapnel,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"bc" = (
-/obj/structure/lattice,
-/obj/effect/decal/cleanable/molten_item,
-/obj/item/weapon/material/shard/shrapnel,
-/turf/template_noop,
-/area/tether_away/debrisfield/explored)
-"bd" = (
-/turf/simulated/shuttle/wall/hard_corner,
-/area/tether_away/debrisfield/explored)
-"jq" = (
-/obj/structure/salvageable/data,
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
-"KY" = (
-/obj/structure/salvageable/server,
-/turf/simulated/shuttle/floor/white/airless,
-/area/tether_away/debrisfield/explored)
-"Mm" = (
-/obj/structure/salvageable/bliss,
-/turf/simulated/shuttle/floor/airless,
-/area/tether_away/debrisfield/explored)
+/area/submap/debrisfield/misc_debris)
(1,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+ab
+ab
+ab
+ab
+ah
+as
+ad
+ad
+ad
+am
+at
+am
+am
+af
+aF
+aJ
+ab
+ab
+aJ
+aJ
+ab
aa
aa
aa
aa
"}
(2,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ag
+ac
+ae
+ah
ak
-aa
-aa
-aa
-ah
-bb
-ah
-ah
-aB
-aJ
-as
+al
+at
+ad
+ad
+am
+am
+am
+am
+am
+an
+aG
+ap
+aP
+ab
+aT
+aT
ab
ab
-as
-as
-ab
-aa
-aa
-aa
aa
aa
aa
"}
(3,1,1) = {"
-aa
-ac
-bd
-ag
ad
+af
+ah
+al
am
-bb
-aa
-aa
-ah
-ah
-ah
-ah
-ah
-ap
-aK
-aA
-aN
+au
+aw
+ad
+ad
+ad
+ad
+aB
+am
+am
+aH
+aC
+aQ
ab
-aP
-aP
+aU
+aU
+ba
ab
ab
aa
aa
-aa
-aa
-aa
"}
(4,1,1) = {"
-aa
-aa
-aB
-ag
+ad
+ad
+ai
+ad
+ad
+ad
+ad
+ad
+ad
+av
+ad
+ay
am
ah
-aw
-bc
-aa
-aa
-aa
-aa
-aH
-ah
-ah
-ai
-aj
-KY
-ab
-aQ
-aQ
-jq
+af
ab
ab
-aa
-aa
-aa
-aa
+ab
+aC
+aC
+aC
+ba
+ab
+aJ
+ab
"}
(5,1,1) = {"
-aa
-aa
-aa
-af
-aa
-aa
-aa
-aa
-aa
-aa
-aG
-aa
-ay
+ad
+ac
+ae
+al
+am
+ad
+au
+ad
+ad
+ad
+ad
+at
+am
ah
-ag
-aB
+ah
+aI
+aM
ab
-ab
-ab
-aj
-aj
-aj
-jq
-ab
-as
-ab
-aa
-aa
+aV
+aC
+aC
+aC
+bc
+be
+aJ
"}
(6,1,1) = {"
-aa
-aa
-ac
-bd
-am
-ah
-aa
-aw
-aa
-aa
-aa
-aa
-bb
-ah
+ad
ag
-ag
-ar
-au
ab
-aR
-aj
-aj
-aj
-aX
-aZ
-as
-aa
-aa
+al
+ar
+am
+am
+ad
+ad
+az
+am
+am
+al
+ah
+aI
+aK
+aM
+ab
+aC
+aC
+aC
+aC
+aC
+be
+aJ
"}
(7,1,1) = {"
-aa
-aa
-ae
-ab
+ad
+ad
+aj
+am
+ad
+ad
+ad
+ad
+ad
+ad
+am
am
-ax
ah
-ah
-aa
-aa
an
-ah
-ah
-am
-ag
-ar
+aC
aL
-au
-ab
-aj
-aj
-aj
-aj
-aj
-aZ
-as
-aa
-aa
+aR
+aS
+aC
+aC
+aC
+bb
+bd
+be
+aJ
"}
(8,1,1) = {"
-aa
-aa
-aa
-aD
-ah
-aa
-aa
-aa
-aa
-aa
-aa
+ad
+ad
+ab
+am
+am
+ad
+ad
+ad
+ad
+ad
+am
ah
ah
-ag
-ap
-aj
-at
-aO
-av
-aj
-aj
-aj
+aC
+aI
+aM
+aM
+ab
aW
-aY
-aZ
-as
-aa
-aa
+aC
+aC
+aC
+aC
+be
+aJ
"}
(9,1,1) = {"
-aa
-aa
-aa
+ad
+ac
ab
+an
+am
+av
+ax
+ad
+ad
+av
+aA
+an
ah
-ah
-aa
-aa
-aa
-aa
-aa
-ah
-ag
-ag
-aj
-ar
-au
-au
+aD
+aC
+aI
+aM
ab
-aS
-aj
-aj
-aj
-aj
-aZ
-as
-aa
-aa
+aX
+aC
+aC
+aC
+bc
+be
+aJ
"}
(10,1,1) = {"
-aa
-aa
+ad
ac
ab
-ap
-ah
-aG
-aF
-aa
-aa
-aG
-aE
-ap
-ag
ao
-aj
-ar
-au
+ah
+at
+ad
+ad
+ad
+av
+ah
+ao
+ah
+aD
+aC
+aN
+ab
+ab
+aC
+aC
+aC
+ba
+ab
+aJ
ab
-aT
-aj
-aj
-aj
-aX
-aZ
-as
-aa
-aa
"}
(11,1,1) = {"
-aa
-aa
+ad
ac
ab
-aq
-ag
-bb
-aa
-aa
-aa
-aG
-ag
-aq
-ag
-ao
+ap
aj
-az
+am
+ad
+ay
+ad
+ah
+ah
+ah
ab
+aC
+aC
+aC
+aC
ab
-aj
-aj
-aj
-jq
+aY
+aY
+ba
ab
-as
ab
aa
aa
"}
(12,1,1) = {"
-aa
-aa
+ad
ac
ab
-aA
-aD
+aq
+ap
ah
-aa
-ay
-aa
-ag
-ag
-ag
+ah
+am
+am
+ah
+ah
+al
ab
-aj
-aj
-aj
-aj
+aE
+ap
+aO
+aO
ab
-aU
-aU
-jq
+aZ
+aZ
ab
ab
aa
aa
aa
-aa
"}
(13,1,1) = {"
-aa
-aa
-ac
+ad
ab
-Mm
-aA
-ag
-ag
+ae
+af
+af
+aj
ah
ah
-ag
-ag
-am
-ab
-al
-aA
-aM
-aM
-ab
-aV
-aV
+af
+af
+af
ab
ab
-aa
-aa
-aa
-aa
-aa
-"}
-(14,1,1) = {"
-aa
-aa
-ab
-bd
-aB
-aB
-aD
-ag
-ag
-aB
-aB
-aB
-ab
-ab
-ab
-as
-as
-ab
-ab
-as
-as
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(15,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+ab
+aJ
+aJ
+ab
+ab
+aJ
+aJ
+ab
aa
aa
aa
diff --git a/maps/submaps/pois_vr/debris_field/tinycarrier.dmm b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm
new file mode 100644
index 0000000000..e59de77bb7
--- /dev/null
+++ b/maps/submaps/pois_vr/debris_field/tinycarrier.dmm
@@ -0,0 +1,1510 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/space,
+/area/space)
+"ab" = (
+/obj/machinery/porta_turret/industrial/military{
+ auto_repair = 0;
+ dir = 8;
+ icon_state = "destroyed_target_prism_industrial";
+ stat = 1
+ },
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ac" = (
+/obj/structure/lattice,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ad" = (
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/crew)
+"ae" = (
+/obj/structure/window/titanium/full,
+/obj/structure/window/titanium{
+ dir = 1
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "tinycarrier_bridge"
+ },
+/obj/structure/grille,
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/crew)
+"af" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/external,
+/obj/effect/map_helper/airlock/door/ext_door,
+/turf/simulated/floor/tiled/monofloor,
+/area/submap/debrisfield/tinyshuttle/crew)
+"ag" = (
+/obj/structure/lattice,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ah" = (
+/obj/machinery/atmospherics/unary/engine{
+ dir = 8
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/engine)
+"ai" = (
+/obj/machinery/airlock_sensor/airlock_exterior/shuttle{
+ dir = 9;
+ pixel_x = -4;
+ pixel_y = 8
+ },
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aj" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"ak" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"al" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/glass_external/public,
+/obj/effect/map_helper/airlock/door/int_door,
+/turf/simulated/floor/tiled/monofloor{
+ dir = 4
+ },
+/area/submap/debrisfield/tinyshuttle/crew)
+"am" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume{
+ dir = 4;
+ id_tag = "temp"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
+ dir = 8;
+ frequency = 1380;
+ id_tag = "debris_carrier_docker";
+ pixel_x = 24;
+ pixel_y = -6
+ },
+/obj/effect/shuttle_landmark/shuttle_initializer/tinycarrier,
+/obj/machinery/airlock_sensor{
+ pixel_x = 26;
+ pixel_y = 6
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/effect/overmap/visitable/ship/landable/tinycarrier,
+/turf/simulated/floor/tiled/monotile,
+/area/submap/debrisfield/tinyshuttle/crew)
+"an" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/crew)
+"ao" = (
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ap" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/obj/structure/window/titanium/full,
+/obj/structure/window/titanium{
+ dir = 1
+ },
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "tinycarrier_bridge"
+ },
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aq" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ar" = (
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/machinery/door/window{
+ dir = 2;
+ name = "Airlock Canister Access"
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"as" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/effect/floor_decal/corner/brown{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"at" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/airlock_sensor/airlock_interior{
+ dir = 8;
+ pixel_x = 24;
+ pixel_y = 0
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/effect/floor_decal/corner/brown{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"au" = (
+/obj/structure/grille,
+/obj/structure/window/titanium/full,
+/obj/structure/window/titanium{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/blast/regular/open{
+ id = "tinycarrier_bridge"
+ },
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"av" = (
+/obj/structure/cable/green{
+ icon_state = "1-6"
+ },
+/obj/effect/floor_decal/corner/black/border{
+ dir = 6
+ },
+/turf/simulated/floor/bluegrid/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aw" = (
+/obj/machinery/computer/ship/engines,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/blue/full{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ax" = (
+/obj/machinery/computer/shuttle_control/explore/tinycarrier,
+/obj/effect/floor_decal/corner/blue{
+ dir = 5;
+ icon_state = "corner_white"
+ },
+/turf/simulated/floor/tiled/airless{
+ broken = 1
+ },
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ay" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 24;
+ req_one_access = list()
+ },
+/obj/effect/decal/cleanable/generic,
+/obj/machinery/atmospherics/unary/vent_scrubber,
+/obj/effect/floor_decal/corner/blue/full{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/airless{
+ broken = 2
+ },
+/area/submap/debrisfield/tinyshuttle/bridge)
+"az" = (
+/obj/structure/grille,
+/obj/structure/window/titanium/full,
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aA" = (
+/obj/item/modular_computer/laptop/preset/custom_loadout/rugged,
+/obj/structure/table/steel,
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aB" = (
+/obj/item/clothing/head/service,
+/obj/item/clothing/head/service,
+/obj/item/clothing/under/solgov/utility/fleet/combat,
+/obj/item/clothing/under/solgov/utility/fleet/combat,
+/obj/item/clothing/suit/storage/solgov/service/fleet,
+/obj/item/clothing/suit/storage/solgov/service/fleet,
+/obj/structure/closet/wardrobe/black{
+ starts_with = list()
+ },
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 1
+ },
+/obj/item/clothing/shoes/boots/duty,
+/obj/item/clothing/shoes/boots/duty,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aC" = (
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/floor_decal/corner/brown{
+ dir = 5
+ },
+/obj/structure/handrail,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aF" = (
+/obj/effect/floor_decal/corner/brown{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aG" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aH" = (
+/obj/effect/floor_decal/corner/blue/full{
+ dir = 8
+ },
+/obj/machinery/computer/ship/helm{
+ dir = 4;
+ req_one_access = list()
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aI" = (
+/obj/structure/cable/green{
+ icon_state = "4-9"
+ },
+/obj/structure/cable/green{
+ icon_state = "4-10"
+ },
+/obj/structure/bed/chair/shuttle{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/blue{
+ dir = 1;
+ icon_state = "corner_white"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aJ" = (
+/obj/machinery/atmospherics/unary/vent_pump{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aK" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5;
+ icon_state = "intact-scrubbers"
+ },
+/obj/effect/floor_decal/corner/blue{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aL" = (
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aM" = (
+/obj/item/trash/coffee,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aN" = (
+/obj/structure/prop{
+ desc = "A man-sized pod for entering suspended animation. This one is room temperature.";
+ dir = 8;
+ icon = 'icons/obj/Cryogenic2_vr.dmi';
+ icon_state = "cryopod_0";
+ name = "cryogenic freezer"
+ },
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aO" = (
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aP" = (
+/obj/structure/cable/green{
+ icon_state = "6-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10;
+ icon_state = "intact"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aQ" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aR" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aS" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aT" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"aU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 6;
+ icon_state = "intact-fuel"
+ },
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"aV" = (
+/obj/machinery/porta_turret/industrial/military{
+ auto_repair = 0;
+ dir = 10;
+ icon_state = "destroyed_target_prism_industrial";
+ stat = 1
+ },
+/obj/structure/lattice,
+/obj/structure/cable/green,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aW" = (
+/obj/machinery/computer/ship/sensors{
+ icon_state = "computer";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "2-5"
+ },
+/obj/effect/floor_decal/corner/blue/full,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aX" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/button/remote/blast_door{
+ id = "tinycarrier_bridge";
+ name = "Bridge Blast Doors";
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "tinycarrier_hangar";
+ name = "Hangar Blast Doors";
+ pixel_x = 6;
+ pixel_y = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "tinycarrier_sensors";
+ name = "Sensor Shroud";
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/corner/blue{
+ dir = 10;
+ icon_state = "corner_white"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aY" = (
+/obj/machinery/turretid/lethal{
+ pixel_x = 0;
+ pixel_y = 4;
+ req_access = list()
+ },
+/obj/structure/table/steel_reinforced,
+/obj/effect/floor_decal/corner/blue{
+ dir = 10;
+ icon_state = "corner_white"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"aZ" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 28
+ },
+/obj/structure/cable/green,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_x = 22;
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/corner/blue/full{
+ dir = 4;
+ icon_state = "corner_white_full"
+ },
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"ba" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bb" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bc" = (
+/obj/machinery/sleeper{
+ controls_inside = 1;
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5;
+ icon_state = "intact"
+ },
+/obj/structure/closet/secure_closet/guncabinet/sidearm{
+ anchored = 1;
+ starts_with = list()
+ },
+/obj/item/weapon/gun/projectile/p92x/large,
+/obj/item/weapon/gun/projectile/p92x/large,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5;
+ icon_state = "intact-scrubbers"
+ },
+/obj/effect/floor_decal/corner/brown/full,
+/obj/item/ammo_magazine/m9mm/large,
+/obj/item/ammo_magazine/m9mm/large,
+/obj/item/ammo_magazine/m9mm/large,
+/obj/item/ammo_magazine/m9mm/large,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"be" = (
+/obj/structure/cable/green{
+ icon_state = "4-9"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bf" = (
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bg" = (
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bh" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 8;
+ icon_state = "map-fuel"
+ },
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bi" = (
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bj" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bk" = (
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bl" = (
+/obj/structure/cable/green{
+ icon_state = "6-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-6"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bm" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4;
+ icon_state = "map"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"bn" = (
+/obj/effect/floor_decal/industrial/warning/cee{
+ dir = 8
+ },
+/obj/machinery/shipsensors{
+ dir = 8;
+ use_power = 0
+ },
+/turf/simulated/floor/greengrid/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"bo" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/cable/green{
+ icon_state = "9-10"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/machinery/door/airlock/hatch{
+ req_one_access = list()
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/airless,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bp" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/machinery/door/blast/regular{
+ id = "tinycarrier_sensors"
+ },
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"bq" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/item/clothing/shoes/magboots,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"br" = (
+/obj/machinery/mecha_part_fabricator{
+ req_access = list()
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bs" = (
+/obj/structure/extinguisher_cabinet{
+ dir = 1;
+ icon_state = "extinguisher_closed";
+ pixel_y = 32
+ },
+/obj/structure/table/steel,
+/obj/machinery/atmospherics/unary/vent_scrubber{
+ dir = 4
+ },
+/obj/item/weapon/tool/crowbar,
+/obj/item/weapon/tool/wrench,
+/obj/item/weapon/tool/screwdriver{
+ pixel_y = 8
+ },
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bt" = (
+/obj/structure/cable/green{
+ icon_state = "5-6"
+ },
+/obj/structure/extinguisher_cabinet{
+ dir = 4;
+ icon_state = "extinguisher_closed";
+ pixel_x = -30
+ },
+/obj/machinery/atmospherics/portables_connector{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/floor_decal/corner/orange/full{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bu" = (
+/obj/machinery/power/smes/buildable/outpost_substation{
+ charge = 3e+006;
+ input_attempt = 1;
+ input_level = 200000
+ },
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bw" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4;
+ icon_state = "map"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/orange{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bx" = (
+/obj/structure/grille,
+/obj/structure/window/titanium/full,
+/obj/structure/window/titanium{
+ dir = 8
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/blast/regular/open{
+ id = "tinycarrier_bridge"
+ },
+/obj/structure/window/titanium{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"by" = (
+/obj/machinery/atmospherics/unary/vent_pump{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/warning/dust,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bz" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9;
+ icon_state = "intact"
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 26;
+ pixel_y = 8
+ },
+/obj/effect/floor_decal/industrial/warning/dust,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bA" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/warning/dust,
+/turf/simulated/floor/tiled/techmaint/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bB" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/toolbox/mechanical{
+ starts_with = list(/obj/item/weapon/tool/screwdriver,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/device/analyzer,/obj/item/weapon/tool/wirecutters)
+ },
+/obj/item/device/t_scanner,
+/obj/effect/floor_decal/corner/orange{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bC" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/machinery/power/port_gen/pacman{
+ anchored = 1
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/effect/floor_decal/corner/orange/full{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bD" = (
+/obj/structure/cable/green{
+ icon_state = "4-9"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5;
+ icon_state = "intact-scrubbers"
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 8
+ },
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bF" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/obj/structure/window/titanium/full,
+/obj/structure/window/titanium,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "tinycarrier_bridge"
+ },
+/turf/simulated/floor/plating,
+/area/submap/debrisfield/tinyshuttle/bridge)
+"bG" = (
+/obj/item/clothing/shoes/magboots,
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bH" = (
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bI" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 28
+ },
+/obj/structure/cable/green,
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bJ" = (
+/obj/structure/cable/green{
+ dir = 1;
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5;
+ icon_state = "intact-scrubbers"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/orange{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bK" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/orange{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/liquid_fuel,
+/turf/simulated/floor/tiled/steel_dirty,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bL" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bM" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 28
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/orange/full{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 10;
+ icon_state = "intact-fuel"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5;
+ icon_state = "intact"
+ },
+/obj/effect/decal/cleanable/liquid_fuel,
+/obj/item/device/multitool,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bO" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 24;
+ req_one_access = list()
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bP" = (
+/obj/structure/fans/hardlight,
+/obj/machinery/door/blast/regular{
+ id = "tinycarrier_hangar"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bQ" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/orange{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/steel,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bR" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ icon_state = "map_connector-fuel";
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/empty/phoron{
+ destroyed = 1;
+ health = 0;
+ icon_state = "orangeps-1"
+ },
+/obj/effect/decal/cleanable/liquid_fuel,
+/obj/effect/floor_decal/corner/orange/full,
+/turf/simulated/floor/tiled/steel_dirty,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bS" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/effect/decal/cleanable/liquid_fuel,
+/obj/effect/floor_decal/corner/orange{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/steel_dirty,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bT" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel,
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bU" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/vent{
+ dir = 8
+ },
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bV" = (
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 8;
+ pixel_x = 24
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bW" = (
+/obj/mecha/combat/fighter/baron/loaded/busted{
+ dir = 8;
+ dir_in = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bX" = (
+/obj/machinery/mech_recharger,
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"bY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 5;
+ icon_state = "intact-fuel"
+ },
+/turf/simulated/wall/thull,
+/area/submap/debrisfield/tinyshuttle/engine)
+"bZ" = (
+/obj/machinery/mech_recharger,
+/obj/machinery/light,
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"ca" = (
+/obj/effect/decal/cleanable/blood/gibs/robot,
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cb" = (
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cc" = (
+/obj/structure/lattice,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cd" = (
+/obj/structure/loot_pile/surface/drone{
+ density = 1;
+ dir = 8;
+ icon = 'icons/mob/animal_vr64x64.dmi';
+ icon_state = "drone";
+ pixel_x = -16;
+ pixel_y = -16
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"ce" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 8;
+ icon_state = "intact-fuel"
+ },
+/obj/machinery/meter,
+/obj/machinery/light_switch{
+ dir = 1;
+ on = 0;
+ pixel_x = -10;
+ pixel_y = -24
+ },
+/obj/effect/floor_decal/corner/orange/full{
+ dir = 4
+ },
+/obj/structure/fuel_port/empty_tank{
+ pixel_x = 26
+ },
+/turf/simulated/floor/tiled/steel_dirty,
+/area/submap/debrisfield/tinyshuttle/engine)
+"cf" = (
+/obj/item/weapon/material/shard/titaniumglass,
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cg" = (
+/obj/structure/girder,
+/turf/simulated/floor/airless,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"ch" = (
+/obj/machinery/atmospherics/binary/pump/fuel{
+ icon_state = "map_off-fuel";
+ dir = 4
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/item/weapon/weldingtool/electric,
+/obj/effect/floor_decal/corner/orange{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/steel_dirty,
+/area/submap/debrisfield/tinyshuttle/engine)
+"ci" = (
+/obj/structure/lattice,
+/mob/living/simple_mob/mechanical/combat_drone/lesser,
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cj" = (
+/obj/effect/floor_decal/corner/brown{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"ck" = (
+/obj/structure/prop{
+ desc = "A man-sized pod for entering suspended animation. This one is room temperature.";
+ dir = 8;
+ icon = 'icons/obj/Cryogenic2_vr.dmi';
+ icon_state = "cryopod_0";
+ name = "cryogenic freezer"
+ },
+/obj/effect/floor_decal/corner/brown/full{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/submap/debrisfield/tinyshuttle/crew)
+"cl" = (
+/obj/effect/decal/mecha_wreckage/baron,
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+"cm" = (
+/obj/structure/lattice,
+/obj/item/weapon/material/shard/titaniumglass,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/submap/debrisfield/tinyshuttle/hangar)
+
+(1,1,1) = {"
+aa
+aa
+ao
+bx
+au
+au
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(2,1,1) = {"
+ab
+ac
+ap
+av
+aH
+aW
+bF
+ac
+aV
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+ao
+aw
+aI
+aX
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aq
+ax
+aJ
+aY
+ao
+bp
+ao
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+ag
+aq
+ay
+aK
+aZ
+ao
+bn
+ao
+bi
+bP
+bP
+bi
+bi
+aa
+"}
+(6,1,1) = {"
+ad
+ad
+ad
+ad
+aO
+ad
+bi
+bi
+bi
+bG
+bH
+bH
+bH
+bi
+bi
+"}
+(7,1,1) = {"
+ad
+aj
+as
+aC
+aP
+bd
+bi
+br
+bA
+bW
+bH
+bX
+bH
+bZ
+bi
+"}
+(8,1,1) = {"
+ae
+ak
+at
+aD
+aQ
+be
+bi
+bs
+by
+bH
+bH
+bH
+bH
+ca
+cm
+"}
+(9,1,1) = {"
+ad
+al
+ad
+aE
+aR
+bf
+bj
+bq
+bz
+bI
+bO
+bV
+bH
+cc
+cl
+"}
+(10,1,1) = {"
+af
+am
+az
+aF
+aS
+bg
+bk
+bk
+bk
+bk
+bk
+bk
+cc
+cb
+cb
+"}
+(11,1,1) = {"
+ai
+an
+ad
+aG
+aT
+bl
+bk
+bt
+bB
+bK
+bR
+bk
+cc
+cf
+cb
+"}
+(12,1,1) = {"
+ad
+ar
+aA
+aL
+ba
+bm
+bo
+bw
+bD
+bN
+bS
+bk
+cc
+ci
+cf
+"}
+(13,1,1) = {"
+ad
+ad
+aB
+aM
+bb
+cj
+bk
+bC
+bJ
+bL
+ch
+bk
+bH
+cc
+cb
+"}
+(14,1,1) = {"
+aa
+ad
+ad
+aN
+bc
+ck
+bk
+bu
+bM
+bQ
+ce
+bi
+cd
+bH
+cc
+"}
+(15,1,1) = {"
+aa
+aa
+ad
+ad
+aU
+bh
+bh
+bv
+bE
+bv
+bT
+bh
+bY
+bi
+cg
+"}
+(16,1,1) = {"
+aa
+aa
+aa
+ad
+ah
+ah
+ah
+bk
+bU
+bk
+ah
+ah
+ah
+bi
+aa
+"}
diff --git a/maps/submaps/shelters/shelter_cab.dmm b/maps/submaps/shelters/shelter_cab.dmm
new file mode 100644
index 0000000000..829f7cb588
--- /dev/null
+++ b/maps/submaps/shelters/shelter_cab.dmm
@@ -0,0 +1,203 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/simulated/shuttle/wall/voidcraft/survival,
+/area/survivalpod)
+"b" = (
+/obj/structure/bed/chair/comfy/brown{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"f" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = 4
+ },
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = -4
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"m" = (
+/obj/structure/table/woodentable,
+/obj/machinery/status_display{
+ pixel_y = 32
+ },
+/obj/item/weapon/reagent_containers/food/snacks/pastatomato,
+/obj/item/weapon/reagent_containers/food/snacks/pastatomato,
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"u" = (
+/obj/structure/bed/double/padded,
+/obj/item/weapon/bedsheet/browndouble,
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"v" = (
+/obj/structure/window/reinforced/survival_pod{
+ dir = 8
+ },
+/obj/machinery/washing_machine,
+/turf/simulated/floor/tiled/white,
+/area/survivalpod)
+"w" = (
+/obj/machinery/door/airlock/voidcraft/survival_pod{
+ destroy_hits = 100;
+ glass = 0;
+ id_tag = "shelter_gamma"
+ },
+/obj/effect/floor_decal/industrial/danger/full,
+/obj/structure/fans/tiny,
+/turf/simulated/shuttle/floor/voidcraft,
+/area/survivalpod)
+"x" = (
+/obj/structure/bed/chair/comfy/brown{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"z" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/window/reinforced/survival_pod{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/survivalpod)
+"F" = (
+/obj/machinery/door/window/survival_pod{
+ dir = 8
+ },
+/obj/machinery/door/window/survival_pod{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/survivalpod)
+"M" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/closet/secure_closet/personal,
+/obj/item/weapon/towel/random,
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"N" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/item/weapon/storage/box/donkpockets{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/machinery/button/remote/airlock/survival_pod{
+ dir = 10;
+ id = "shelter_gamma";
+ pixel_y = -24
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"P" = (
+/obj/structure/bed/chair/comfy/brown{
+ dir = 8
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"Q" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/curtain,
+/obj/random/soap,
+/turf/simulated/floor/tiled/white,
+/area/survivalpod)
+"R" = (
+/obj/structure/table/woodentable,
+/obj/item/toy/plushie/kitten,
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"S" = (
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"V" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/wood,
+/area/survivalpod)
+"W" = (
+/obj/structure/table/woodentable,
+/obj/machinery/microwave,
+/turf/simulated/floor/wood,
+/area/survivalpod)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+b
+b
+V
+S
+W
+a
+"}
+(3,1,1) = {"
+a
+m
+f
+S
+S
+N
+a
+"}
+(4,1,1) = {"
+a
+x
+P
+S
+S
+S
+w
+"}
+(5,1,1) = {"
+a
+S
+S
+S
+F
+v
+a
+"}
+(6,1,1) = {"
+a
+R
+u
+M
+z
+Q
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/submaps/surface_submaps/mountains/Cliff1.dmm b/maps/submaps/surface_submaps/mountains/Cliff1.dmm
index 2b6f57b9f1..1897f0ab17 100644
--- a/maps/submaps/surface_submaps/mountains/Cliff1.dmm
+++ b/maps/submaps/surface_submaps/mountains/Cliff1.dmm
@@ -1,23 +1,25 @@
"a" = (/turf/template_noop,/area/template_noop)
"b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"c" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"d" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"f" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"h" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"i" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"j" = (/obj/random/humanoidremains{spawn_nothing_percentage = 70},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
+"c" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"d" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"e" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"f" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"h" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"i" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"j" = (/obj/random/humanoidremains{spawn_nothing_percentage = 70},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"k" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
abbbbabbbbbbbaabbbbbbbbaaabbaa
-aabcbbbdbcbbbbbbdbbcdbbbbcbbaa
-aabefcbbbbbdbbcbbbbbbcghhhibaa
-aabcehhfbbbbbbbbbcghhhibbbcbaa
-aaajbbbehfbcbghhhhibbbcjbbbaaa
-aaaaabbcbehhhibbbbbbcbbbbaaaaa
-aaaaaaacbbbjbbcbbcbbbaaaaaaaaa
+aakckkbdbcbbbbbbdbbcdbbkkckkaa
+aakefckkkbbdbbcbbbkkkcghhhikaa
+aakcehhfkkkkkkkkkcghhhikkkckaa
+aaajkkkehfkckghhhhikkkcjbbbaaa
+aaaaabkckehhhikkkkkkcbbbbaaaaa
+aaaaaaackkkjkkcbbcbbbaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
+
diff --git a/maps/submaps/surface_submaps/mountains/Geyser1.dmm b/maps/submaps/surface_submaps/mountains/Geyser1.dmm
index 32a4bb18d0..c61b3d11a1 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser1.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser1.dmm
@@ -1,10 +1,10 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/random/outcrop,/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/turf/simulated/floor/water/deep{outdoors = 0},/area/template_noop)
-"g" = (/obj/random/turf/lava,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
+"b" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"c" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"d" = (/obj/random/outcrop,/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"e" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"f" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/turf/simulated/floor/water/deep{outdoors = 0},/area/submap/geyser_1)
+"g" = (/obj/random/turf/lava,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
(1,1,1) = {"
accbdca
diff --git a/maps/submaps/surface_submaps/mountains/Geyser2.dmm b/maps/submaps/surface_submaps/mountains/Geyser2.dmm
index ddc99e4eb4..339736597f 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser2.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser2.dmm
@@ -1,16 +1,16 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/structure/fence{icon_state = "straight"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"g" = (/obj/structure/fence/cut/large,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"h" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"i" = (/obj/structure/fence,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"j" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"k" = (/obj/structure/fence/door/locked,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"l" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"m" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/random/humanoidremains,/obj/random/medical/lite,/turf/simulated/floor/water/deep{outdoors = 0},/area/template_noop)
+"b" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"c" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"d" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"e" = (/obj/structure/fence{icon_state = "straight"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"f" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"g" = (/obj/structure/fence/cut/large,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"h" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"i" = (/obj/structure/fence,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"j" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"k" = (/obj/structure/fence/door/locked,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"l" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"m" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/random/humanoidremains,/obj/random/medical/lite,/turf/simulated/floor/water/deep{outdoors = 0},/area/submap/geyser_2)
(1,1,1) = {"
abbcbba
diff --git a/maps/submaps/surface_submaps/mountains/Geyser3.dmm b/maps/submaps/surface_submaps/mountains/Geyser3.dmm
index 00abb7bf98..70047b220a 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser3.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser3.dmm
@@ -1,21 +1,21 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"g" = (/turf/simulated/floor/lava,/area/template_noop)
-"h" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"i" = (/obj/structure/cliff/automatic/corner,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"j" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"k" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"l" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/fire{interval_upper_bound = 1200},/turf/simulated/floor/lava,/area/template_noop)
-"m" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"n" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"o" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"r" = (/obj/random/multiple/minevault,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
+"b" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"c" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"d" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"f" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"g" = (/turf/simulated/floor/lava,/area/submap/geyser_3)
+"h" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"i" = (/obj/structure/cliff/automatic/corner,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"j" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"k" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"l" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/fire{interval_upper_bound = 1200},/turf/simulated/floor/lava,/area/submap/geyser_3)
+"m" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"n" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"o" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"r" = (/obj/random/multiple/minevault,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
(1,1,1) = {"
abcdcea
diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm
index 34f151a17f..83447b714c 100644
--- a/maps/submaps/surface_submaps/mountains/mountains.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains.dm
@@ -25,6 +25,7 @@
#include "vault3.dmm"
#include "vault4.dmm"
#include "vault5.dmm"
+#include "vault6.dmm"
#include "IceCave1A.dmm"
#include "IceCave1B.dmm"
#include "IceCave1C.dmm"
diff --git a/maps/submaps/surface_submaps/mountains/mountains_areas.dm b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
index 04c8568513..d39e38823b 100644
--- a/maps/submaps/surface_submaps/mountains/mountains_areas.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
@@ -96,6 +96,10 @@
name = "POI - Mine Vault"
ambience = AMBIENCE_FOREBODING
+/area/submap/cave/vault6
+ name = "POI - Mine Vault"
+ ambience = AMBIENCE_FOREBODING
+
/area/submap/cave/IceCave1A
name = "POI - Ice Cave 1A"
ambience = AMBIENCE_SPACE
@@ -123,6 +127,22 @@
name = "POI - Crashed Containment Shuttle"
ambience = AMBIENCE_HIGHSEC
+/area/submap/geyser_1
+ name = "POI - Ore-Rich Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/geyser_2
+ name = "POI - Fenced Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/geyser_3
+ name = "POI - Magmatic Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/ore_cliff
+ name = "POI - Ore-Topped Cliff"
+ ambience = AMBIENCE_RUINS
+
/area/submap/deadspy
name = "POI - Dead Spy"
ambience = AMBIENCE_FOREBODING
diff --git a/maps/submaps/surface_submaps/mountains/vault6.dmm b/maps/submaps/surface_submaps/mountains/vault6.dmm
index b39128369e..c1ae439301 100644
--- a/maps/submaps/surface_submaps/mountains/vault6.dmm
+++ b/maps/submaps/surface_submaps/mountains/vault6.dmm
@@ -1,22 +1,22 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"c" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"d" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"h" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"i" = (/mob/living/simple_mob/humanoid/merc/ranged/grenadier,/turf/simulated/floor/cult,/area/template_noop)
-"j" = (/turf/simulated/floor/cult,/area/template_noop)
-"k" = (/obj/random/tool/power,/obj/random/tech_supply,/turf/simulated/floor/cult,/area/template_noop)
-"l" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"m" = (/obj/structure/bonfire/permanent/sifwood,/obj/structure/grille/rustic,/turf/simulated/floor/cult,/area/template_noop)
-"n" = (/obj/random/multiple/minevault,/turf/simulated/floor/cult,/area/template_noop)
-"o" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"r" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"s" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
+"b" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"c" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"d" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"h" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"i" = (/mob/living/simple_mob/humanoid/merc/ranged/grenadier,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"j" = (/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"k" = (/obj/random/tool/power,/obj/random/tech_supply,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"l" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"m" = (/obj/structure/bonfire/permanent/sifwood,/obj/structure/grille/rustic,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"n" = (/obj/random/multiple/minevault,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"o" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"r" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"s" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
(1,1,1) = {"
aaaaaaaaa
diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm
index 09d91c34a5..7efbd531f6 100644
--- a/maps/tether/submaps/_tether_submaps.dm
+++ b/maps/tether/submaps/_tether_submaps.dm
@@ -69,6 +69,11 @@
desc = "Big trader ship."
mappath = 'maps/submaps/admin_use_vr/tradeship.dmm'
+/datum/map_template/admin_use/salamander_trader
+ name = "Special Area - Salamander Trader"
+ desc = "Modest trader ship."
+ mappath = 'maps/offmap_vr/om_ships/salamander.dmm'
+
/datum/map_template/admin_use/mercenary
name = "Special Area - Merc Ship"
desc = "Prepare tae be boarded, arr!"
@@ -254,7 +259,7 @@
/datum/map_template/tether_lateload/away_debrisfield/on_map_loaded(z)
. = ..()
//Commented out until we actually get POIs
- seed_submaps(list(Z_LEVEL_DEBRISFIELD), 200, /area/tether_away/debrisfield/unexplored, /datum/map_template/debrisfield)
+ seed_submaps(list(Z_LEVEL_DEBRISFIELD), 400, /area/space, /datum/map_template/debrisfield)
/datum/map_z_level/tether_lateload/away_debrisfield
name = "Away Mission - Debris Field"
@@ -452,8 +457,9 @@
if(my_mob && my_mob.stat != DEAD)
return //No need
- if(LAZYLEN(loc.human_mobs(world.view)))
- return //I'll wait.
+ for(var/mob/living/L in view(src,world.view))
+ if(L.client)
+ return //I'll wait.
if(prob(prob_spawn))
prob_spawn -= prob_fall
@@ -527,6 +533,7 @@
#include "../../offmap_vr/om_ships/cruiser.dm"
#include "../../offmap_vr/om_ships/vespa.dm"
#include "../../offmap_vr/om_ships/generic_shuttle.dm"
+#include "../../offmap_vr/om_ships/salamander.dm"
#include "../../offmap_vr/om_ships/geckos.dm"
#include "../../offmap_vr/om_ships/mackerels.dm"
#include "../../offmap_vr/om_ships/mercenarybase.dm"
diff --git a/maps/tether/submaps/tether_misc.dmm b/maps/tether/submaps/tether_misc.dmm
index 4ec9ca9d3a..37bdb7e06e 100644
--- a/maps/tether/submaps/tether_misc.dmm
+++ b/maps/tether/submaps/tether_misc.dmm
@@ -1932,6 +1932,10 @@
/obj/item/toy/chess/rook_white,
/turf/simulated/floor/holofloor/wmarble,
/area/holodeck/source_chess)
+"nn" = (
+/obj/machinery/telecomms/allinone/antag,
+/turf/unsimulated/floor/steel,
+/area/centcom/control)
"nV" = (
/obj/item/toy/chess/rook_black,
/turf/simulated/floor/holofloor/wmarble,
@@ -19086,7 +19090,7 @@ ae
wy
HQ
Ga
-Ga
+nn
wl
Up
Vj
diff --git a/maps/tether/submaps/tether_plains.dmm b/maps/tether/submaps/tether_plains.dmm
index 784fcc9e91..40614ab1eb 100644
--- a/maps/tether/submaps/tether_plains.dmm
+++ b/maps/tether/submaps/tether_plains.dmm
@@ -37,7 +37,6 @@
dir = 1;
id = "wilderness";
name = "Anti-Fauna shutters";
- pixel_x = 0;
pixel_y = -25
},
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
@@ -45,8 +44,7 @@
"aj" = (
/obj/effect/floor_decal/rust,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
/area/tether/outpost/exploration_shed)
@@ -99,7 +97,6 @@
/area/tether/outpost/exploration_shed)
"aq" = (
/obj/machinery/button/remote/blast_door{
- dir = 2;
id = "wilderness";
name = "Anti-Fauna shutters";
pixel_x = -1;
@@ -123,6 +120,9 @@
"bF" = (
/turf/simulated/mineral/virgo3b,
/area/mine/unexplored)
+"Al" = (
+/turf/simulated/mineral/virgo3b,
+/area/mine/explored)
"BE" = (
/mob/living/simple_mob/animal/space/goose/virgo3b,
/turf/simulated/floor/outdoors/grass/sif/virgo3b,
@@ -131,6 +131,9 @@
/mob/living/simple_mob/animal/passive/gaslamp,
/turf/simulated/floor/outdoors/grass/sif/virgo3b,
/area/tether/outpost/exploration_plains)
+"ID" = (
+/turf/simulated/mineral/virgo3b,
+/area/tether/outpost/exploration_shed)
(1,1,1) = {"
as
@@ -418,7 +421,7 @@ ac
"}
(3,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -560,7 +563,7 @@ ac
"}
(4,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -702,7 +705,7 @@ ac
"}
(5,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -844,7 +847,7 @@ ac
"}
(6,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -986,7 +989,7 @@ ac
"}
(7,1,1) = {"
as
-bF
+Al
ad
ad
bF
@@ -1128,7 +1131,7 @@ ac
"}
(8,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -1270,7 +1273,7 @@ ac
"}
(9,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -1412,7 +1415,7 @@ ac
"}
(10,1,1) = {"
as
-ab
+Al
ad
ad
ab
@@ -1554,8 +1557,8 @@ ac
"}
(11,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1696,8 +1699,8 @@ ac
"}
(12,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1838,8 +1841,8 @@ ac
"}
(13,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1980,8 +1983,8 @@ ac
"}
(14,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2122,8 +2125,8 @@ ac
"}
(15,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2264,8 +2267,8 @@ ac
"}
(16,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2406,8 +2409,8 @@ ac
"}
(17,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2548,8 +2551,8 @@ ac
"}
(18,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2690,8 +2693,8 @@ ac
"}
(19,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2832,8 +2835,8 @@ ac
"}
(20,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2974,8 +2977,8 @@ ac
"}
(21,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3116,8 +3119,8 @@ ac
"}
(22,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3258,8 +3261,8 @@ ac
"}
(23,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3400,8 +3403,8 @@ ac
"}
(24,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3542,8 +3545,8 @@ ac
"}
(25,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3684,8 +3687,8 @@ ac
"}
(26,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3826,8 +3829,8 @@ ac
"}
(27,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3968,8 +3971,8 @@ ac
"}
(28,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4110,8 +4113,8 @@ ac
"}
(29,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4252,8 +4255,8 @@ ac
"}
(30,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4394,8 +4397,8 @@ ac
"}
(31,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4536,8 +4539,8 @@ ac
"}
(32,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4678,8 +4681,8 @@ ac
"}
(33,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4820,8 +4823,8 @@ ac
"}
(34,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4962,8 +4965,8 @@ ac
"}
(35,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5104,8 +5107,8 @@ ac
"}
(36,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5246,8 +5249,8 @@ ac
"}
(37,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
Em
@@ -5388,8 +5391,8 @@ ac
"}
(38,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5530,8 +5533,8 @@ ac
"}
(39,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5672,8 +5675,8 @@ ac
"}
(40,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5814,8 +5817,8 @@ ac
"}
(41,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5956,8 +5959,8 @@ ac
"}
(42,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6098,8 +6101,8 @@ ac
"}
(43,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6240,8 +6243,8 @@ ac
"}
(44,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6382,8 +6385,8 @@ ac
"}
(45,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6524,8 +6527,8 @@ ac
"}
(46,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6666,8 +6669,8 @@ ac
"}
(47,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6808,8 +6811,8 @@ ac
"}
(48,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6950,8 +6953,8 @@ ac
"}
(49,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7092,8 +7095,8 @@ ac
"}
(50,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7234,8 +7237,8 @@ ac
"}
(51,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7376,8 +7379,8 @@ ac
"}
(52,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7518,8 +7521,8 @@ ac
"}
(53,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7660,8 +7663,8 @@ ac
"}
(54,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7802,8 +7805,8 @@ ac
"}
(55,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7944,8 +7947,8 @@ ac
"}
(56,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8086,8 +8089,8 @@ ac
"}
(57,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8228,8 +8231,8 @@ ac
"}
(58,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8370,8 +8373,8 @@ ac
"}
(59,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8512,8 +8515,8 @@ ac
"}
(60,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8654,8 +8657,8 @@ ac
"}
(61,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8796,8 +8799,8 @@ ac
"}
(62,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8938,7 +8941,7 @@ ac
"}
(63,1,1) = {"
as
-ab
+Al
ad
ad
ab
@@ -9080,7 +9083,7 @@ ac
"}
(64,1,1) = {"
at
-an
+ID
an
an
an
@@ -10784,7 +10787,7 @@ ac
"}
(76,1,1) = {"
at
-an
+ID
an
an
an
@@ -10926,7 +10929,7 @@ ac
"}
(77,1,1) = {"
as
-ad
+Al
ad
ad
ab
@@ -11068,8 +11071,8 @@ ac
"}
(78,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11210,8 +11213,8 @@ ac
"}
(79,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11352,8 +11355,8 @@ ac
"}
(80,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11494,8 +11497,8 @@ ac
"}
(81,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11636,8 +11639,8 @@ ac
"}
(82,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11778,8 +11781,8 @@ ac
"}
(83,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11920,8 +11923,8 @@ ac
"}
(84,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12062,8 +12065,8 @@ ac
"}
(85,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12204,8 +12207,8 @@ ac
"}
(86,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12346,8 +12349,8 @@ ac
"}
(87,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12488,8 +12491,8 @@ ac
"}
(88,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12630,8 +12633,8 @@ ac
"}
(89,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12772,8 +12775,8 @@ ac
"}
(90,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12914,8 +12917,8 @@ ac
"}
(91,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13056,8 +13059,8 @@ ac
"}
(92,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13198,8 +13201,8 @@ ac
"}
(93,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13340,8 +13343,8 @@ ac
"}
(94,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13482,8 +13485,8 @@ ac
"}
(95,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13624,8 +13627,8 @@ ac
"}
(96,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13766,8 +13769,8 @@ ac
"}
(97,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13908,8 +13911,8 @@ ac
"}
(98,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14050,8 +14053,8 @@ ac
"}
(99,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14192,8 +14195,8 @@ ac
"}
(100,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14334,8 +14337,8 @@ ac
"}
(101,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14476,8 +14479,8 @@ ac
"}
(102,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14618,8 +14621,8 @@ ac
"}
(103,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14760,8 +14763,8 @@ ac
"}
(104,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14902,8 +14905,8 @@ ac
"}
(105,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15044,8 +15047,8 @@ ac
"}
(106,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15186,8 +15189,8 @@ ac
"}
(107,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15328,8 +15331,8 @@ ac
"}
(108,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15470,8 +15473,8 @@ ac
"}
(109,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15612,8 +15615,8 @@ ac
"}
(110,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15754,8 +15757,8 @@ ac
"}
(111,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15896,8 +15899,8 @@ ac
"}
(112,1,1) = {"
as
-ab
-ab
+Al
+ad
BE
ab
ab
@@ -16038,8 +16041,8 @@ ac
"}
(113,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16180,8 +16183,8 @@ ac
"}
(114,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16322,8 +16325,8 @@ ac
"}
(115,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16464,8 +16467,8 @@ ac
"}
(116,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16606,8 +16609,8 @@ ac
"}
(117,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16748,8 +16751,8 @@ ac
"}
(118,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16890,8 +16893,8 @@ ac
"}
(119,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17032,8 +17035,8 @@ ac
"}
(120,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17174,8 +17177,8 @@ ac
"}
(121,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17316,8 +17319,8 @@ ac
"}
(122,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17458,8 +17461,8 @@ ac
"}
(123,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17600,8 +17603,8 @@ ac
"}
(124,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
Em
ab
@@ -17742,8 +17745,8 @@ ac
"}
(125,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17884,8 +17887,8 @@ ac
"}
(126,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18026,8 +18029,8 @@ ac
"}
(127,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18168,8 +18171,8 @@ ac
"}
(128,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18310,8 +18313,8 @@ ac
"}
(129,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18452,8 +18455,8 @@ ac
"}
(130,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18594,9 +18597,9 @@ ac
"}
(131,1,1) = {"
as
-ab
-ab
-ab
+Al
+ad
+ad
ab
ab
ab
@@ -18736,9 +18739,9 @@ ac
"}
(132,1,1) = {"
as
-ab
-ab
-ab
+Al
+ad
+ad
ad
ab
ab
@@ -18878,8 +18881,8 @@ ac
"}
(133,1,1) = {"
as
+Al
ad
-ab
ad
ad
ad
@@ -19020,7 +19023,7 @@ ac
"}
(134,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -19162,7 +19165,7 @@ ac
"}
(135,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19304,7 +19307,7 @@ ac
"}
(136,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19446,7 +19449,7 @@ ac
"}
(137,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19588,7 +19591,7 @@ ac
"}
(138,1,1) = {"
as
-bF
+Al
bF
bF
bF
diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm
index 08ba427fa9..04ae672b7e 100644
--- a/maps/tether/tether-01-surface1.dmm
+++ b/maps/tether/tether-01-surface1.dmm
@@ -11536,6 +11536,16 @@
},
/turf/simulated/floor/water/pool,
/area/tether/surfacebase/surface_one_hall)
+"atm" = (
+/obj/structure/bed/chair/wood,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/lino,
+/area/crew_quarters/visitor_dining)
"atn" = (
/obj/machinery/status_display{
pixel_x = 32;
@@ -17352,17 +17362,6 @@
},
/turf/simulated/floor/lino,
/area/crew_quarters/visitor_dining)
-"aIs" = (
-/obj/structure/bed/chair/wood,
-/obj/structure/bed/chair/wood,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/lino,
-/area/crew_quarters/visitor_dining)
"aIt" = (
/obj/structure/bed/chair/wood,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -46116,7 +46115,7 @@ aEK
aEK
aEK
aDu
-aIs
+atm
aCQ
aJV
aDu
diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm
index 1e4403afa2..7fbba22ef6 100644
--- a/maps/tether/tether-02-surface2.dmm
+++ b/maps/tether/tether-02-surface2.dmm
@@ -1757,8 +1757,8 @@
pixel_y = 0
},
/obj/machinery/camera/network/research/xenobio{
- icon_state = "camera";
- dir = 4
+ dir = 4;
+ icon_state = "camera"
},
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
@@ -1914,8 +1914,8 @@
req_access = list(55)
},
/obj/machinery/camera/network/research/xenobio{
- icon_state = "camera";
- dir = 9
+ dir = 9;
+ icon_state = "camera"
},
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
@@ -2931,6 +2931,20 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"afJ" = (
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock/maintenance/common,
+/turf/simulated/floor/tiled/techfloor,
+/area/maintenance/lower/bar)
+"afK" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/lower/bar)
"afL" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
@@ -3079,6 +3093,16 @@
/obj/structure/window/basic,
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"afZ" = (
+/obj/structure/filingcabinet/filingcabinet,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
+"aga" = (
+/obj/machinery/camera/network/civilian{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"agb" = (
/obj/effect/floor_decal/techfloor/orange{
dir = 8
@@ -3111,6 +3135,10 @@
"age" = (
/turf/simulated/wall,
/area/tether/surfacebase/north_staires_two)
+"agf" = (
+/obj/structure/morgue,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"agg" = (
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/techmaint,
@@ -3240,6 +3268,12 @@
},
/turf/simulated/open,
/area/tether/surfacebase/surface_two_hall)
+"agy" = (
+/obj/effect/landmark/start{
+ name = "Chaplain"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"agz" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -3924,9 +3958,13 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/bar)
"ahW" = (
-/obj/structure/flora/ausbushes/sparsegrass,
-/turf/simulated/floor/grass,
-/area/chapel/office)
+/obj/structure/grille,
+/obj/machinery/door/firedoor/glass,
+/obj/structure/window/reinforced/polarized/full{
+ id = "chaplainpet"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"ahX" = (
/obj/machinery/alarm{
pixel_y = 22
@@ -4104,13 +4142,25 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/bar)
"air" = (
-/obj/structure/flora/ausbushes/ppflowers,
-/obj/structure/flora/ausbushes/sparsegrass,
-/obj/machinery/alarm{
- pixel_y = 22
+/obj/machinery/light_switch{
+ dir = 4;
+ on = 0;
+ pixel_x = -24;
+ pixel_y = 20
},
-/turf/simulated/floor/grass,
-/area/chapel/office)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"ais" = (
/obj/structure/cable/green{
d1 = 16;
@@ -4143,7 +4193,7 @@
"ait" = (
/obj/structure/flora/ausbushes/fullgrass,
/turf/simulated/floor/grass,
-/area/chapel/office)
+/area/chapel/main)
"aiu" = (
/obj/machinery/door/airlock/multi_tile/glass{
dir = 1;
@@ -4153,15 +4203,10 @@
/turf/simulated/floor/tiled/dark,
/area/maintenance/lower/bar)
"aiv" = (
-/obj/machinery/button/windowtint{
- id = "noodle";
- pixel_x = 20;
- pixel_y = 25
- },
-/obj/machinery/disposal,
-/obj/structure/disposalpipe/trunk,
-/turf/simulated/floor/lino,
-/area/chapel/office)
+/obj/structure/flora/ausbushes/sparsegrass,
+/obj/machinery/camera/network/civilian,
+/turf/simulated/floor/grass,
+/area/chapel/main)
"aiw" = (
/obj/machinery/computer/aifixer,
/obj/effect/floor_decal/borderfloor{
@@ -4258,13 +4303,12 @@
/turf/simulated/wall,
/area/tether/surfacebase/surface_two_hall)
"aiG" = (
-/obj/machinery/door/airlock{
- name = "Noodle Office";
- req_access = list(27)
+/obj/structure/flora/ausbushes/sparsegrass,
+/obj/machinery/alarm{
+ pixel_y = 22
},
-/obj/machinery/door/firedoor/glass,
-/turf/simulated/floor/lino,
-/area/chapel/office)
+/turf/simulated/floor/grass,
+/area/chapel/main)
"aiH" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -4292,20 +4336,24 @@
/turf/simulated/floor/tiled/techfloor/grid,
/area/maintenance/lower/bar)
"aiJ" = (
-/obj/effect/floor_decal/rust,
-/turf/simulated/floor/tiled/techfloor,
-/area/maintenance/lower/bar)
-"aiK" = (
-/obj/structure/flora/ausbushes/sparsegrass,
-/mob/living/simple_mob/animal/passive/snake/noodle,
-/turf/simulated/floor/grass,
-/area/chapel/office)
-"aiL" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/full,
-/obj/machinery/door/firedoor/glass,
+/obj/machinery/door/airlock{
+ name = "Chapel Morgue";
+ req_one_access = list(6,27)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled/dark,
-/area/chapel/office)
+/area/chapel/chapel_morgue)
+"aiK" = (
+/obj/structure/flora/ausbushes/ppflowers,
+/turf/simulated/floor/grass,
+/area/chapel/main)
+"aiL" = (
+/turf/simulated/floor/grass,
+/area/chapel/main)
"aiM" = (
/obj/machinery/light/small{
dir = 4;
@@ -4431,13 +4479,9 @@
/turf/simulated/floor/tiled/dark,
/area/maintenance/lower/bar)
"aiZ" = (
-/obj/structure/grille,
-/obj/machinery/door/firedoor/glass,
-/obj/structure/window/reinforced/polarized/full{
- id = "noodle"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/office)
+/mob/living/simple_mob/animal/passive/snake/noodle,
+/turf/simulated/floor/grass,
+/area/chapel/main)
"aja" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -4456,6 +4500,10 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"ajb" = (
+/obj/structure/flora/ausbushes/brflowers,
+/turf/simulated/floor/grass,
+/area/chapel/main)
"ajc" = (
/obj/machinery/door/airlock/maintenance/common,
/obj/machinery/atmospherics/pipe/simple/visible/supply{
@@ -4571,10 +4619,48 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"ajo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5;
+ icon_state = "intact-scrubbers"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
+"ajp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
+"ajq" = (
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"ajr" = (
/obj/structure/grille,
-/obj/structure/window/reinforced/full,
/obj/machinery/door/firedoor,
+/obj/structure/window/reinforced/polarized/full{
+ id = "chaplainwindow"
+ },
/obj/structure/window/reinforced{
dir = 4
},
@@ -4669,9 +4755,23 @@
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
"ajD" = (
-/obj/machinery/light,
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/obj/machinery/alarm{
+ alarm_id = "anomaly_testing";
+ breach_detection = 0;
+ dir = 8;
+ frequency = 1439;
+ pixel_x = 22;
+ pixel_y = 0;
+ report_danger_level = 0
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
+/area/chapel/chapel_morgue)
"ajE" = (
/turf/simulated/floor/tiled,
/area/rnd/rdoffice)
@@ -4697,9 +4797,22 @@
/turf/simulated/floor/plating,
/area/maintenance/lower/rnd)
"ajH" = (
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/lino,
-/area/chapel/office)
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/lower/bar)
"ajI" = (
/obj/structure/cable/green{
d1 = 1;
@@ -4724,23 +4837,16 @@
/turf/simulated/floor/tiled/dark,
/area/tether/surfacebase/security/interrogation)
"ajL" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/light/small{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/mob/living/simple_mob/animal/passive/mouse/white{
+ desc = "Noodle's best friend! Soft and white, and seemingly strangely intelligent.";
+ name = "Apple"
},
-/obj/machinery/door/firedoor/glass,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/catwalk,
-/obj/machinery/door/airlock/maintenance/common,
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/tether/surfacebase/surface_two_hall)
+/turf/simulated/floor/grass,
+/area/chapel/main)
"ajM" = (
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
/area/tether/surfacebase/outside/outside2)
@@ -4751,6 +4857,11 @@
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/lower/rnd)
+"ajO" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/storage/box/snakesnackbox,
+/turf/simulated/floor/grass,
+/area/chapel/main)
"ajP" = (
/obj/machinery/alarm{
dir = 4;
@@ -4775,6 +4886,16 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"ajR" = (
+/obj/machinery/light/small{
+ dir = 8;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
"ajS" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -4802,62 +4923,57 @@
/turf/simulated/floor/tiled,
/area/tether/surfacebase/public_garden_two)
"ajV" = (
-/obj/structure/extinguisher_cabinet{
- dir = 1;
- icon_state = "extinguisher_closed";
- pixel_y = -32
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
},
/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
+/area/chapel/chapel_morgue)
"ajW" = (
-/obj/machinery/door/airlock{
- name = "Chapel Morgue";
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/obj/machinery/button/remote/blast_door{
+ desc = "A remote control-switch for shutters.";
+ id = "chapel_obs";
+ layer = 3.3;
+ name = "Chapel Observation Shutters";
+ pixel_x = 6;
+ pixel_y = -29;
req_access = list(27)
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/turf/simulated/floor/tiled/dark,
+/area/chapel/chapel_morgue)
+"ajX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/tiled/dark,
-/area/chapel/office)
-"ajX" = (
-/obj/structure/table/woodentable,
-/obj/item/device/flashlight/lamp{
- pixel_x = 2;
- pixel_y = 7
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/simulated/floor/lino,
-/area/chapel/office)
+/area/chapel/chapel_morgue)
"ajY" = (
/turf/simulated/floor/carpet,
/area/chapel/main)
"ajZ" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "north bump";
- pixel_x = 0;
- pixel_y = 24
+/obj/structure/bed/chair{
+ dir = 1
},
-/obj/structure/cable/green{
- d2 = 2;
- icon_state = "0-2"
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
},
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1"
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
},
/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
+/area/chapel/chapel_morgue)
"aka" = (
/turf/simulated/wall,
/area/maintenance/asmaint2)
@@ -5784,6 +5900,10 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
+"alK" = (
+/obj/structure/girder/displaced,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/bar)
"alL" = (
/obj/structure/catwalk,
/obj/structure/cable{
@@ -5808,6 +5928,10 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/tiled,
/area/tether/surfacebase/north_staires_two)
+"alN" = (
+/obj/structure/firedoor_assembly,
+/turf/simulated/floor,
+/area/maintenance/lower/bar)
"alO" = (
/obj/machinery/firealarm{
dir = 1;
@@ -5996,18 +6120,36 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/surface_two_hall)
+"amb" = (
+/obj/structure/girder/displaced,
+/turf/simulated/floor,
+/area/maintenance/lower/bar)
"amc" = (
/obj/structure/catwalk,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/lower/bar)
+"amd" = (
+/obj/machinery/door/airlock{
+ name = "Noodle Office";
+ req_access = list(27)
+ },
+/obj/machinery/door/firedoor/glass,
+/turf/simulated/floor/lino,
+/area/chapel/main)
"ame" = (
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1"
+/obj/machinery/door/blast/shutters{
+ dir = 2;
+ id = "chapel_obs";
+ name = "Chapel Observation"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
},
/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
+/area/chapel/chapel_morgue)
"amf" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -6108,6 +6250,18 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/surface_two_hall)
+"amm" = (
+/turf/simulated/floor/plating,
+/area/maintenance/lower/bar)
+"amn" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"amo" = (
/obj/structure/railing{
dir = 1;
@@ -6161,11 +6315,64 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/fish_farm)
+"amu" = (
+/obj/machinery/light/small{
+ dir = 1;
+ icon_state = "bulb1"
+ },
+/turf/simulated/floor/carpet,
+/area/chapel/main)
+"amv" = (
+/obj/structure/table/bench/padded,
+/obj/machinery/light_switch{
+ name = "light switch ";
+ on = 0;
+ pixel_y = 36
+ },
+/obj/effect/landmark/start{
+ name = "Chaplain"
+ },
+/obj/machinery/button/windowtint{
+ dir = 1;
+ id = "chaplainpet";
+ name = "interior window tint";
+ pixel_x = -10;
+ pixel_y = 30
+ },
+/obj/machinery/button/windowtint{
+ dir = 1;
+ id = "chaplainwindow";
+ name = "exterior window tint";
+ pixel_x = 10;
+ pixel_y = 30;
+ range = 8
+ },
+/turf/simulated/floor/carpet,
+/area/chapel/main)
+"amw" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"amx" = (
+/obj/machinery/alarm{
+ dir = 1;
+ pixel_y = -25
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/lower/bar)
"amy" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/maintenance/lower/rnd)
+"amz" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"amA" = (
/obj/structure/cable/green{
icon_state = "4-8"
@@ -6249,29 +6456,37 @@
/turf/simulated/floor/plating,
/area/tether/surfacebase/surface_two_hall)
"amL" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
- },
-/obj/structure/cable/green{
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
icon_state = "1-2"
},
-/turf/simulated/floor/lino,
-/area/chapel/office)
-"amM" = (
-/obj/structure/cable/green{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
+/obj/machinery/camera/network/civilian{
+ dir = 4
},
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"amM" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"amN" = (
-/obj/structure/flora/ausbushes/brflowers,
-/turf/simulated/floor/grass,
-/area/chapel/office)
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/glass,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"amO" = (
/obj/machinery/door/airlock{
name = "Chapel Morgue";
@@ -6303,16 +6518,18 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/bar)
"amR" = (
-/obj/structure/flora/ausbushes/fullgrass,
-/obj/machinery/light/small{
- dir = 8
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
-/obj/machinery/camera/network/civilian{
- dir = 1
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
},
-/mob/living/simple_mob/animal/passive/mouse/white,
-/turf/simulated/floor/grass,
-/area/chapel/office)
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"amS" = (
/obj/structure/table/woodentable,
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,
@@ -6416,72 +6633,71 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
-"ane" = (
-/obj/structure/table/woodentable,
-/obj/item/weapon/storage/box/snakesnackbox,
-/turf/simulated/floor/grass,
-/area/chapel/office)
-"anf" = (
-/obj/machinery/button/remote/blast_door{
- desc = "A remote control-switch for shutters.";
- id = "chapel_obs";
- layer = 3.3;
- name = "Chapel Observation Shutters";
- pixel_x = 29;
- pixel_y = 0;
- req_access = list(27)
+"and" = (
+/obj/machinery/power/apc{
+ cell_type = /obj/item/weapon/cell/super;
+ dir = 1;
+ name = "north bump";
+ pixel_y = 24
},
-/turf/simulated/floor/lino,
-/area/chapel/office)
-"ang" = (
/obj/structure/cable/green{
- d1 = 4;
d2 = 8;
- icon_state = "4-8"
+ dir = 2;
+ icon_state = "0-8"
},
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"ane" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"anf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"ang" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"anh" = (
-/obj/machinery/hologram/holopad,
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
+/obj/structure/table/bench/padded,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
},
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"ani" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
+/obj/structure/table/bench/padded,
+/obj/effect/floor_decal/chapel{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 8
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/sortjunction{
- dir = 1;
- icon_state = "pipe-j1s";
- name = "Chapel";
- sortType = "Chapel"
- },
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"anj" = (
-/obj/machinery/door/airlock/glass{
- name = "Chapel"
+/obj/structure/table/bench/padded,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
},
-/obj/machinery/door/firedoor/glass,
-/turf/simulated/floor/carpet,
+/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"ank" = (
/turf/simulated/floor/tiled/techfloor,
@@ -6553,6 +6769,14 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"ant" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"anu" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -6571,6 +6795,14 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
+"anw" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"anx" = (
/obj/machinery/door/airlock/maintenance/common,
/obj/structure/disposalpipe/segment,
@@ -7115,6 +7347,26 @@
"aox" = (
/turf/simulated/floor/holofloor/tiled/dark,
/area/tether/elevator)
+"aoy" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aoz" = (
/obj/effect/floor_decal/borderfloor{
dir = 5
@@ -7323,6 +7575,20 @@
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/plating,
/area/maintenance/lower/rnd)
+"aoV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aoW" = (
/obj/effect/floor_decal/borderfloor/corner{
dir = 4
@@ -7745,6 +8011,25 @@
/obj/machinery/door/airlock/glass,
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"apL" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j1s";
+ name = "Chapel";
+ sortType = "Chapel"
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"apM" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
@@ -7771,38 +8056,42 @@
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
"apO" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/structure/disposalpipe/sortjunction{
- dir = 4;
- icon_state = "pipe-j1s";
- name = "Janitor Closet";
- sortType = "Janitor Closet"
- },
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/surface_two_hall)
+/obj/structure/table/woodentable,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"apP" = (
+/obj/effect/floor_decal/chapel{
+ dir = 8
+ },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/surface_two_hall)
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"apQ" = (
+/obj/effect/floor_decal/chapel,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"apR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
@@ -8005,6 +8294,11 @@
hard_corner = 1
},
/area/tether/elevator)
+"aqo" = (
+/obj/structure/table/woodentable,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"aqp" = (
/obj/effect/floor_decal/borderfloor/corner,
/turf/simulated/floor/tiled/techmaint,
@@ -8066,6 +8360,20 @@
/obj/machinery/door/airlock/glass,
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"aqv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"aqw" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -8162,6 +8470,10 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
+"aqG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"aqH" = (
/obj/machinery/shieldwallgen,
/obj/effect/floor_decal/industrial/outline/yellow,
@@ -8172,6 +8484,13 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/dark,
/area/teleporter)
+"aqJ" = (
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
+/obj/machinery/door/firedoor/glass,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aqK" = (
/obj/machinery/hologram/holopad,
/turf/simulated/floor/tiled/dark,
@@ -8307,8 +8626,13 @@
/turf/simulated/floor/tiled,
/area/rnd/rdoffice)
"aqT" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/alarm{
+ alarm_id = "pen_nine";
+ breach_detection = 0;
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
/turf/simulated/floor/tiled/dark,
/area/chapel/main)
"aqU" = (
@@ -8343,20 +8667,14 @@
/turf/simulated/floor/tiled/dark,
/area/rnd/lockers)
"aqY" = (
-/obj/structure/closet/wardrobe/chaplain_black,
-/obj/item/weapon/storage/fancy/crayons,
-/obj/item/weapon/flame/candle/candelabra,
-/obj/item/weapon/flame/candle/candelabra,
-/obj/item/weapon/flame/candle/candelabra,
-/obj/item/weapon/flame/candle/candelabra,
-/obj/machinery/firealarm{
- dir = 2;
- layer = 3.3;
- pixel_x = 0;
- pixel_y = 26
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/green{
+ icon_state = "1-2"
},
-/turf/simulated/floor/lino,
-/area/chapel/office)
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aqZ" = (
/obj/effect/floor_decal/borderfloor,
/obj/structure/closet/firecloset,
@@ -8455,6 +8773,20 @@
"arl" = (
/turf/simulated/wall,
/area/tether/surfacebase/east_stairs_two)
+"arm" = (
+/obj/machinery/door/airlock{
+ name = "Chapel Office";
+ req_access = list(27)
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/office)
"arn" = (
/obj/machinery/teleport/hub{
dir = 2
@@ -10175,18 +10507,17 @@
/turf/simulated/floor,
/area/chapel/main)
"auf" = (
-/obj/machinery/door/airlock/multi_tile/metal/mait{
- name = "Maintenance Access"
- },
-/obj/machinery/door/firedoor/glass,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/obj/structure/catwalk,
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/maintenance/lower/south)
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aug" = (
/obj/machinery/door/firedoor/glass,
/obj/structure/catwalk,
@@ -10244,6 +10575,13 @@
},
/turf/simulated/floor/wood,
/area/rnd/breakroom)
+"aup" = (
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"auq" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable/green{
@@ -10475,17 +10813,17 @@
/turf/simulated/floor/tiled/dark,
/area/engineering/lower/breakroom)
"auM" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 8
+/obj/machinery/light_switch{
+ dir = 2;
+ name = "light switch ";
+ pixel_x = 10;
+ pixel_y = 32
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- icon_state = "1-4"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/east_stairs_two)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"auN" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -10514,17 +10852,19 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/south)
"auP" = (
-/obj/structure/catwalk,
-/obj/effect/floor_decal/corner_techfloor_grid{
- dir = 5
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
},
-/obj/structure/cable{
- icon_state = "1-2"
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
},
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"auQ" = (
/obj/structure/catwalk,
/obj/effect/floor_decal/corner_techfloor_grid{
@@ -10577,6 +10917,14 @@
/obj/structure/stairs/south,
/turf/simulated/floor/tiled,
/area/rnd/staircase/secondfloor)
+"auW" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"auX" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable/green{
@@ -10724,16 +11072,11 @@
/turf/simulated/wall/r_wall,
/area/maintenance/engineering/pumpstation)
"avh" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 8
- },
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/east_stairs_two)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"avi" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
@@ -10812,19 +11155,12 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/south)
"avo" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/obj/structure/cable{
- icon_state = "1-8"
+/obj/structure/bed/chair/wood,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
},
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"avp" = (
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/airlock/maintenance/engi{
@@ -11217,28 +11553,18 @@
/turf/simulated/floor/plating,
/area/maintenance/engineering/pumpstation)
"avT" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/east_stairs_two)
-"avU" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 4
- },
-/obj/machinery/camera/network/tether{
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 8
+/turf/simulated/floor/lino,
+/area/chapel/office)
+"avU" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
},
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/east_stairs_two)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"avV" = (
/obj/effect/floor_decal/corner_techfloor_grid{
dir = 9
@@ -11261,16 +11587,9 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/south)
"avY" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
+/obj/effect/floor_decal/chapel,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"avZ" = (
/obj/structure/railing{
dir = 8
@@ -11688,21 +12007,39 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
-"awL" = (
-/obj/effect/floor_decal/corner_techfloor_grid{
- dir = 9
+"awK" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/pen/blue{
+ pixel_x = 2;
+ pixel_y = 1
},
-/obj/effect/decal/cleanable/dirt,
-/turf/simulated/floor/tiled/techfloor,
-/area/maintenance/lower/south)
+/obj/item/weapon/paper_bin{
+ pixel_x = -2;
+ pixel_y = 8
+ },
+/obj/machinery/camera/network/civilian{
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
+"awL" = (
+/obj/structure/table/woodentable,
+/turf/simulated/floor/lino,
+/area/chapel/office)
"awM" = (
-/obj/structure/table/rack,
-/obj/random/maintenance/research,
-/obj/random/maintenance/clean,
-/obj/random/maintenance/clean,
-/obj/random/junk,
-/turf/simulated/floor/tiled/techfloor,
-/area/maintenance/lower/south)
+/obj/structure/table/woodentable,
+/obj/item/device/flashlight/lamp{
+ pixel_x = 2;
+ pixel_y = 7
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"awN" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
@@ -12177,15 +12514,12 @@
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/east_stairs_two)
"axA" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 4
- },
-/obj/machinery/light/small{
+/obj/machinery/firealarm{
dir = 4;
- pixel_y = 0
+ pixel_x = 24
},
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/east_stairs_two)
+/turf/simulated/floor/lino,
+/area/chapel/office)
"axB" = (
/turf/simulated/wall,
/area/janitor)
@@ -12493,6 +12827,18 @@
/obj/effect/floor_decal/corner/yellow/bordercorner2,
/turf/simulated/floor/tiled/monotile,
/area/engineering/atmos)
+"aya" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance/common,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/tiled/techfloor,
+/area/chapel/main)
"ayb" = (
/obj/machinery/light_switch{
pixel_y = -28
@@ -13191,6 +13537,31 @@
"azl" = (
/turf/simulated/wall/r_wall,
/area/engineering/atmos)
+"azm" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/surface_two_hall)
+"azn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/surface_two_hall)
"azo" = (
/obj/structure/cable/cyan{
d1 = 2;
@@ -13751,6 +14122,17 @@
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/east_stairs_two)
+"azK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/surface_two_hall)
"azL" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -13905,6 +14287,25 @@
/obj/structure/window/reinforced/full,
/turf/simulated/floor/plating,
/area/engineering/lower/breakroom)
+"aAf" = (
+/obj/machinery/button/windowtint{
+ dir = 1;
+ id = "chapel";
+ pixel_x = -25;
+ pixel_y = -25
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
+"aAg" = (
+/obj/effect/landmark/start{
+ name = "Chaplain"
+ },
+/obj/structure/bed/chair/wood/wings{
+ dir = 1;
+ icon_state = "wooden_chair_wings"
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"aAh" = (
/obj/structure/cable/cyan{
d1 = 1;
@@ -14591,6 +14992,14 @@
},
/turf/simulated/floor/tiled,
/area/janitor)
+"aBn" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"aBo" = (
/obj/machinery/door/airlock/multi_tile/metal/mait,
/obj/machinery/door/firedoor/glass,
@@ -14715,6 +15124,37 @@
/obj/machinery/recharge_station,
/turf/simulated/floor/plating,
/area/engineering/drone_fabrication)
+"aBA" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ d2 = 8;
+ dir = 2;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
+"aBB" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/visible/supply{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
"aBC" = (
/obj/machinery/light_switch{
pixel_y = 28
@@ -14984,6 +15424,26 @@
/obj/item/weapon/stool,
/turf/simulated/floor/tiled/techmaint,
/area/engineering/drone_fabrication)
+"aBY" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 1;
+ dir = 2;
+ frequency = 1473;
+ name = "Confession Intercom";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/structure/bed/chair{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/landmark/start{
+ name = "Chaplain"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aBZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -15417,6 +15877,15 @@
/obj/effect/floor_decal/techfloor,
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
+"aCV" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 6
+ },
+/obj/machinery/camera/network/tether{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/surface_two_hall)
"aCW" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -15434,6 +15903,15 @@
/obj/structure/catwalk,
/turf/simulated/floor/plating,
/area/maintenance/asmaint2)
+"aCY" = (
+/obj/structure/closet/wardrobe/chaplain_black,
+/obj/item/weapon/storage/fancy/crayons,
+/obj/item/weapon/flame/candle/candelabra,
+/obj/item/weapon/flame/candle/candelabra,
+/obj/item/weapon/flame/candle/candelabra,
+/obj/item/weapon/flame/candle/candelabra,
+/turf/simulated/floor/lino,
+/area/chapel/office)
"aCZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -16322,6 +16800,10 @@
/obj/random/tech_supply,
/turf/simulated/floor/tiled/steel_dirty,
/area/maintenance/asmaint2)
+"aFa" = (
+/obj/machinery/photocopier,
+/turf/simulated/floor/lino,
+/area/chapel/office)
"aFb" = (
/obj/structure/catwalk,
/turf/simulated/open,
@@ -16683,11 +17165,35 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/lower/atmos)
+"aFY" = (
+/obj/structure/catwalk,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
"aFZ" = (
/obj/effect/floor_decal/techfloor,
/obj/structure/catwalk,
/turf/simulated/floor/plating,
/area/maintenance/lower/atmos)
+"aGa" = (
+/obj/machinery/door/airlock/multi_tile/metal/mait{
+ name = "Maintenance Access"
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/catwalk,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/maintenance/lower/south)
"aGb" = (
/obj/effect/floor_decal/techfloor,
/obj/structure/catwalk,
@@ -17536,6 +18042,23 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/maintenance/lower/atmos)
+"aHH" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
"aHI" = (
/obj/structure/table/steel,
/turf/simulated/floor/plating,
@@ -17627,6 +18150,19 @@
},
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aHU" = (
+/obj/structure/catwalk,
+/obj/effect/floor_decal/corner_techfloor_grid{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
"aHV" = (
/obj/machinery/power/apc{
dir = 4;
@@ -17639,6 +18175,37 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/tcomms)
+"aHW" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
+"aHX" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
"aHY" = (
/obj/machinery/door/window/brigdoor/westright{
name = "Slime Pen 4";
@@ -17686,10 +18253,10 @@
/area/maintenance/lower/atmos)
"aId" = (
/obj/machinery/mecha_part_fabricator/pros{
+ component_coeff = 0.9;
desc = "A machine used for construction of legit prosthetics. You weren't sure if cardboard was considered an engineering material until now.";
dir = 4;
emagged = 0;
- component_coeff = 0.9;
name = "Legitimate Prosthetics Fabricator";
req_access = list();
res_max_amount = 150000;
@@ -17804,6 +18371,22 @@
/area/tcomsat{
name = "\improper Telecomms Lobby"
})
+"aIs" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
"aIt" = (
/obj/structure/filingcabinet,
/obj/machinery/status_display{
@@ -18398,11 +18981,38 @@
},
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aJC" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/camera/network/tether{
+ dir = 9
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
"aJD" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aJE" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
"aJF" = (
/obj/machinery/disposal,
/obj/structure/window/reinforced,
@@ -19460,6 +20070,21 @@
},
/turf/simulated/floor/reinforced,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aLt" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
"aLu" = (
/obj/machinery/button/remote/blast_door{
id = "xenobiodiv4";
@@ -20097,6 +20722,21 @@
temperature = 80
},
/area/tcommsat/chamber)
+"aMA" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ icon_state = "pipe-j1s";
+ name = "Janitor Closet";
+ sortType = "Janitor Closet"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
"aMB" = (
/obj/machinery/telecomms/server/presets/common,
/turf/simulated/floor/tiled/dark{
@@ -20370,6 +21010,24 @@
temperature = 80
},
/area/tcommsat/chamber)
+"aNc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/catwalk,
+/obj/machinery/door/airlock/maintenance/common,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/tether/surfacebase/east_stairs_two)
"aNd" = (
/obj/machinery/telecomms/broadcaster/preset_right/tether,
/turf/simulated/floor/bluegrid{
@@ -20397,6 +21055,22 @@
temperature = 80
},
/area/tcommsat/chamber)
+"aNg" = (
+/obj/effect/floor_decal/corner_techfloor_grid{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/maintenance/lower/south)
"aNh" = (
/obj/machinery/telecomms/bus/preset_four,
/turf/simulated/floor/tiled/dark{
@@ -20623,6 +21297,19 @@
temperature = 80
},
/area/tcommsat/chamber)
+"aNC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/maintenance/lower/south)
"aND" = (
/obj/machinery/door/blast/regular{
density = 0;
@@ -21106,6 +21793,23 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/surgery)
+"aOv" = (
+/obj/structure/table/rack,
+/obj/random/maintenance/research,
+/obj/random/maintenance/clean,
+/obj/random/maintenance/clean,
+/obj/random/junk,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/maintenance/lower/south)
"aOw" = (
/obj/machinery/camera/network/command{
dir = 4;
@@ -21125,6 +21829,74 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
+"aOy" = (
+/obj/structure/railing{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/maintenance/lower/south)
+"aOz" = (
+/obj/structure/catwalk,
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/lower/south)
+"aOA" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
+"aOB" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 4;
+ pixel_y = 0
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/tether/surfacebase/east_stairs_two)
+"aOC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/carpet,
+/area/chapel/main)
"aOD" = (
/obj/structure/grille,
/obj/structure/window/reinforced/full,
@@ -21151,6 +21923,10 @@
/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/reinforced,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aOE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aOF" = (
/obj/structure/railing{
dir = 8
@@ -21204,6 +21980,10 @@
/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aOI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aOJ" = (
/obj/machinery/door/blast/regular{
id = "xenobiodiv7";
@@ -21264,6 +22044,25 @@
/obj/machinery/door/firedoor/glass,
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aOP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1;
+ icon_state = "map-scrubbers"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aOQ" = (
/obj/machinery/door/firedoor/glass,
/obj/structure/disposalpipe/segment,
@@ -21303,6 +22102,18 @@
},
/turf/simulated/floor/plating,
/area/maintenance/lower/south)
+"aOU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aOV" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
@@ -21363,6 +22174,18 @@
/obj/structure/table/standard,
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/storage)
+"aPb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aPc" = (
/obj/structure/disposalpipe/trunk{
dir = 8
@@ -21377,6 +22200,18 @@
},
/turf/simulated/floor/reinforced,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aPd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aPe" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -21463,6 +22298,11 @@
/obj/machinery/camera/network/interrogation,
/turf/simulated/floor/tiled/dark,
/area/tether/surfacebase/security/interrogation)
+"aPk" = (
+/obj/structure/table/bench/padded,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aPl" = (
/obj/structure/table/reinforced,
/obj/machinery/photocopier/faxmachine{
@@ -21633,12 +22473,17 @@
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/surgery)
"aPu" = (
-/obj/structure/morgue,
-/obj/machinery/camera/network/civilian{
- dir = 4
+/obj/structure/table/bench/padded,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
+"aPv" = (
+/obj/structure/table/bench/padded,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
},
/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
+/area/chapel/main)
"aPw" = (
/obj/machinery/recharger/wallcharger{
pixel_y = -38
@@ -21682,10 +22527,27 @@
},
/turf/simulated/floor/tiled/dark,
/area/rnd/outpost/xenobiology/outpost_slimepens)
+"aPB" = (
+/obj/structure/table/bench/padded,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/chapel/main)
"aPC" = (
/obj/machinery/light/small,
/turf/simulated/floor/tiled/techfloor,
/area/tether/surfacebase/medical/lowerhall)
+"aPD" = (
+/obj/machinery/alarm{
+ alarm_id = "pen_nine";
+ breach_detection = 0;
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/simulated/floor/lino,
+/area/chapel/office)
"aPE" = (
/obj/effect/floor_decal/industrial/loading{
dir = 4
@@ -21837,22 +22699,6 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/storage)
-"aPT" = (
-/obj/structure/table/woodentable,
-/obj/item/weapon/pen/blue{
- pixel_x = 2;
- pixel_y = 1
- },
-/obj/item/weapon/paper_bin{
- pixel_x = -2;
- pixel_y = 8
- },
-/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/obj/machinery/camera/network/civilian{
- dir = 4
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
"aPU" = (
/obj/effect/floor_decal/borderfloorwhite{
dir = 1
@@ -22546,11 +23392,6 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/surgery)
-"aQW" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/camera/network/civilian,
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aQX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -22590,13 +23431,6 @@
/obj/structure/closet/secure_closet/medical2,
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/surgery)
-"aRa" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/camera/network/civilian{
- dir = 1
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aRb" = (
/obj/effect/floor_decal/borderfloorwhite,
/obj/effect/floor_decal/corner/paleblue/border,
@@ -23703,18 +24537,6 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
-"aSL" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 6
- },
-/obj/effect/floor_decal/borderfloor/corner2{
- dir = 6
- },
-/obj/machinery/camera/network/tether{
- dir = 9
- },
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/surface_two_hall)
"aSM" = (
/obj/structure/table/standard,
/obj/machinery/firealarm{
@@ -26586,12 +27408,6 @@
},
/turf/simulated/floor/carpet/sblucarpet,
/area/bridge/meeting_room)
-"aXi" = (
-/obj/effect/floor_decal/chapel{
- dir = 1
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aXj" = (
/obj/machinery/power/apc{
dir = 4;
@@ -26655,12 +27471,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
-"aXq" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aXr" = (
/turf/simulated/wall,
/area/maintenance/substation/command)
@@ -26683,12 +27493,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/commandmaint)
-"aXu" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aXv" = (
/obj/machinery/firealarm{
dir = 2;
@@ -26938,12 +27742,6 @@
"aYd" = (
/turf/simulated/wall,
/area/chapel/main)
-"aYe" = (
-/obj/structure/extinguisher_cabinet{
- pixel_y = 30
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aYf" = (
/obj/structure/table/woodentable,
/obj/machinery/photocopier/faxmachine{
@@ -26971,31 +27769,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/bridge_hallway)
-"aYj" = (
-/obj/machinery/alarm{
- pixel_y = 22
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYl" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYm" = (
-/obj/machinery/photocopier,
-/obj/machinery/alarm{
- pixel_y = 22
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
"aYn" = (
/obj/structure/extinguisher_cabinet{
pixel_y = 30
@@ -27056,66 +27829,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/bridge_hallway)
-"aYt" = (
-/obj/effect/floor_decal/chapel{
- dir = 1
- },
-/obj/structure/cable/green{
- icon_state = "1-2"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYu" = (
-/obj/structure/table/bench/padded,
-/obj/effect/floor_decal/chapel{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5;
- icon_state = "intact-supply"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYv" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYw" = (
-/obj/effect/floor_decal/chapel{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYx" = (
-/obj/structure/table/bench/padded,
-/obj/effect/floor_decal/chapel{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYy" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aYz" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -27151,18 +27864,6 @@
},
/turf/simulated/floor/wood,
/area/bridge/meeting_room)
-"aYB" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
-/obj/structure/bed/chair,
-/obj/machinery/button/windowtint{
- id = "chapel";
- pixel_x = -20;
- pixel_y = -25
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
"aYE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -27181,20 +27882,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/chapel/chapel_morgue)
-"aYG" = (
-/obj/effect/floor_decal/chapel{
- dir = 8
- },
-/obj/structure/cable/green{
- icon_state = "1-2"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aYH" = (
-/obj/structure/table/bench/padded,
-/obj/effect/floor_decal/chapel,
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aYJ" = (
/obj/structure/cable/green{
icon_state = "4-8"
@@ -27205,18 +27892,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/bridge_hallway)
-"aYK" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
- },
-/obj/structure/cable/green{
- icon_state = "2-4"
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
"aYL" = (
/obj/structure/cable/green{
icon_state = "4-8"
@@ -27289,39 +27964,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/chapel/chapel_morgue)
-"aYQ" = (
-/obj/machinery/door/airlock/glass{
- name = "Chapel"
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/glass,
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aYR" = (
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/cable/green{
- d1 = 1;
- d2 = 8;
- icon_state = "1-8"
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aYS" = (
-/obj/structure/cable/green{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aYT" = (
/obj/machinery/power/apc{
dir = 4;
@@ -27335,27 +27977,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/bridge_hallway)
-"aYU" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aYV" = (
-/obj/structure/table/woodentable,
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 8
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
"aYW" = (
/obj/structure/closet/coffin,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
@@ -27376,26 +27997,6 @@
},
/turf/simulated/floor/wood,
/area/bridge/meeting_room)
-"aYY" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/light_switch{
- dir = 4;
- on = 0;
- pixel_x = -24;
- pixel_y = 20
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
"aYZ" = (
/obj/structure/grille,
/obj/machinery/door/firedoor/glass,
@@ -27407,14 +28008,6 @@
can_open = 0
},
/area/maintenance/lower/bar)
-"aZc" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/structure/disposalpipe/segment,
-/turf/simulated/floor/lino,
-/area/chapel/office)
"aZe" = (
/obj/structure/cable/green{
icon_state = "4-8"
@@ -27452,64 +28045,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
/area/maintenance/commandmaint)
-"aZi" = (
-/obj/structure/table/woodentable,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aZj" = (
-/obj/item/weapon/stool/padded,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aZk" = (
-/obj/machinery/door/airlock{
- name = "Chapel Office";
- req_access = list(27)
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/door/firedoor/glass,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/office)
"aZl" = (
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
@@ -27526,99 +28061,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
-"aZm" = (
-/obj/machinery/power/apc{
- dir = 4;
- name = "east bump";
- pixel_x = 24
- },
-/obj/structure/cable/green{
- d2 = 8;
- dir = 2;
- icon_state = "0-8"
- },
-/obj/structure/cable/green{
- icon_state = "1-8"
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
-"aZn" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
-"aZo" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/alarm{
- alarm_id = "anomaly_testing";
- breach_detection = 0;
- dir = 8;
- frequency = 1439;
- pixel_x = 22;
- pixel_y = 0;
- report_danger_level = 0
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
-"aZp" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
-"aZq" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 8
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aZr" = (
-/obj/structure/table/woodentable,
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 8
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aZs" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/button/remote/blast_door{
- desc = "A remote control-switch for shutters.";
- id = "chapel_obs";
- layer = 3.3;
- name = "Chapel Observation Shutters";
- pixel_x = 6;
- pixel_y = -29;
- req_access = list(27)
- },
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
"aZt" = (
/obj/structure/closet/crate,
/obj/random/cash,
@@ -27626,21 +28068,6 @@
/obj/random/drinkbottle,
/turf/simulated/floor/plating,
/area/maintenance/lower/mining)
-"aZu" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
-"aZv" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
"aZw" = (
/obj/item/toy/plushie/kitten{
desc = "An odd appearing, cryptic plush of a cat.";
@@ -27707,15 +28134,6 @@
/obj/random/trash_pile,
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/south)
-"aZD" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 8
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
"aZE" = (
/obj/structure/table/bench/padded,
/obj/effect/floor_decal/chapel{
@@ -27723,82 +28141,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/chapel/main)
-"aZF" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 8
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZG" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZH" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZI" = (
-/obj/machinery/door/blast/shutters{
- dir = 2;
- id = "chapel_obs";
- name = "Chapel Observation"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
-"aZJ" = (
-/obj/structure/table/bench/padded,
-/obj/effect/floor_decal/chapel,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 6
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZK" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZL" = (
-/obj/effect/floor_decal/chapel{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZM" = (
-/obj/structure/table/bench/padded,
-/obj/effect/floor_decal/chapel,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"aZN" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -27838,88 +28180,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/commandmaint)
-"aZS" = (
-/obj/structure/disposalpipe/segment,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZT" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5;
- icon_state = "intact-supply"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5;
- icon_state = "intact-scrubbers"
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZU" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 9
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZV" = (
-/obj/machinery/light_switch{
- dir = 2;
- name = "light switch ";
- pixel_x = 0;
- pixel_y = 26
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
-"aZW" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
- },
-/obj/machinery/light_switch{
- dir = 4;
- on = 0;
- pixel_x = -28
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
-"aZX" = (
-/obj/machinery/firealarm{
- dir = 1;
- pixel_x = 0;
- pixel_y = -26
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"aZY" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment,
-/obj/machinery/door/airlock/maintenance/common,
-/turf/simulated/floor/tiled/techfloor,
-/area/chapel/main)
"aZZ" = (
/obj/structure/catwalk,
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
@@ -27977,22 +28237,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/lower/south)
-"bad" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/visible/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
"bae" = (
/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{
dir = 4
@@ -28011,26 +28255,6 @@
/obj/machinery/door/airlock/maintenance/common,
/turf/simulated/floor/tiled/techfloor/grid,
/area/maintenance/lower/south)
-"baf" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/visible/supply{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
"bag" = (
/obj/item/device/radio/intercom{
broadcasting = 1;
@@ -28049,32 +28273,6 @@
},
/turf/simulated/floor/tiled/dark,
/area/chapel/main)
-"bah" = (
-/obj/item/device/radio/intercom{
- broadcasting = 1;
- dir = 2;
- frequency = 1473;
- name = "Confession Intercom";
- pixel_x = 0;
- pixel_y = -24
- },
-/obj/structure/bed/chair{
- dir = 8
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
-"bai" = (
-/obj/structure/catwalk,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/supply,
-/turf/simulated/floor/plating,
-/area/maintenance/lower/south)
"baj" = (
/obj/effect/floor_decal/corner_techfloor_grid{
dir = 9
@@ -28152,7 +28350,10 @@
/obj/effect/floor_decal/corner_techfloor_grid{
dir = 10
},
-/mob/living/simple_mob/animal/passive/lizard,
+/mob/living/simple_mob/animal/passive/lizard{
+ desc = "It's the secret head of Janitoria!";
+ name = "Bucket"
+ },
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/south)
"bau" = (
@@ -28236,18 +28437,6 @@
/obj/random/maintenance/clean,
/turf/simulated/floor,
/area/maintenance/lower/south)
-"baG" = (
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/lino,
-/area/chapel/office)
"baH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
@@ -28333,33 +28522,10 @@
},
/turf/simulated/floor/plating,
/area/maintenance/substation/command)
-"baX" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/simulated/floor/carpet,
-/area/chapel/main)
"baY" = (
/obj/machinery/light/small,
/turf/simulated/floor/tiled/dark,
/area/chapel/main)
-"baZ" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/chapel_morgue)
-"bba" = (
-/obj/structure/table/bench/padded,
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 1
- },
-/turf/simulated/floor/tiled/dark,
-/area/chapel/main)
"bcC" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -28707,21 +28873,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
-"jfF" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/surface_two_hall)
"jnL" = (
/obj/effect/floor_decal/borderfloor{
dir = 4
@@ -28907,22 +29058,6 @@
/obj/machinery/door/firedoor/glass/hidden,
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
-"nGX" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
-/turf/simulated/floor/tiled/techmaint,
-/area/tether/surfacebase/surface_two_hall)
"nKP" = (
/obj/machinery/alarm{
dir = 8;
@@ -29570,27 +29705,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/tether/surfacebase/surface_two_hall)
-"xIc" = (
-/obj/structure/catwalk,
-/obj/machinery/atmospherics/pipe/simple/visible/supply{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers,
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/obj/structure/cable/green{
- d1 = 1;
- d2 = 8;
- icon_state = "1-8"
- },
-/obj/machinery/alarm{
- dir = 1;
- pixel_y = -25
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lower/bar)
"xPU" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -43038,18 +43152,18 @@ agw
agw
aoC
apf
-apO
+azm
aqF
arj
arX
asN
att
auc
-auM
-avh
-avT
-axz
-axz
+aHH
+aHW
+aIs
+aLt
+aOA
axz
ayQ
azJ
@@ -43180,7 +43294,7 @@ agw
agw
aoC
apf
-apP
+azn
aqp
ark
arY
@@ -43189,9 +43303,9 @@ arY
arY
auN
aAA
-avU
-arY
-axA
+aJC
+aMA
+aOB
arY
ark
arY
@@ -43322,7 +43436,7 @@ agx
agx
aoD
apf
-apP
+azn
aqD
arl
arl
@@ -43332,7 +43446,7 @@ arl
arl
arl
arl
-arl
+aNc
axB
axB
axB
@@ -43464,7 +43578,7 @@ nUt
nUt
emJ
iGv
-nGX
+azK
aqE
adY
aac
@@ -43473,8 +43587,8 @@ aac
aac
aac
aac
-aac
-aac
+arZ
+aZZ
axB
ayi
ayR
@@ -43606,7 +43720,7 @@ afG
afG
wQg
afG
-jfF
+afG
aqD
adY
aZw
@@ -43615,8 +43729,8 @@ aac
aac
aac
aac
-aac
-aac
+arZ
+baa
axB
ayj
ayS
@@ -43747,9 +43861,9 @@ afG
anu
jnL
jfi
-aiE
-apP
-aSL
+afM
+afM
+aCV
adY
aZx
aZz
@@ -43757,8 +43871,8 @@ aZA
aac
aac
aac
-aac
-aac
+arZ
+avi
axB
ayk
ayT
@@ -43879,28 +43993,28 @@ adY
adY
aiF
ajd
+adY
+adY
+adY
aYd
-aYd
-aYd
-aYd
-aYQ
+amN
agY
-anj
-aYd
-aYd
-aYd
-aYd
-ajL
-adY
-adY
+aqJ
+aoE
+aoE
+api
+aoE
+api
+aoE
+aoE
arZ
arZ
arZ
arZ
arZ
aac
-aac
-aac
+arZ
+bac
axB
ayl
ayU
@@ -44021,28 +44135,28 @@ aau
ahR
adu
lVd
+alK
+amm
+amm
aYd
-ajZ
-aYt
-aYG
-aYR
-ajY
-ajY
-aXi
-aXk
-ame
-aYd
-aZZ
-arZ
+amR
+ant
+aro
+api
+aup
+avh
+awK
+aAf
+amS
+aoE
baj
bam
bap
-bap
aud
arZ
arZ
arZ
-arZ
+bae
axB
aym
ayU
@@ -44163,28 +44277,28 @@ ahP
ain
adu
lVd
+alN
+amm
+amm
aYd
+and
+anw
aqT
-aYu
-aYH
-aYS
-amM
-aro
-aZE
-aZJ
-bba
-aYd
-baa
-arZ
+aoE
+auM
+avo
+awL
+aAg
+aPD
+aoE
bak
avX
avX
-avX
baw
arZ
aZB
avV
-awL
+aNg
axB
ayn
ayV
@@ -44304,29 +44418,29 @@ aju
aju
aip
aiI
-xIc
+ajH
+amb
+amm
+amx
aYd
-aYj
-aXu
-aro
-aro
-ang
-aro
-aro
-aXq
-aZX
-aYd
-avi
-arZ
+ane
+aoy
+aqY
+arm
+auP
+avT
+awM
+aih
+aih
+aoE
aFR
aDN
-aDN
aDM
aDM
arZ
avk
avW
-avW
+aNC
axB
axB
ayW
@@ -44447,28 +44561,28 @@ aju
ais
adu
dQd
+alN
+amm
+amm
aYd
-aQW
-aYv
-aXy
+anf
+aoV
aro
-anh
-aro
-aXy
-aZK
-aRa
-aYd
-bac
-arZ
+aoE
+auW
+avU
+avU
+aBn
+aCY
+aoE
aDN
ban
aDN
-aDN
aDM
arZ
avl
avW
-avW
+aNC
aDM
ayo
ayX
@@ -44589,28 +44703,28 @@ aid
aiq
adu
dQd
+alK
+amm
+amm
aYd
-aYe
-aYw
-aXk
+anf
+aoV
aro
-ang
-aro
-aXi
-aZL
-ajV
-aYd
-bad
-arZ
+api
+aih
+aih
+axA
+aBA
+aFa
+aoE
+aDN
+aDN
bal
-aDN
-aDN
-aDN
arZ
arZ
avm
avW
-awM
+aOv
axD
ayp
ayY
@@ -44732,27 +44846,27 @@ adu
adu
ajc
aYd
-aXy
-aYx
-aYH
-aro
-ang
-aro
-aZE
-aZM
-aXy
aYd
-bae
-arZ
+aYd
+aYd
+anf
+aoV
+aro
+aoE
+api
+api
+aoE
+aoE
+aoE
+aoE
arZ
bao
arZ
arZ
-arZ
auO
avn
avX
-avX
+aOy
axE
ayp
ayZ
@@ -44874,27 +44988,27 @@ aif
aiH
aiX
ajs
-aYl
-aYy
-aYl
-aYU
-ani
-aZq
-aZF
-aZS
-aYl
-aZY
-baf
-bai
-bai
-bai
-bai
-bai
+amn
+amn
+amL
+ang
+apL
+amn
auf
-auP
-avo
-avY
-awN
+amn
+amn
+aya
+aBB
+aFY
+aFY
+aFY
+aFY
+aFY
+aGa
+aHU
+aHX
+aJE
+aOz
awN
ayq
aza
@@ -45019,12 +45133,12 @@ ajJ
aro
aro
aro
-aYV
-aZi
-aZr
-aZG
-aro
-aro
+anh
+aOP
+aPk
+aOI
+aPv
+baY
aYd
aDN
aDN
@@ -45153,20 +45267,20 @@ aee
adL
adu
amP
-aoE
-aiL
-aiL
-aoE
-aoE
-api
-api
-aoE
-aZV
-aZj
-baX
-aZG
+aYd
+ahW
+ahW
+agY
+aYd
aro
aro
+aro
+ani
+apP
+aXy
+aro
+ani
+aXk
aYd
arZ
arZ
@@ -45295,20 +45409,20 @@ aee
adL
adu
ahP
-aiL
ahW
-ahW
-amR
-aoE
-aYm
-amS
-aoE
-aoE
-aZk
-aoE
-aZG
-aro
+ait
+aiK
+ajL
+aYd
+amu
+ajY
+ajY
+aZE
+apQ
+aXy
aro
+aZE
+avY
aGN
bag
aYd
@@ -45436,21 +45550,21 @@ aee
aee
adL
adu
-ahV
-aoE
-air
-aiK
-ait
-aiG
-aih
-aYB
-aPT
-aZW
-aZp
-api
-aZG
+afJ
+aYd
+aiv
+aiL
+aiL
+amd
+ajY
+apO
+aqG
+aOE
+aOU
+aro
+aro
+aro
aro
-baY
aYd
aue
aYd
@@ -45579,22 +45693,22 @@ aef
ahl
adu
ahX
-aiL
-ait
-amN
-ane
+aYd
+aiG
aiZ
-aiv
-ajH
-ajX
-aZc
-baG
-api
-aZG
-aro
+ait
+aYd
+amv
+amz
+ajY
+ajY
+aqv
+ajY
+ajY
+ajY
aro
ase
-bah
+aBY
aYd
aac
arZ
@@ -45711,29 +45825,29 @@ adu
adu
adu
adu
+afJ
adu
adu
adu
adu
adu
-adu
-adu
+ahV
adu
adu
aig
-aoE
-aiL
-aiL
-aiL
-aoE
-aqY
-anf
-aYK
-amL
-aZm
-api
-aZH
-aZT
+aYd
+ait
+ajb
+ajO
+ahW
+ajY
+aqo
+aOC
+aOI
+aPb
+aro
+aro
+aro
aro
aYd
aYd
@@ -45852,31 +45966,31 @@ aac
aac
aac
aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
adu
-aiJ
-aiM
ahP
ajt
ajt
-aoE
-aoE
-aoE
-ajW
-aoE
-aoE
-aoE
-ajT
-aZG
+adu
+aac
+adu
+ahP
+adu
+adu
+adu
+aYd
+aYd
+ahW
+aYd
+aYd
+amu
+ajY
+ajY
+ani
+apP
+aXy
aro
+ani
+aXk
aYd
aac
aac
@@ -45994,31 +46108,31 @@ aac
aac
aac
aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-adu
-adu
adu
ahP
ahP
ahP
+adu
+aac
+adu
+ahP
ajT
-arq
-aPu
-aYY
-aYZ
-baZ
-aZs
+afZ
+aga
+air
+aiJ
+ajo
+ajR
ajT
-aZG
aro
+aro
+aro
+aZE
+apQ
+aXy
+aro
+aZE
+avY
aYd
aoF
aoF
@@ -46136,31 +46250,31 @@ aac
aac
aac
aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
adu
aio
amQ
+aiM
+adu
+aac
+adu
ahP
amO
aYp
aYp
aYM
-aYZ
-aZn
-aZu
-aZI
-aZU
-ajD
+ajT
+ajp
+ajV
+ame
+amw
+amw
+amw
+anj
+aPd
+aPu
+aOE
+aPB
+aro
aYd
app
app
@@ -46278,30 +46392,30 @@ aac
aac
aac
aac
-aab
-aac
-aac
-aab
-aab
-aac
-aac
-aac
-aac
-aac
-aac
adu
adu
adu
adu
+adu
+aac
+adu
+ahP
ajT
-aYq
-aYE
-aYO
+arq
+agf
+aYM
aYZ
-aZn
-aZv
+ajq
+ajW
ajT
aiN
+aro
+amM
+aro
+aro
+aro
+amM
+aro
aQu
aYd
apq
@@ -46426,26 +46540,26 @@ aab
aab
aab
aab
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-aac
+adu
+afK
ajT
-aYW
-aYF
-aYP
+aYp
+agy
+aYM
aYZ
-aZo
-aZD
+ajq
+ajX
ajT
ajr
ajr
aYd
+ajr
+ajr
+ajr
+aYd
+ajr
+ajr
+aYd
apq
apq
apq
@@ -46570,21 +46684,21 @@ aab
aab
aab
aab
-aac
-aac
-aac
-aac
-aac
-aac
-aac
-ajT
-ajT
-ajT
-ajT
-ajT
-ajT
ajT
+aYq
+aYE
+aYO
+aYZ
+ajq
+ajX
ajT
+apq
+ajM
+aUa
+ajM
+ajM
+ajM
+ajM
ajM
ajM
apq
@@ -46712,18 +46826,18 @@ aab
aab
aab
aab
-aab
-aab
-aac
-aac
-aac
-aab
-aab
-aab
+ajT
+aYW
+aYF
+aYP
+aYZ
+ajD
+ajZ
+ajT
aab
ajM
ajM
-aUa
+ajM
ajM
ajM
ajM
@@ -46854,14 +46968,14 @@ aab
aab
aab
aab
-aab
-aab
-aab
-aab
-aab
-aab
-aab
-aab
+ajT
+ajT
+ajT
+ajT
+ajT
+ajT
+ajT
+ajT
aab
ajM
ajM
@@ -46998,9 +47112,9 @@ aab
aab
aab
aab
-aab
-aab
-aab
+aac
+aac
+aac
aab
aab
aab
@@ -47715,8 +47829,8 @@ aab
aab
aab
aab
-ajM
-ajM
+acD
+acD
ajM
ajM
ajM
@@ -47857,8 +47971,8 @@ aab
aab
aab
aab
-ajM
-ajM
+acD
+acD
ajM
ajM
ajM
diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm
index 2b9e9a70d5..47deba118b 100644
--- a/maps/tether/tether-03-surface3.dmm
+++ b/maps/tether/tether-03-surface3.dmm
@@ -13707,15 +13707,9 @@
/turf/simulated/floor/carpet,
/area/tether/surfacebase/library/study)
"axX" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/mob/living/simple_mob/vore/rabbit/white/lennie,
-/turf/simulated/floor/grass,
-/area/hydroponics)
+/obj/structure/sign/department/chapel,
+/turf/simulated/wall/r_wall,
+/area/vacant/vacant_shop)
"axY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/wood,
@@ -30944,10 +30938,10 @@
/turf/simulated/floor/lino,
/area/tether/surfacebase/entertainment/backstage)
"bcj" = (
-/obj/machinery/vending/loadout/costume,
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
},
+/obj/machinery/vending/entertainer,
/turf/simulated/floor/lino,
/area/tether/surfacebase/entertainment/backstage)
"bck" = (
@@ -31338,10 +31332,15 @@
/turf/simulated/floor/wood,
/area/tether/surfacebase/entertainment)
"bcN" = (
-/obj/structure/shuttle/engine/propulsion,
-/turf/simulated/floor/reinforced,
-/turf/simulated/shuttle/plating/carry,
-/area/shuttle/tether)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/mob/living/simple_mob/vore/rabbit/white/lennie,
+/turf/simulated/floor/tiled,
+/area/hydroponics)
"bcO" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -31564,12 +31563,10 @@
/turf/simulated/floor/lino,
/area/tether/surfacebase/entertainment/backstage)
"bde" = (
-/obj/machinery/atmospherics/unary/engine{
- dir = 1
- },
+/obj/structure/shuttle/engine/propulsion,
/turf/simulated/floor/reinforced,
/turf/simulated/shuttle/plating/carry,
-/area/shuttle/tourbus/engines)
+/area/shuttle/tether)
"bdf" = (
/obj/structure/disposalpipe/segment{
dir = 8
@@ -32430,14 +32427,12 @@
/turf/simulated/floor/tiled,
/area/hydroponics)
"beN" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/machinery/atmospherics/unary/engine{
+ dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 8
- },
-/turf/simulated/floor/tiled,
-/area/hydroponics)
+/turf/simulated/floor/reinforced,
+/turf/simulated/shuttle/plating/carry,
+/area/shuttle/tourbus/engines)
"beO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -47804,7 +47799,7 @@ jML
jHw
jpB
qWU
-bde
+beN
aKU
aOI
aPb
@@ -48656,7 +48651,7 @@ caw
jHw
gHh
qWU
-bde
+beN
aKU
aOI
aPb
@@ -50641,7 +50636,7 @@ aNk
uSA
aNJ
aNP
-bcN
+bde
aKU
abg
aOk
@@ -50783,7 +50778,7 @@ aNl
aNl
aNK
aNP
-bcN
+bde
aKU
abg
aOk
@@ -50925,7 +50920,7 @@ aNm
aNl
aNK
aNP
-bcN
+bde
aKU
abg
aOk
@@ -51163,7 +51158,7 @@ amc
aio
rXW
lXv
-aol
+axX
alY
alY
agw
@@ -52310,7 +52305,7 @@ aTF
bdC
beC
beK
-beN
+bcN
bcg
anN
atA
@@ -53153,9 +53148,9 @@ axq
atg
aSy
aop
-arZ
+aop
bdk
-axX
+ask
aVy
aLg
aFM
@@ -54000,7 +53995,7 @@ acV
avb
awu
arL
-aop
+arZ
aop
asQ
auk
diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm
index 23c94f3b30..11972d9de4 100644
--- a/maps/tether/tether_defines.dm
+++ b/maps/tether/tether_defines.dm
@@ -87,7 +87,7 @@
shuttle_recall_message = "The scheduled crew transfer has been cancelled."
shuttle_name = "Automated Tram"
emergency_shuttle_docked_message = "The evacuation tram has arrived at the tram station. You have approximately %ETD% to board the tram."
- emergency_shuttle_leaving_dock = "The emergency tram has left the station. Estimate %ETA% until the shuttle arrives at %dock_name%."
+ emergency_shuttle_leaving_dock = "The emergency tram has left the station. Estimate %ETA% until the tram arrives at %dock_name%."
emergency_shuttle_called_message = "An emergency evacuation has begun, and an off-schedule tram has been called. It will arrive at the tram station in approximately %ETA%."
emergency_shuttle_recall_message = "The evacuation tram has been recalled."
@@ -288,8 +288,8 @@
// For making the 6-in-1 holomap, we calculate some offsets
#define TETHER_MAP_SIZE 140 // Width and height of compiled in tether z levels.
#define TETHER_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns
-#define TETHER_HOLOMAP_MARGIN_X ((HOLOMAP_ICON_SIZE - (2*TETHER_MAP_SIZE) - TETHER_HOLOMAP_CENTER_GUTTER) / 2) // 100
-#define TETHER_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*TETHER_MAP_SIZE)) / 2) // 60
+#define TETHER_HOLOMAP_MARGIN_X ((HOLOMAP_ICON_SIZE - (2*TETHER_MAP_SIZE) - TETHER_HOLOMAP_CENTER_GUTTER) / 2) // 80
+#define TETHER_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*TETHER_MAP_SIZE)) / 2) // 30
// We have a bunch of stuff common to the station z levels
/datum/map_z_level/tether/station
diff --git a/maps/tether/tether_jobs.dm b/maps/tether/tether_jobs.dm
index f7f03758d6..a737f96bd0 100644
--- a/maps/tether/tether_jobs.dm
+++ b/maps/tether/tether_jobs.dm
@@ -28,6 +28,10 @@
pto_type = null
access = list(access_talon)
minimal_access = list(access_talon)
+ alt_titles = list("Talon Commander" = /datum/alt_title/talon_commander)
+
+/datum/alt_title/talon_commander
+ title = "Talon Commander"
/datum/job/talon_doctor
title = "Talon Doctor"
@@ -48,6 +52,11 @@
pto_type = null
access = list(access_talon)
minimal_access = list(access_talon)
+ alt_titles = list("Talon Medic" = /datum/alt_title/talon_medic)
+
+/datum/alt_title/talon_medic
+ title = "Talon Medic"
+
/datum/job/talon_engineer
title = "Talon Engineer"
@@ -68,6 +77,11 @@
pto_type = null
access = list(access_talon)
minimal_access = list(access_talon)
+ alt_titles = list("Talon Technician" = /datum/alt_title/talon_tech)
+
+/datum/alt_title/talon_tech
+ title = "Talon Technician"
+
/datum/job/talon_pilot
title = "Talon Pilot"
@@ -88,6 +102,11 @@
pto_type = null
access = list(access_talon)
minimal_access = list(access_talon)
+ alt_titles = list("Talon Helmsman" = /datum/alt_title/talon_helmsman)
+
+/datum/alt_title/talon_helmsman
+ title = "Talon Helmsman"
+
/datum/job/talon_guard
title = "Talon Guard"
@@ -108,6 +127,11 @@
pto_type = null
access = list(access_talon)
minimal_access = list(access_talon)
+ alt_titles = list("Talon Security" = /datum/alt_title/talon_security)
+
+/datum/alt_title/talon_security
+ title = "Talon Security"
+
/decl/hierarchy/outfit/job/talon_captain
name = OUTFIT_JOB_NAME("Talon Captain")
diff --git a/rust_g b/rust_g
deleted file mode 100644
index 57684fff77..0000000000
Binary files a/rust_g and /dev/null differ
diff --git a/rust_g.dll b/rust_g.dll
index 9438c14445..5e60ff2cd4 100644
Binary files a/rust_g.dll and b/rust_g.dll differ
diff --git a/sound/ambience/alarm4.ogg b/sound/ambience/alarm4.ogg
index 0df767c0d2..40ce18bfa3 100644
Binary files a/sound/ambience/alarm4.ogg and b/sound/ambience/alarm4.ogg differ
diff --git a/sound/ambience/alarm417_20.ogg b/sound/ambience/alarm417_20.ogg
new file mode 100644
index 0000000000..0df767c0d2
Binary files /dev/null and b/sound/ambience/alarm417_20.ogg differ
diff --git a/sound/items/small_motor/motor_end.ogg b/sound/items/small_motor/motor_end.ogg
new file mode 100644
index 0000000000..e175bfad46
Binary files /dev/null and b/sound/items/small_motor/motor_end.ogg differ
diff --git a/sound/items/small_motor/motor_fast.ogg b/sound/items/small_motor/motor_fast.ogg
new file mode 100644
index 0000000000..317ca4be4f
Binary files /dev/null and b/sound/items/small_motor/motor_fast.ogg differ
diff --git a/sound/items/small_motor/motor_faster.ogg b/sound/items/small_motor/motor_faster.ogg
new file mode 100644
index 0000000000..bc8e89d495
Binary files /dev/null and b/sound/items/small_motor/motor_faster.ogg differ
diff --git a/sound/items/small_motor/motor_idle.ogg b/sound/items/small_motor/motor_idle.ogg
new file mode 100644
index 0000000000..01bc22de51
Binary files /dev/null and b/sound/items/small_motor/motor_idle.ogg differ
diff --git a/sound/items/small_motor/motor_pull_attempt.ogg b/sound/items/small_motor/motor_pull_attempt.ogg
new file mode 100644
index 0000000000..d7475dbae2
Binary files /dev/null and b/sound/items/small_motor/motor_pull_attempt.ogg differ
diff --git a/sound/items/small_motor/motor_start_nopull.ogg b/sound/items/small_motor/motor_start_nopull.ogg
new file mode 100644
index 0000000000..35bb4c6e6c
Binary files /dev/null and b/sound/items/small_motor/motor_start_nopull.ogg differ
diff --git a/sound/items/small_motor/motor_start_pull.ogg b/sound/items/small_motor/motor_start_pull.ogg
new file mode 100644
index 0000000000..45e456077e
Binary files /dev/null and b/sound/items/small_motor/motor_start_pull.ogg differ
diff --git a/tgui/packages/tgui/interfaces/ClawMachine.js b/tgui/packages/tgui/interfaces/ClawMachine.js
new file mode 100644
index 0000000000..6eb372b0c3
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/ClawMachine.js
@@ -0,0 +1,85 @@
+import { useBackend } from "../backend";
+import { Button, ProgressBar, Flex, Box, LabeledList } from "../components";
+import { Window } from "../layouts";
+
+export const ClawMachine = (props, context) => {
+ const { act, data } = useBackend(context);
+ const {
+ wintick,
+ instructions,
+ gameStatus,
+ winscreen,
+ } = data;
+
+ let body;
+
+ if (gameStatus === 'CLAWMACHINE_NEW') {
+ body = (
+
+
+ Pay to Play!
+ {instructions}
+
+
+ );
+ }
+ else if (gameStatus === 'CLAWMACHINE_END') {
+ body = (
+
+
+ Thank you for playing!
+ {winscreen}
+
+
+ );
+ }
+ else if (gameStatus === 'CLAWMACHINE_ON') {
+ body = (
+
+
+
+
+
+
+
+
+ {instructions}
+