diff --git a/code/__DEFINES/ARES.dm b/code/__DEFINES/ARES.dm index ec84a6ab5992..a1b82af25821 100644 --- a/code/__DEFINES/ARES.dm +++ b/code/__DEFINES/ARES.dm @@ -26,6 +26,7 @@ #define ARES_RECORD_SECURITY "Security Update" #define ARES_RECORD_MAINTENANCE "Maintenance Ticket" #define ARES_RECORD_ACCESS "Access Ticket" +#define ARES_RECORD_FLIGHT "Flight Record" /// Not by ARES logged through marine_announcement() #define ARES_LOG_NONE 0 @@ -34,13 +35,14 @@ /// Logged in the security updates #define ARES_LOG_SECURITY 2 -/// Access levels specifically for Working Joe management console -#define APOLLO_ACCESS_REQUEST 0 -#define APOLLO_ACCESS_REPORTER 1 -#define APOLLO_ACCESS_TEMP 2 -#define APOLLO_ACCESS_AUTHED 3 -#define APOLLO_ACCESS_JOE 4 -#define APOLLO_ACCESS_DEBUG 5 +// Access levels specifically for Working Joe management console +#define APOLLO_ACCESS_LOGOUT 0 +#define APOLLO_ACCESS_REQUEST 1 +#define APOLLO_ACCESS_REPORTER 2 +#define APOLLO_ACCESS_TEMP 3 +#define APOLLO_ACCESS_AUTHED 4 +#define APOLLO_ACCESS_JOE 5 +#define APOLLO_ACCESS_DEBUG 6 /// Ticket statuses, both for Access and Maintenance /// Pending assignment/rejection @@ -54,6 +56,13 @@ /// Completed by WJs #define TICKET_COMPLETED "completed" +/// Granted Access Ticket +#define TICKET_GRANTED "granted" +/// Revoked Access Ticket +#define TICKET_REVOKED "revoked" +/// Self-Returned Access Ticket +#define TICKET_RETURNED "returned" + /// Checks for if buttons can be used, these may yet be removed and internalised to the UI programming #define TICKET_OPEN "OPEN" #define TICKET_CLOSED "CLOSED" diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index fcc3e7784cb5..3abd79708f7a 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -41,3 +41,4 @@ var/MAX_EXPLOSION_RANGE = 14 /// Used in /obj/structure/pipes/vents/proc/create_gas #define VENT_GAS_SMOKE "Smoke" #define VENT_GAS_CN20 "CN20 Nerve Gas" +#define VENT_GAS_CN20_XENO "CN20-X Nerve Gas" diff --git a/code/__DEFINES/conflict.dm b/code/__DEFINES/conflict.dm index 241bcb469622..0820c709cdae 100644 --- a/code/__DEFINES/conflict.dm +++ b/code/__DEFINES/conflict.dm @@ -26,7 +26,7 @@ #define AMMO_IGNORE_RESIST (1<<10) #define AMMO_BALLISTIC (1<<11) #define AMMO_IGNORE_COVER (1<<12) -// (1<<13) unused, previously was AMMO_SCANS_NEARBY +#define AMMO_ANTIVEHICLE (1<<13) #define AMMO_STOPPED_BY_COVER (1<<14) #define AMMO_SPECIAL_EMBED (1<<15) /// If the projectile hits a dense turf it'll do on_hit_turf on the turf just in front of the turf instead of on the turf itself diff --git a/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm b/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm index b38339d1af17..0a9e00b59e04 100644 --- a/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm +++ b/code/__DEFINES/dcs/signals/atom/mob/living/signals_human.dm @@ -12,7 +12,7 @@ #define COMSIG_HUMAN_REVIVED "human_revived" /// From /mob/living/carbon/human/bullet_act #define COMSIG_HUMAN_PRE_BULLET_ACT "human_pre_bullet_act" -/// From /mob/living/carbon/human/bullet_act(): (damage_result, ammo_flags, obj/item/projectile/P) +/// From /mob/living/carbon/human/bullet_act(): (damage_result, ammo_flags, obj/projectile/P) #define COMSIG_HUMAN_BULLET_ACT "human_bullet_act" #define COMPONENT_CANCEL_BULLET_ACT (1<<0) diff --git a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm index 323e0ee6966c..9eff6fa3ddc8 100644 --- a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm +++ b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm @@ -116,3 +116,9 @@ #define COMSIG_MOB_MOUSEDRAG "mob_mousedrag" //from /client/MouseDrag(): (atom/src_object, atom/over_object, turf/src_location, turf/over_location, src_control, over_control, params) #define COMSIG_MOB_CLICK_CANCELED (1<<0) #define COMSIG_MOB_CLICK_HANDLED (1<<1) + +#define COMSIG_MOB_DEPLOYED_BIPOD "mob_deployed_bipod" +#define COMSIG_MOB_UNDEPLOYED_BIPOD "mob_undeployed_bipod" + +/// From /obj/item/proc/pickup() : (obj/item/picked_up) +#define COMSIG_MOB_PICKUP_ITEM "mob_pickup_item" diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.dm b/code/__DEFINES/dcs/signals/atom/signals_item.dm index b7bbca9f64a3..6c31b77f76a4 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_item.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_item.dm @@ -55,6 +55,11 @@ #define COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED "gun_burst_shots_to_fire_modified" #define COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED "gun_burst_shot_delay_modified" +#define COMSIG_GUN_VULTURE_FIRED_ONEHAND "gun_vulture_fired_onehand" +#define COMSIG_VULTURE_SCOPE_MOVED "vulture_scope_moved" +#define COMSIG_VULTURE_SCOPE_SCOPED "vulture_scope_scoped" +#define COMSIG_VULTURE_SCOPE_UNSCOPED "vulture_scope_unscoped" + /// from /obj/item/weapon/gun/proc/recalculate_attachment_bonuses() : () #define COMSIG_GUN_RECALCULATE_ATTACHMENT_BONUSES "gun_recalculate_attachment_bonuses" diff --git a/code/__DEFINES/dcs/signals/atom/signals_projectile.dm b/code/__DEFINES/dcs/signals/atom/signals_projectile.dm index 861f351a1f58..46014d5351d5 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_projectile.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_projectile.dm @@ -15,17 +15,17 @@ #define COMSIG_AMMO_POINT_BLANK "ammo_point_blank" #define COMPONENT_CANCEL_AMMO_POINT_BLANK (1<<0) -/// From /obj/item/projectile/handle_mob(): (mob/living/target) +/// From /obj/projectile/handle_mob(): (mob/living/target) #define COMSIG_BULLET_PRE_HANDLE_MOB "bullet_pre_handle_mob" -/// From /obj/item/projectile/handle_mob(): (mob/living/target) +/// From /obj/projectile/handle_mob(): (mob/living/target) #define COMSIG_BULLET_POST_HANDLE_MOB "bullet_post_handle_mob" -/// From /obj/item/projectile/handle_obj(): (obj/target, did_hit) +/// From /obj/projectile/handle_obj(): (obj/target, did_hit) #define COMSIG_BULLET_POST_HANDLE_OBJ "bullet_post_handle_obj" -/// From /obj/item/projectile/handle_obj(): (obj/target) +/// From /obj/projectile/handle_obj(): (obj/target) #define COMSIG_BULLET_PRE_HANDLE_OBJ "bullet_pre_handle_obj" -/// From /obj/item/projectile/scan_a_turf(): (turf/target) +/// From /obj/projectile/scan_a_turf(): (turf/target) #define COMSIG_BULLET_POST_HANDLE_TURF "bullet_post_handle_turf" -/// From /obj/item/projectile/scan_a_turf(): (turf/target) +/// From /obj/projectile/scan_a_turf(): (turf/target) #define COMSIG_BULLET_PRE_HANDLE_TURF "bullet_pre_handle_turf" #define COMPONENT_BULLET_PASS_THROUGH (1<<0) #define COMSIG_BULLET_TERMINAL "bullet_terminal" diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index 461eae27a2a3..82e91c5680b8 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -27,7 +27,7 @@ #define ITEM_UNCATCHABLE (1<<9) /// Used for nonstandard marine clothing to ignore 'specialty' var. #define NO_NAME_OVERRIDE (1<<10) -/// Used for armors or uniforms that don't have a snow icon state. +/// Used for armors or uniforms that don't have a snow/desert/etc icon state set via select_gamemode_skin (not all item types currently perform this test though). #define NO_SNOW_TYPE (1<<11) #define INVULNERABLE (1<<12) @@ -42,6 +42,8 @@ #define ATOM_DECORATED (1<<16) /// Whether or not the object uses hearing #define USES_HEARING (1<<17) +/// Should we use the initial icon for display? Mostly used by overlay only objects +#define HTML_USE_INITAL_ICON (1<<18) //========================================================================================== @@ -233,6 +235,8 @@ #define SLOT_LEGS (1<<13) #define SLOT_ACCESSORY (1<<14) #define SLOT_SUIT_STORE (1<<15) //this allows items to be stored in the suit slot regardless of suit +/// Anything with this flag cannot be worn in suit storage, period. +#define SLOT_BLOCK_SUIT_STORE (1<<16) //================================================= //slots diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index c57fb6624e93..37c1c82db66e 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -289,12 +289,16 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST //-------- TWE --------// #define JOB_TWE_REPRESENTATIVE "TWE Representative" -#define JOB_TWE_YONTO "RMC Yonto" -#define JOB_TWE_SANTO "RMC Santo" -#define JOB_TWE_NITO "RMC Nito" -#define JOB_TWE_ITTO "RMC Itto" +//RMC +#define JOB_TWE_RMC_RIFLEMAN "RMC Rifleman" +#define JOB_TWE_RMC_MARKSMAN "RMC Marksman" +#define JOB_TWE_RMC_SMARTGUNNER "RMC Smartgunner" +#define JOB_TWE_RMC_BREACHER "RMC Breacher" +#define JOB_TWE_RMC_TEAMLEADER "RMC Team Leader" +#define JOB_TWE_RMC_LIEUTENANT "RMC Lieutenant" +#define JOB_TWE_RMC_COMMANDER "RMC Commander" -#define TWE_COMMANDO_JOB_LIST list(JOB_TWE_YONTO, JOB_TWE_SANTO, JOB_TWE_NITO, JOB_TWE_ITTO) +#define TWE_COMMANDO_JOB_LIST list(JOB_TWE_RMC_RIFLEMAN, JOB_TWE_RMC_BREACHER, JOB_TWE_RMC_SMARTGUNNER,JOB_TWE_RMC_MARKSMAN ,JOB_TWE_RMC_TEAMLEADER, JOB_TWE_RMC_LIEUTENANT, JOB_TWE_RMC_COMMANDER) #define JOB_TWE_SEAMAN "TWE Seaman" #define JOB_TWE_LSEAMAN "TWE Leading Seaman" @@ -327,7 +331,6 @@ var/global/list/job_command_roles = JOB_COMMAND_ROLES_LIST #define JOB_TIS_SA "UAAC-TIS Special Agent" #define TIS_JOB_LIST list(JOB_TIS_SA, JOB_TIS_IO) - //-------- DUTCH'S DOZEN --------// #define JOB_DUTCH_ARNOLD "Dutch's Dozen - Dutch" #define JOB_DUTCH_RIFLEMAN "Dutch's Dozen - Rifleman" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index b55a1b7ce583..c0ccd5164b0b 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -83,10 +83,15 @@ #define ABOVE_SPECIAL_RESIN_STRUCTURE_LAYER 3.01 +/// A layer above objects (like structures) but below items +#define BETWEEN_OBJECT_ITEM_LAYER 3.01 + +/// The layer on which items lay +#define ITEM_LAYER 3.02 /// for items that should be at the top of the pile of items -#define UPPER_ITEM_LAYER 3.01 +#define UPPER_ITEM_LAYER 3.03 /// just above all items -#define ABOVE_OBJ_LAYER 3.02 +#define ABOVE_OBJ_LAYER 3.04 #define BUSH_LAYER 3.05 @@ -153,6 +158,8 @@ #define FULLSCREEN_BLIND_LAYER 17.15 /// pain flashes #define FULLSCREEN_PAIN_LAYER 17.2 +/// Vulture sniper/spotter scope +#define FULLSCREEN_VULTURE_SCOPE_LAYER 17.21 /// in critical #define FULLSCREEN_CRIT_LAYER 17.25 diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 6ca6a142beb2..cd32a273c6d8 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -6,7 +6,7 @@ #define SHUTTLE_LOCK_COOLDOWN 10 MINUTES #define MONORAIL_LOCK_COOLDOWN 3 MINUTES #define SHUTTLE_LOCK_TIME_LOCK 1 MINUTES -#define EVACUATION_AUTOMATIC_DEPARTURE 10 MINUTES //All pods automatically depart in 10 minutes, unless they are full or unable to launch for some reason. +#define EVACUATION_AUTOMATIC_DEPARTURE (10 MINUTES) //All pods automatically depart in 10 minutes, unless they are full or unable to launch for some reason. #define EVACUATION_ESTIMATE_DEPARTURE ((evac_time + EVACUATION_AUTOMATIC_DEPARTURE - world.time) * 0.1) #define EVACUATION_STATUS_STANDING_BY 0 @@ -240,8 +240,8 @@ var/global/list/whitelist_hierarchy = list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_MONKEY "Monkey" // Nanu #define FACTION_LIST_MARINE list(FACTION_MARINE) -#define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE) -#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL) +#define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE, FACTION_TWE) +#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL, FACTION_TWE) #define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index f86026a13431..e2bd155fcb0d 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -65,5 +65,7 @@ #define RADIO_CHANNEL_DUTCH_DOZEN "DD" #define RADIO_CHANNEL_VAI "VAI" #define RADIO_CHANNEL_CMB "CMB" +#define RADIO_CHANNEL_ROYAL_MARINE "Royal Marine" #define RADIO_CHANNEL_YAUTJA "Yautja" + diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index 126a8f82ece8..d283656ccae6 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -95,6 +95,7 @@ #define MOBILE_SHUTTLE_ID_ERT1 "ert_response_shuttle" #define MOBILE_SHUTTLE_ID_ERT2 "ert_pmc_shuttle" #define MOBILE_SHUTTLE_ID_ERT3 "ert_upp_shuttle" +#define MOBILE_SHUTTLE_ID_ERT4 "ert_twe_shuttle" #define MOBILE_SHUTTLE_ID_ERT_SMALL "ert_rescue_shuttle" #define MOBILE_SHUTTLE_ID_ERT_BIG "ert_boarding_shuttle" diff --git a/code/__DEFINES/skills.dm b/code/__DEFINES/skills.dm index fdd1a8f083ad..5dabb4545a32 100644 --- a/code/__DEFINES/skills.dm +++ b/code/__DEFINES/skills.dm @@ -8,6 +8,7 @@ #define SKILL_ENGINEER "engineer" #define SKILL_CONSTRUCTION "construction" #define SKILL_LEADERSHIP "leadership" +#define SKILL_OVERWATCH "overwatch" #define SKILL_MEDICAL "medical" #define SKILL_SURGERY "surgery" #define SKILL_RESEARCH "research" @@ -134,7 +135,6 @@ #define SKILL_POWERLOADER_MASTER 2 //Pilot, CT, Req, OT, CE #define SKILL_POWERLOADER_MAX 2 - //leadership skill #define SKILL_LEAD_NOVICE 0 //Anyone but the above. Using SL items is possible but painfully slow #define SKILL_LEAD_TRAINED 1 //SL @@ -142,6 +142,11 @@ #define SKILL_LEAD_MASTER 3 //XO, CO #define SKILL_LEAD_MAX 3 +//overwatch skill +#define SKILL_OVERWATCH_DEFAULT 0 +#define SKILL_OVERWATCH_TRAINED 1 //Allows use of overwatch consoles +#define SKILL_OVERWATCH_MAX 1 + //JTAC skill #define SKILL_JTAC_NOVICE 0 //Anyone but those following. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index bc939fc2450b..f36441d0a5f9 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -177,6 +177,8 @@ #define TRAIT_USING_WHEELCHAIR "t_using_wheelchair" /// If the mob will instantly go permadead upon death #define TRAIT_HARDCORE "t_hardcore" +/// If the mob is able to use the vulture rifle or spotting scope +#define TRAIT_VULTURE_USER "t_vulture_user" // -- ability traits -- /// Xenos with this trait cannot have plasma transfered to them @@ -198,11 +200,18 @@ #define TRAIT_TOOL_SIMPLE_BLOWTORCH "t_tool_simple_blowtorch" #define TRAIT_TOOL_PEN "t_tool_pen" + +/// Can lockout blackmarket from ASRS console circuits. +#define TRAIT_TOOL_TRADEBAND "t_tool_tradeband" + // CLOTHING TRAITS #define TRAIT_CLOTHING_HOOD "t_clothing_hood" // GUN TRAITS #define TRAIT_GUN_SILENCED "t_gun_silenced" + +#define TRAIT_GUN_BIPODDED "t_gun_bipodded" + #define TRAIT_GUN_LIGHT_DEACTIVATED "t_gun_light_deactivated" // Miscellaneous item traits. @@ -239,7 +248,8 @@ GLOBAL_LIST_INIT(mob_traits, list( TRAIT_LEADERSHIP, TRAIT_DEXTROUS, TRAIT_REAGENT_SCANNER, - TRAIT_ABILITY_BURROWED + TRAIT_ABILITY_BURROWED, + TRAIT_VULTURE_USER, )) /* @@ -271,6 +281,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_EMOTE_CD_EXEMPT" = TRAIT_EMOTE_CD_EXEMPT, "TRAIT_LISPING" = TRAIT_LISPING, "TRAIT_CANNOT_EAT" = TRAIT_CANNOT_EAT, + "TRAIT_VULTURE_USER" = TRAIT_VULTURE_USER, ), /mob/living/carbon/xenomorph = list( "TRAIT_ABILITY_NO_PLASMA_TRANSFER" = TRAIT_ABILITY_NO_PLASMA_TRANSFER, @@ -299,6 +310,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( ), /obj/item/weapon/gun = list( "TRAIT_GUN_SILENCED" = TRAIT_GUN_SILENCED, + "TRAIT_GUN_BIPODDED" = TRAIT_GUN_BIPODDED, ), /obj/structure/surface/table = list( "TRAIT_STRUCTURE_FLIPPING" = TRAIT_TABLE_FLIPPING, diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index ecdd9f64ec38..eb248e8a30a7 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -134,3 +134,6 @@ #define VV_HK_TOGGLEPOWER "togglepower" #define VV_HK_ADD_ITEMS_TO_VENDOR "add_items_to_vendor" + +// /obj/structure/pipes/vents +#define VV_HK_GAS "release_gas" diff --git a/code/__DEFINES/weapon_stats.dm b/code/__DEFINES/weapon_stats.dm index 590223426a66..beac54d98892 100644 --- a/code/__DEFINES/weapon_stats.dm +++ b/code/__DEFINES/weapon_stats.dm @@ -136,6 +136,7 @@ As such, don't expect any values assigned to common firearms to even consider ho //How many ticks you have to wait between firing. Burst delay uses the same variable! */ +#define FIRE_DELAY_TIER_VULTURE 20 #define FIRE_DELAY_TIER_1 12 #define FIRE_DELAY_TIER_2 10 #define FIRE_DELAY_TIER_3 9 diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index 0f822385ad13..b178f0692dd6 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -169,7 +169,7 @@ #define XENO_BURIED_LARVA_TIME_LIMIT (30 MINUTES) /// The time when xenos can start taking over comm towers -#define XENO_COMM_ACQUISITION_TIME (90 MINUTES) +#define XENO_COMM_ACQUISITION_TIME (55 MINUTES) /// The time it takes for a pylon to give one larva while activated #define XENO_PYLON_ACTIVATION_COOLDOWN (5 MINUTES) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index c05795c32b10..66ecf9ea034f 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -268,7 +268,7 @@ // copied from join as xeno var/deathtime = world.time - cur_obs.timeofdeath - if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN) || !cur_obs.bypass_time_of_death_checks)) + if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN)) && !cur_obs.bypass_time_of_death_checks) continue // AFK players cannot be drafted diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index b2ac00098c69..99f621919771 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -571,12 +571,100 @@ world I.color = color I.flick_overlay(src, time) -/proc/icon2html(thing, target, icon_state, dir = SOUTH, frame = 1, moving = FALSE, sourceonly = FALSE) +/// generates a filename for a given asset. +/// like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +/// used so that certain asset files dont have to be hashed twice +/proc/generate_and_hash_rsc_file(file, dmi_file_path) + var/rsc_ref = fcopy_rsc(file) + var/hash + //if we have a valid dmi file path we can trust md5'ing the rsc file because we know it doesnt have the bug described in http://www.byond.com/forum/post/2611357 + if(dmi_file_path) + hash = md5(rsc_ref) + else //otherwise, we need to do the expensive fcopy() workaround + hash = md5asfile(rsc_ref) + + return list(rsc_ref, hash, "asset.[hash]") + +///given a text string, returns whether it is a valid dmi icons folder path +/proc/is_valid_dmi_file(icon_path) + if(!istext(icon_path) || !length(icon_path)) + return FALSE + + var/is_in_icon_folder = findtextEx(icon_path, "icons/") + var/is_dmi_file = findtextEx(icon_path, ".dmi") + + if(is_in_icon_folder && is_dmi_file) + return TRUE + return FALSE + +/// given an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +/// a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +/// but stringifying rsc references returns a dmi file path +/// ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +/// so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns "" +/proc/get_icon_dmi_path(icon/icon) + /// the dmi file path we attempt to return if the given object argument is associated with a stringifiable icon + /// if successful, this looks like "icons/path/to/dmi_file.dmi" + var/icon_path = "" + + if(isatom(icon) || istype(icon, /image) || istype(icon, /mutable_appearance)) + var/atom/atom_icon = icon + icon = atom_icon.icon + //atom icons compiled in from 'icons/path/to/dmi_file.dmi' are weird and not really icon objects that you generate with icon(). + //if theyre unchanged dmi's then they're stringifiable to "icons/path/to/dmi_file.dmi" + + if(isicon(icon) && isfile(icon)) + //icons compiled in from 'icons/path/to/dmi_file.dmi' at compile time are weird and arent really /icon objects, + ///but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want + var/icon_ref = text_ref(icon) + var/locate_icon_string = "[locate(icon_ref)]" + + icon_path = locate_icon_string + + else if(isicon(icon) && "[icon]" == "/icon") + // icon objects generated from icon() at runtime are icons, but they ARENT files themselves, they represent icon files. + // if the files they represent are compile time dmi files in the rsc, then + // the rsc reference returned by fcopy_rsc() will be stringifiable to "icons/path/to/dmi_file.dmi" + var/rsc_ref = fcopy_rsc(icon) + + var/icon_ref = text_ref(rsc_ref) + + var/icon_path_string = "[locate(icon_ref)]" + + icon_path = icon_path_string + + else if(istext(icon)) + var/rsc_ref = fcopy_rsc(icon) + //if its the text path of an existing dmi file, the rsc reference returned by fcopy_rsc() will be stringifiable to a dmi path + + var/rsc_ref_ref = text_ref(rsc_ref) + var/rsc_ref_string = "[locate(rsc_ref_ref)]" + + icon_path = rsc_ref_string + + if(is_valid_dmi_file(icon_path)) + return icon_path + + return FALSE + +/** + * generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. + * Arguments: + * * thing - either a /icon object, or an object that has an appearance (atom, image, mutable_appearance). + * * target - either a reference to or a list of references to /client's or mobs with clients + * * icon_state - string to force a particular icon_state for the icon to be used + * * dir - dir number to force a particular direction for the icon to be used + * * frame - what frame of the icon_state's animation for the icon being used + * * moving - whether or not to use a moving state for the given icon + * * sourceonly - if TRUE, only generate the asset and send back the asset url, instead of tags that display the icon to players + * * extra_clases - string of extra css classes to use when returning the icon string + */ +/proc/icon2html(atom/thing, client/target, icon_state, dir = SOUTH, frame = 1, moving = FALSE, sourceonly = FALSE, extra_classes = null) if (!thing) return var/key - var/icon/I = thing + var/icon/icon2collapse = thing if (!target) return @@ -588,46 +676,64 @@ world targets = list(target) else targets = target - if (!targets.len) - return - if (!isicon(I)) + if(!length(targets)) + return + + //check if the given object is associated with a dmi file in the icons folder. if it is then we dont need to do a lot of work + //for asset generation to get around byond limitations + var/icon_path = get_icon_dmi_path(thing) + + if (!isicon(icon2collapse)) if (isfile(thing)) //special snowflake - var/name = sanitize_filename("[generate_asset_name(thing)].png") + var/name = SANITIZE_FILENAME("[generate_asset_name(thing)].png") if (!SSassets.cache[name]) SSassets.transport.register_asset(name, thing) for (var/thing2 in targets) SSassets.transport.send_assets(thing2, name) if(sourceonly) return SSassets.transport.get_asset_url(name) - return "" - var/atom/A = thing + return "" + + //its either an atom, image, or mutable_appearance, we want its icon var + icon2collapse = thing.icon - I = A.icon if (isnull(icon_state)) - icon_state = A.icon_state - if (!icon_state) - icon_state = initial(A.icon_state) + icon_state = thing.icon_state + //Despite casting to atom, this code path supports mutable appearances, so let's be nice to them + if(isnull(icon_state) || (isatom(thing) && thing.flags_atom & HTML_USE_INITAL_ICON)) + icon_state = initial(thing.icon_state) if (isnull(dir)) - dir = initial(A.dir) + dir = initial(thing.dir) if (isnull(dir)) - dir = A.dir + dir = thing.dir + + if (ishuman(thing)) // Shitty workaround for a BYOND issue. + var/icon/temp = icon2collapse + icon2collapse = icon() + icon2collapse.Insert(temp, dir = SOUTH) + dir = SOUTH else if (isnull(dir)) dir = SOUTH if (isnull(icon_state)) icon_state = "" - I = icon(I, icon_state, dir, frame, moving) + icon2collapse = icon(icon2collapse, icon_state, dir, frame, moving) + + var/list/name_and_ref = generate_and_hash_rsc_file(icon2collapse, icon_path)//pretend that tuples exist + + var/rsc_ref = name_and_ref[1] //weird object thats not even readable to the debugger, represents a reference to the icons rsc entry + var/file_hash = name_and_ref[2] + key = "[name_and_ref[3]].png" - key = "[generate_asset_name(I)].png" if(!SSassets.cache[key]) - SSassets.transport.register_asset(key, I) - for (var/thing2 in targets) - SSassets.transport.send_assets(thing2, key) + SSassets.transport.register_asset(key, rsc_ref, file_hash, icon_path) + for (var/client_target in targets) + SSassets.transport.send_assets(client_target, key) if(sourceonly) return SSassets.transport.get_asset_url(key) - return "" + return "" //Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs. /proc/costly_icon2html(thing, target, sourceonly = FALSE) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 575071b76833..9a6ee4362088 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -2066,3 +2066,30 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars,list( if(stop_type && istype(turf_to_check, stop_type)) break return turf_to_check + +/// Given a direction, return the direction and the +-45 degree directions next to it +/proc/get_related_directions(direction = NORTH) + switch(direction) + if(NORTH) + return list(NORTH, NORTHEAST, NORTHWEST) + + if(EAST) + return list(EAST, NORTHEAST, SOUTHEAST) + + if(SOUTH) + return list(SOUTH, SOUTHEAST, SOUTHWEST) + + if(WEST) + return list(WEST, NORTHWEST, SOUTHWEST) + + if(NORTHEAST) + return list(NORTHEAST, NORTH, EAST) + + if(SOUTHEAST) + return list(SOUTHEAST, EAST, SOUTH) + + if(SOUTHWEST) + return list(SOUTHWEST, SOUTH, WEST) + + if(NORTHWEST) + return list(NORTHWEST, NORTH, WEST) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index a497f4d01dfb..53dd40ff6035 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -249,6 +249,7 @@ DEFINE_BITFIELD(valid_equip_slots, list( "SLOT_LEGS" = SLOT_LEGS, "SLOT_ACCESSORY" = SLOT_ACCESSORY, "SLOT_SUIT_STORE" = SLOT_SUIT_STORE, + "SLOT_BLOCK_SUIT_STORE" = SLOT_BLOCK_SUIT_STORE, )) DEFINE_BITFIELD(flags_alarm_state, list( diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index df7dd48a1dd1..86390718b6ca 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -210,7 +210,7 @@ return TRUE if (mods["ctrl"]) - if (Adjacent(user)) + if (Adjacent(user) && user.next_move < world.time) user.start_pulling(src) return TRUE return FALSE diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index ff271b889e6c..fec62c35317f 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -72,9 +72,11 @@ var/severity = 0 var/fs_view = 7 var/show_when_dead = FALSE + /// If this should try and resize if the user's view is bigger than the default + var/should_resize = TRUE /atom/movable/screen/fullscreen/proc/update_for_view(client_view) - if (screen_loc == "CENTER-7,CENTER-7" && fs_view != client_view) + if (screen_loc == "CENTER-7,CENTER-7" && fs_view != client_view && should_resize) var/list/actualview = getviewsize(client_view) fs_view = client_view transform = matrix(actualview[1]/FULLSCREEN_OVERLAY_RESOLUTION_X, 0, 0, 0, actualview[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y, 0) @@ -169,6 +171,14 @@ /atom/movable/screen/fullscreen/laser_blind icon_state = "impairedoverlay1" +/atom/movable/screen/fullscreen/vulture + icon_state = "vulture_scope_overlay_sniper" + layer = FULLSCREEN_VULTURE_SCOPE_LAYER + +/atom/movable/screen/fullscreen/vulture/spotter + icon_state = "vulture_scope_overlay_spotter" + should_resize = FALSE + //Weather overlays// /atom/movable/screen/fullscreen/weather diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 9643d0f652ae..206b1dbf9979 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -639,3 +639,7 @@ /atom/movable/screen/rotate/alt dir = WEST rotate_amount = -90 + +/atom/movable/screen/vulture_scope // The part of the vulture's scope that drifts over time + icon_state = "vulture_unsteady" + screen_loc = "CENTER,CENTER" diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 17723fa6ed87..8458436a53e5 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -73,6 +73,7 @@ var/const/YAUT_FREQ = 1205 var/const/DUT_FREQ = 1210 var/const/CMB_FREQ = 1220 var/const/VAI_FREQ = 1215 +var/const/RMC_FREQ = 1216 //WY Channels (1230-1249) var/const/WY_FREQ = 1231 @@ -141,6 +142,7 @@ var/list/radiochannels = list( RADIO_CHANNEL_VAI = VAI_FREQ, RADIO_CHANNEL_CMB = CMB_FREQ, RADIO_CHANNEL_DUTCH_DOZEN = DUT_FREQ, + RADIO_CHANNEL_ROYAL_MARINE = RMC_FREQ, RADIO_CHANNEL_HIGHCOM = HC_FREQ, RADIO_CHANNEL_PROVOST = PVST_FREQ, @@ -192,7 +194,7 @@ var/list/radiochannels = list( ) // Response Teams -#define ERT_FREQS list(VAI_FREQ, DUT_FREQ, YAUT_FREQ, CMB_FREQ) +#define ERT_FREQS list(VAI_FREQ, DUT_FREQ, YAUT_FREQ, CMB_FREQ, RMC_FREQ) // UPP Frequencies #define UPP_FREQS list(UPP_FREQ, UPP_CMD_FREQ, UPP_ENGI_FREQ, UPP_MED_FREQ, UPP_CCT_FREQ, UPP_KDO_FREQ) @@ -253,6 +255,7 @@ SUBSYSTEM_DEF(radio) "[INTEL_FREQ]" = "intelradio", "[WY_FREQ]" = "wyradio", "[VAI_FREQ]" = "vairadio", + "[RMC_FREQ]" = "rmcradio", "[CMB_FREQ]" = "cmbradio", "[CLF_FREQ]" = "clfradio", "[ALPHA_FREQ]" = "alpharadio", diff --git a/code/controllers/subsystem/projectiles.dm b/code/controllers/subsystem/projectiles.dm index 075a4f7facc5..a23303ea282d 100644 --- a/code/controllers/subsystem/projectiles.dm +++ b/code/controllers/subsystem/projectiles.dm @@ -6,11 +6,11 @@ SUBSYSTEM_DEF(projectiles) priority = SS_PRIORITY_PROJECTILES /// List of projectiles handled by the subsystem - VAR_PRIVATE/list/obj/item/projectile/projectiles + VAR_PRIVATE/list/obj/projectile/projectiles /// List of projectiles on hold due to sleeping - VAR_PRIVATE/list/obj/item/projectile/sleepers + VAR_PRIVATE/list/obj/projectile/sleepers /// List of projectiles handled this controller firing - VAR_PRIVATE/list/obj/item/projectile/flying + VAR_PRIVATE/list/obj/projectile/flying /* * Scheduling notes: @@ -42,14 +42,14 @@ SUBSYSTEM_DEF(projectiles) flying = projectiles.Copy() flying -= sleepers while(flying.len) - var/obj/item/projectile/projectile = flying[flying.len] + var/obj/projectile/projectile = flying[flying.len] flying.len-- var/delta_time = wait * world.tick_lag * (1 SECONDS) handle_projectile_flight(projectile, delta_time) if(MC_TICK_CHECK) return -/datum/controller/subsystem/projectiles/proc/handle_projectile_flight(obj/item/projectile/projectile, delta_time) +/datum/controller/subsystem/projectiles/proc/handle_projectile_flight(obj/projectile/projectile, delta_time) PRIVATE_PROC(TRUE) set waitfor = FALSE // We're in double-check land here because there ARE rulebreakers. @@ -66,15 +66,15 @@ SUBSYSTEM_DEF(projectiles) stop_projectile(projectile) // Ideally this was already done thru process() qdel(projectile) -/datum/controller/subsystem/projectiles/proc/process_wrapper(obj/item/projectile/projectile, delta_time) +/datum/controller/subsystem/projectiles/proc/process_wrapper(obj/projectile/projectile, delta_time) // set waitfor=TRUE . = PROC_RETURN_SLEEP . = projectile.process(delta_time) sleepers -= projectile // Recover from sleep -/datum/controller/subsystem/projectiles/proc/queue_projectile(obj/item/projectile/projectile) +/datum/controller/subsystem/projectiles/proc/queue_projectile(obj/projectile/projectile) projectiles |= projectile -/datum/controller/subsystem/projectiles/proc/stop_projectile(obj/item/projectile/projectile) +/datum/controller/subsystem/projectiles/proc/stop_projectile(obj/projectile/projectile) projectiles -= projectile flying -= projectile // avoids problems with deleted projs projectile.speed = 0 diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 0e23b99a9cc2..db6c3c71a7fa 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -199,6 +199,8 @@ SUBSYSTEM_DEF(ticker) if(CONFIG_GET(flag/autooocmute)) ooc_allowed = FALSE + round_start_time = world.time + CHECK_TICK for(var/I in round_start_events) var/datum/callback/cb = I @@ -222,9 +224,7 @@ SUBSYSTEM_DEF(ticker) equip_characters() GLOB.data_core.manifest() - log_world("Game start took [(world.timeofday - init_start) / 10]s") - round_start_time = world.time //SSdbcore.SetRoundStart() current_state = GAME_STATE_PLAYING diff --git a/code/datums/components/cluster_stack.dm b/code/datums/components/cluster_stack.dm index c79ce855e5b1..01d266d01a15 100644 --- a/code/datums/components/cluster_stack.dm +++ b/code/datums/components/cluster_stack.dm @@ -75,7 +75,7 @@ SIGNAL_HANDLER L += "Cluster Stack: [cluster_stacks]/[MAX_CLUSTER_STACKS]" -/datum/component/cluster_stack/proc/apply_cluster_stacks(mob/living/L, damage_result, ammo_flags, obj/item/projectile/P) +/datum/component/cluster_stack/proc/apply_cluster_stacks(mob/living/L, damage_result, ammo_flags, obj/projectile/P) SIGNAL_HANDLER if(cluster_stacks >= MAX_CLUSTER_STACKS) var/old_dmg_cont = damage_counter diff --git a/code/datums/elements/bullet_trait/bullet_trait.md b/code/datums/elements/bullet_trait/bullet_trait.md index 9253b3a6311a..8081843bd000 100644 --- a/code/datums/elements/bullet_trait/bullet_trait.md +++ b/code/datums/elements/bullet_trait/bullet_trait.md @@ -1,7 +1,7 @@ # A PROTOTYPE FOR MAKING ANY BULLET TRAITS Element representing traits that can be applied to bullets upon being fired -* Must be attached to a projectile (`/obj/item/projectile` in `projectile.dm`) +* Must be attached to a projectile (`/obj/projectile` in `projectile.dm`) * Allows for the customization of bullet behavior based on ammo types or guns (or other things) By convention, bullet_traits should be named bullet_trait_[insert rest of name here] @@ -16,7 +16,7 @@ By convention, bullet_traits should be named bullet_trait_[insert rest of name h /datum/element/bullet_trait/databaseAttach(datum/target) . = ..() // All bullet traits can only be applied to projectiles - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE [handling here] diff --git a/code/datums/elements/bullet_trait/damage_boost.dm b/code/datums/elements/bullet_trait/damage_boost.dm index 1d93851dd73d..a0370f2d36b6 100644 --- a/code/datums/elements/bullet_trait/damage_boost.dm +++ b/code/datums/elements/bullet_trait/damage_boost.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) */ /datum/element/bullet_trait_damage_boost/Attach(datum/target, damage_mult, list/damage_boosted_atoms) . = ..() - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE src.damage_mult = damage_mult @@ -66,7 +66,7 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) //add more cases for other interactions (switch doesn't seem to work with istype) else return 0 -/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/item/projectile/P, atom/A) +/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/projectile/P, atom/A) SIGNAL_HANDLER atom_type = check_type(A) diff --git a/code/datums/elements/bullet_trait/iff.dm b/code/datums/elements/bullet_trait/iff.dm index bd08c100d0f4..ab48b29f4812 100644 --- a/code/datums/elements/bullet_trait/iff.dm +++ b/code/datums/elements/bullet_trait/iff.dm @@ -1,5 +1,5 @@ /// This is the iff_group -/obj/item/projectile/var/runtime_iff_group +/obj/projectile/var/runtime_iff_group /datum/element/bullet_trait_iff // General bullet trait vars @@ -13,7 +13,7 @@ /datum/element/bullet_trait_iff/Attach(datum/target, iff_group) . = ..() - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE if(!iff_group) @@ -39,7 +39,7 @@ /datum/element/bullet_trait_iff/proc/set_iff(datum/target, mob/living/carbon/human/firer) SIGNAL_HANDLER - var/obj/item/projectile/P = target + var/obj/projectile/P = target P.runtime_iff_group = get_user_iff_group(firer) // We have a "cache" to avoid getting ID card iff every shot, diff --git a/code/datums/elements/bullet_trait/ignored_range.dm b/code/datums/elements/bullet_trait/ignored_range.dm index 668e5dab2dd7..3910fb400bdb 100644 --- a/code/datums/elements/bullet_trait/ignored_range.dm +++ b/code/datums/elements/bullet_trait/ignored_range.dm @@ -12,7 +12,7 @@ /datum/element/bullet_trait_ignored_range/Attach(datum/target, range_to_ignore) . = ..() ignored_range = range_to_ignore - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE RegisterSignal(target, COMSIG_BULLET_CHECK_MOB_SKIPPING, PROC_REF(check_distance)) @@ -22,7 +22,7 @@ return ..() -/datum/element/bullet_trait_ignored_range/proc/check_distance(obj/item/projectile/P, mob/living/carbon/human/projectile_target) +/datum/element/bullet_trait_ignored_range/proc/check_distance(obj/projectile/P, mob/living/carbon/human/projectile_target) SIGNAL_HANDLER if(P.distance_travelled <= ignored_range) diff --git a/code/datums/elements/bullet_trait/incendiary.dm b/code/datums/elements/bullet_trait/incendiary.dm index c7f6e75e8e3b..2d5d0a15f368 100644 --- a/code/datums/elements/bullet_trait/incendiary.dm +++ b/code/datums/elements/bullet_trait/incendiary.dm @@ -8,7 +8,7 @@ /datum/element/bullet_trait_incendiary/Attach(datum/target, reagent = /datum/reagent/napalm/ut, stacks = 20) . = ..() - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE if(ispath(reagent)) diff --git a/code/datums/elements/bullet_trait/penetrating/heavy.dm b/code/datums/elements/bullet_trait/penetrating/heavy.dm new file mode 100644 index 000000000000..fa41b8dcfc4e --- /dev/null +++ b/code/datums/elements/bullet_trait/penetrating/heavy.dm @@ -0,0 +1,47 @@ +/datum/element/bullet_trait_penetrating/heavy + // Generic bullet trait vars + element_flags = ELEMENT_DETACH|ELEMENT_BESPOKE + id_arg_index = 3 + + /// For every turf this pierces, how much damage should this lose? + var/damage_lost_per_pen = 100 + /// Typecache of things to annihilate if the bullet is on a tile with it + var/static/list/bullet_destroy_structures = typecacheof(list( + /obj/structure/surface, + /obj/structure/barricade, + )) + +/datum/element/bullet_trait_penetrating/heavy/Attach(datum/target, distance_loss_per_hit = 3, damage_lost_per_pen = 75) + . = ..() + if(. == ELEMENT_INCOMPATIBLE) + return + + src.damage_lost_per_pen = damage_lost_per_pen + +/datum/element/bullet_trait_penetrating/heavy/handle_passthrough_movables(obj/projectile/bullet, atom/movable/hit_movable, did_hit) + if(did_hit) + var/slow_mult = 1 + if(ismob(hit_movable)) + var/mob/mob = hit_movable + if(mob.mob_size >= MOB_SIZE_BIG) + slow_mult = 2 + + bullet.distance_travelled += (distance_loss_per_hit * slow_mult) + + if(is_type_in_typecache(hit_movable, bullet_destroy_structures)) + var/obj/structure/cade = hit_movable + cade.deconstruct() // This bullet just tears through whatever cades you put it up against from either side + bullet.damage -= damage_lost_per_pen + + return COMPONENT_BULLET_PASS_THROUGH + +/datum/element/bullet_trait_penetrating/heavy/handle_passthrough_turf(obj/projectile/bullet, turf/closed/wall/hit_wall) + bullet.distance_travelled += distance_loss_per_hit + bullet.damage -= damage_lost_per_pen + + if(!istype(hit_wall)) + return COMPONENT_BULLET_PASS_THROUGH + + if(!hit_wall.hull) + return COMPONENT_BULLET_PASS_THROUGH + diff --git a/code/datums/elements/bullet_trait/penetrating.dm b/code/datums/elements/bullet_trait/penetrating/penetrating.dm similarity index 89% rename from code/datums/elements/bullet_trait/penetrating.dm rename to code/datums/elements/bullet_trait/penetrating/penetrating.dm index 00fb330a7330..d3ba8a78f7f4 100644 --- a/code/datums/elements/bullet_trait/penetrating.dm +++ b/code/datums/elements/bullet_trait/penetrating/penetrating.dm @@ -8,7 +8,7 @@ /datum/element/bullet_trait_penetrating/Attach(datum/target, distance_loss_per_hit = 3) . = ..() - if(!istype(target, /obj/item/projectile)) + if(!istype(target, /obj/projectile)) return ELEMENT_INCOMPATIBLE src.distance_loss_per_hit = distance_loss_per_hit @@ -27,13 +27,13 @@ )) return ..() -/datum/element/bullet_trait_penetrating/proc/handle_passthrough_movables(obj/item/projectile/P, atom/movable/A, did_hit) +/datum/element/bullet_trait_penetrating/proc/handle_passthrough_movables(obj/projectile/P, atom/movable/A, did_hit) SIGNAL_HANDLER if(did_hit) P.distance_travelled += distance_loss_per_hit return COMPONENT_BULLET_PASS_THROUGH -/datum/element/bullet_trait_penetrating/proc/handle_passthrough_turf(obj/item/projectile/P, turf/closed/wall/T) +/datum/element/bullet_trait_penetrating/proc/handle_passthrough_turf(obj/projectile/P, turf/closed/wall/T) SIGNAL_HANDLER P.distance_travelled += distance_loss_per_hit diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index e7dcba08ed61..7ed61852e9bf 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -1,13 +1,12 @@ -//whiskey outpost extra marines /datum/emergency_call/cryo_squad name = "Marine Cryo Reinforcements (Squad)" mob_max = 10 mob_min = 1 probability = 0 objectives = "Assist the USCM forces" - max_engineers = 4 + max_engineers = 2 max_medics = 2 name_of_spawn = /obj/effect/landmark/ert_spawns/distress_cryo shuttle_id = "" @@ -95,3 +94,10 @@ /obj/effect/landmark/ert_spawns/distress_cryo name = "Distress_Cryo" + +/datum/emergency_call/cryo_squad/tech + name = "Marine Cryo Reinforcements (Tech)" + mob_max = 5 + max_engineers = 1 + max_medics = 1 + max_heavies = 0 diff --git a/code/datums/emergency_calls/cryo_spec.dm b/code/datums/emergency_calls/cryo_spec.dm new file mode 100644 index 000000000000..6cc7c905efbc --- /dev/null +++ b/code/datums/emergency_calls/cryo_spec.dm @@ -0,0 +1,43 @@ +/datum/emergency_call/cryo_spec + name = "Marine Cryo Reinforcement (Spec)" + mob_max = 1 + mob_min = 1 + probability = 0 + objectives = "Assist the USCM forces" + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_cryo + shuttle_id = "" + spawn_max_amount = TRUE + +/datum/emergency_call/cryo_spec/create_member(datum/mind/mind, turf/override_spawn_loc) + set waitfor = FALSE + if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo + var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() + + if(!istype(spawn_loc)) + return //Didn't find a useable spawn point. + + var/mob/living/carbon/human/human = new(spawn_loc) + + if(mind) + mind.transfer_to(human, TRUE) + else + human.create_hud() + + if(!mind) + for(var/obj/structure/machinery/cryopod/pod in view(7,human)) + if(pod && !pod.occupant) + pod.go_in_cryopod(human, silent = TRUE) + break + + sleep(5) + human.client?.prefs.copy_all_to(human, JOB_SQUAD_SPECIALIST, TRUE, TRUE) + arm_equipment(human, /datum/equipment_preset/uscm/spec/cryo, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Weapons Specialist in the USCM")) + to_chat(human, SPAN_ROLE_BODY("Your squad is here to assist in the defence of the [SSmapping.configs[GROUND_MAP].map_name]. Listen to the chain of command.")) + to_chat(human, SPAN_BOLDWARNING("If you wish to cryo or ghost upon spawning in, you must ahelp and inform staff so you can be replaced.")) + + sleep(10) + if(!mind) + human.free_for_ghosts() + to_chat(human, SPAN_BOLD("Objectives: [objectives]")) diff --git a/code/datums/emergency_calls/emergency_call.dm b/code/datums/emergency_calls/emergency_call.dm index 05eb8869f54d..286c7a9d1a87 100644 --- a/code/datums/emergency_calls/emergency_call.dm +++ b/code/datums/emergency_calls/emergency_call.dm @@ -91,12 +91,12 @@ else return chosen_call -/datum/game_mode/proc/get_specific_call(call_name, announce = TRUE, is_emergency = TRUE, info = "", announce_dispatch_message = TRUE) +/datum/game_mode/proc/get_specific_call(call_name, quiet_launch = FALSE, announce = TRUE, is_emergency = TRUE, info = "", announce_dispatch_message = TRUE) for(var/datum/emergency_call/E in all_calls) //Loop through all potential candidates if(E.name == call_name) var/datum/emergency_call/em_call = new E.type() em_call.objective_info = info - em_call.activate(announce, is_emergency, announce_dispatch_message) + em_call.activate(quiet_launch, announce, is_emergency, announce_dispatch_message) return error("get_specific_call could not find emergency call '[call_name]'") return @@ -155,7 +155,6 @@ var/choice = tgui_input_list(src, "Choose a distress beacon to join", "", beacons) if(!choice) - to_chat(src, "Something seems to have gone wrong!") return if(!beacons[choice] || !(beacons[choice] in SSticker.mode.picked_calls)) @@ -193,7 +192,7 @@ else to_chat(src, SPAN_WARNING("You did not get enlisted in the response team. Better luck next time!")) -/datum/emergency_call/proc/activate(announce = TRUE, turf/override_spawn_loc, announce_dispatch_message = TRUE) +/datum/emergency_call/proc/activate(quiet_launch = FALSE, announce = TRUE, turf/override_spawn_loc, announce_dispatch_message = TRUE) set waitfor = 0 if(!SSticker.mode) //Something horribly wrong with the gamemode ticker return @@ -203,12 +202,12 @@ show_join_message() //Show our potential candidates the message to let them join. message_admins("Distress beacon: '[name]' activated [src.hostility? "[SPAN_WARNING("(THEY ARE HOSTILE)")]":"(they are friendly)"]. Looking for candidates.") - if(announce) + if(!quiet_launch) marine_announcement("A distress beacon has been launched from the [MAIN_SHIP_NAME].", "Priority Alert", 'sound/AI/distressbeacon.ogg', logging = ARES_LOG_SECURITY) - addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/emergency_call, spawn_candidates), announce, override_spawn_loc, announce_dispatch_message), 30 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/emergency_call, spawn_candidates), quiet_launch, announce, override_spawn_loc, announce_dispatch_message), 30 SECONDS) -/datum/emergency_call/proc/spawn_candidates(announce = TRUE, override_spawn_loc, announce_dispatch_message = TRUE) +/datum/emergency_call/proc/spawn_candidates(quiet_launch = FALSE, announce = TRUE, override_spawn_loc, announce_dispatch_message = TRUE) if(SSticker.mode) SSticker.mode.picked_calls -= src @@ -219,7 +218,7 @@ members = list() //Empty the members list. candidates = list() - if(announce) + if(!quiet_launch) marine_announcement("The distress signal has not received a response, the launch tubes are now recalibrating.", "Distress Beacon", logging = ARES_LOG_SECURITY) return diff --git a/code/datums/emergency_calls/inspection.dm b/code/datums/emergency_calls/inspection.dm index 72926666ace5..4c33d7d9bfa3 100644 --- a/code/datums/emergency_calls/inspection.dm +++ b/code/datums/emergency_calls/inspection.dm @@ -263,3 +263,44 @@ to_chat(M, SPAN_BOLD("The laws of arth stretch beyond the Sol. Where others fall to corruption, you stay steadfast in your morals.")) to_chat(M, SPAN_BOLD("Corporate Officers chase after paychecks and promotions, but you are motivated to do your sworn duty and care for the population, no matter how far or isolated a colony may be.")) to_chat(M, SPAN_BOLD("Despite being stretched thin, the stalwart oath of the Marshals has continued to keep communities safe, with the CMB well respected by many. You are a representation of that oath, serve with distinction.")) + +/datum/emergency_call/inspection_cmb/black_market + name = "Inspection - Colonial Marshal Ledger Investigation Team" + mob_max = 3 //Marshal, Deputy, ICC CL + mob_min = 2 + shuttle_id = "Distress_PMC" + + max_synths = 0 + will_spawn_icc_liaison = TRUE + will_spawn_cmb_observer = FALSE + +/datum/emergency_call/inspection_cmb/black_market/New() + ..() + dispatch_message = "Third Fleet High Command to [MAIN_SHIP_NAME], we have received inconsistent supply manifests and irregularities on the ASRS system aboard your ship, and have requested a CMB Investigation Team to board and clear you of any wrongdoing." + arrival_message = "Incoming Transmission: [MAIN_SHIP_NAME], this is Anchorpoint Station with the Colonial Marshal Bureau. Be advised, we are dispatching a team of Marshals to board with you by request of GSO-91. Submitting authorized docking clearances, over." + objectives = "Investigate the inconsistencies aboard the [MAIN_SHIP_NAME]'s ASRS. In the case of illegal activity, collect evidence, and submit a report to the CMB Command at Anchorpoint Station. If required, the ICC Liaison's Tradeband is capable of fixing ASRS computers. Work with the [MAIN_SHIP_NAME]'s military police force." + +/datum/emergency_call/inspection_cmb/black_market/create_member(datum/mind/current_mind, turf/override_spawn_loc) + var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() + + if(!istype(spawn_loc)) + return //Didn't find a useable spawn point. + + var/mob/living/carbon/human/mob = new(spawn_loc) + current_mind.transfer_to(mob, TRUE) + + if(!leader && HAS_FLAG(mob?.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) + leader = mob + to_chat(mob, SPAN_ROLE_HEADER("You are the Colonial Marshal!")) + arm_equipment(mob, /datum/equipment_preset/cmb/leader, TRUE, TRUE) + else if(!icc_liaison && will_spawn_icc_liaison && check_timelock(mob.client, JOB_CORPORATE_LIAISON, time_required_for_job)) + icc_liaison = mob + to_chat(mob, SPAN_ROLE_HEADER("You are a CMB-attached Interstellar Commerce Commission Liaison!")) + arm_equipment(mob, /datum/equipment_preset/cmb/liaison/black_market, TRUE, TRUE) //ICC CL gets a custom item + else + to_chat(mob, SPAN_ROLE_HEADER("You are a CMB Deputy!")) + arm_equipment(mob, /datum/equipment_preset/cmb/standard, TRUE, TRUE) + + print_backstory(mob) + + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) diff --git a/code/datums/emergency_calls/royal_marines.dm b/code/datums/emergency_calls/royal_marines.dm new file mode 100644 index 000000000000..b3feaccf87bb --- /dev/null +++ b/code/datums/emergency_calls/royal_marines.dm @@ -0,0 +1,75 @@ +/datum/emergency_call/royal_marines + name = "Royal Marines Commando (Squad) (Friendly)" + mob_max = 7 + probability = 0 + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe + item_spawn = /obj/effect/landmark/ert_spawns/distress_twe/item + max_engineers = 0 + max_medics = 0 + max_heavies = 3 + +/datum/emergency_call/royal_marines/New() + ..() + arrival_message = "[MAIN_SHIP_NAME], this is [pick_weight(list("HMS Patna"= 50, "HMS Thunderchild" = 50))]; we are responding to your distress call and boarding in accordance with the Military Aid Act of 2177, Authentication code Lima-18153. " + objectives = "Ensure the survival of the [MAIN_SHIP_NAME], eliminate any hostiles, and assist the crew in any way possible." + + +/datum/emergency_call/royal_marines/create_member(datum/mind/spawning_mind, turf/override_spawn_loc) + var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() + + if(!istype(spawn_loc)) + return //Didn't find a useable spawn point. + + var/mob/living/carbon/human/mob = new(spawn_loc) + spawning_mind.transfer_to(mob, TRUE) + + if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) + leader = mob + to_chat(mob, SPAN_ROLE_HEADER("You are an Officer in the Royal Marines Commando. Born in the Three World Empire.")) + arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/team_leader, TRUE, TRUE) + else if(heavies < max_heavies && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_HEAVY) && check_timelock(mob.client, JOB_SQUAD_SPECIALIST)) + var/specialist_kit = pick("Sniper", "Smartgun", "Breach") + switch(specialist_kit) + if("Sniper") + to_chat(mob, SPAN_ROLE_HEADER("You are a skilled marksman in the Royal Marines Commando. Born in the Three World Empire.")) + arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/marksman, TRUE, TRUE) + if("Smartgun") + to_chat(mob, SPAN_ROLE_HEADER("You are a Smartgunner in the Royal Marines Commando. Born in the Three World Empire.")) + arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/machinegun, TRUE, TRUE) + if("Breach") + to_chat(mob, SPAN_ROLE_HEADER("You are a CQB Specialist in the Royal Marines Commando. Born in the Three World Empire.")) + arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/breacher, TRUE, TRUE) + heavies++ + else + to_chat(mob, SPAN_ROLE_HEADER("You are a member of the Royal Marines Commando. Born in the three world empire.")) + arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/standard, TRUE, TRUE) + + print_backstory(mob) + + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + + +/datum/emergency_call/royal_marines/print_backstory(mob/living/carbon/human/spawning_mob) + to_chat(spawning_mob, SPAN_BOLD("You were born in the Three World Empire to a [pick_weight(list("average" = 75, "poor" = 15, "well-established" = 10))] family.")) + to_chat(spawning_mob, SPAN_BOLD("Joining the Royal Marines gave you a lot of combat experience and useful skills.")) + to_chat(spawning_mob, SPAN_BOLD("You are [pick_weight(list("unaware" = 75, "faintly aware" = 15, "knoledgeable" = 10))] of the xenomorph threat.")) + to_chat(spawning_mob, SPAN_BOLD("You are a citizen of the three world empire and joined the Royal Marines Commando")) + to_chat(spawning_mob, SPAN_BOLD("You are apart of a jointed UA/TWE taskforce onboard the HMS Patna and Thunderchild.")) + to_chat(spawning_mob, SPAN_BOLD("Under the directive of the RMC high command, you have been assisting USCM forces with maintaining peace in the area.")) + to_chat(spawning_mob, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) + +/datum/emergency_call/royal_marines/platoon + name = "Royal Marines Commando (Platoon) (Friendly)" + mob_min = 7 + mob_max = 28 + probability = 0 + max_medics = 0 + max_heavies = 6 + max_engineers = 0 + +/obj/effect/landmark/ert_spawns/distress_twe + name = "Distress_TWE" + +/obj/effect/landmark/ert_spawns/distress_twe/item + name = "Distress_TWEItem" + diff --git a/code/datums/entities/player_note.dm b/code/datums/entities/player_note.dm index 420bb5f0a470..216e20b40701 100644 --- a/code/datums/entities/player_note.dm +++ b/code/datums/entities/player_note.dm @@ -94,4 +94,4 @@ BSQL_PROTECT_DATUM(/datum/entity/player_note) /// Returns all notes associated with a CKEY, structured as a list of strings. /proc/get_all_notes(player_ckey) for(var/datum/view_record/note_view/note in DB_VIEW(/datum/view_record/note_view, DB_COMP("player_ckey", DB_EQUALS, player_ckey))) - LAZYADDASSOC(., "[note.note_category]", "\"[note.text]\", by [note.admin_ckey] ([note.admin_rank]) on [note.date] ([note.round_id])") + LAZYADDASSOCLIST(., "[note.note_category]", "\"[note.text]\", by [note.admin_ckey] ([note.admin_rank]) on [note.date] ([note.round_id])") diff --git a/code/datums/factions/royalmarinescommando.dm b/code/datums/factions/royalmarinescommando.dm new file mode 100644 index 000000000000..2fab0348bcfa --- /dev/null +++ b/code/datums/factions/royalmarinescommando.dm @@ -0,0 +1,94 @@ +/datum/faction/royal_marines_commando + name = "Royal Marines Commando" + faction_tag = FACTION_TWE + +/datum/faction/royal_marines_commando/modify_hud_holder(image/holder, mob/living/carbon/human/H) + var/hud_icon_state + var/obj/item/card/id/dogtag/ID = H.get_idcard() + var/_role + if(H.mind) + _role = H.job + else if(ID) + _role = ID.rank + switch(_role) + if(JOB_TWE_RMC_LIEUTENANT) + hud_icon_state = "lieutenant" + if(JOB_TWE_RMC_TEAMLEADER) + hud_icon_state = "teamleader" + if(JOB_TWE_RMC_MARKSMAN) + hud_icon_state = "marksman" + if(JOB_TWE_RMC_RIFLEMAN) + hud_icon_state = "rifleman" + if(JOB_TWE_RMC_SMARTGUNNER) + hud_icon_state = "smartgunner" + if(JOB_TWE_RMC_BREACHER) + hud_icon_state = "breacher" + if(hud_icon_state) + holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "rmc_[hud_icon_state]") + +/datum/faction/royal_marines_commando/get_antag_guns_snowflake_equipment() + return list( + list("PRIMARY FIREARMS", 0, null, null, null), + list("F903A1 Rifle", 20, /obj/item/weapon/gun/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), + list("F903A2 Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/a_grip, null, VENDOR_ITEM_REGULAR), + list("F903A1 Marksman Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/scope, null, VENDOR_ITEM_REGULAR), + list("F903A1/B 'Breacher' Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/shotgun, null, VENDOR_ITEM_REGULAR), + + list("PRIMARY AMMUNITION", 0, null, null, null), + list("F903 Magazine (10x24mm)", 5, /obj/item/ammo_magazine/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), + list("F903A1 Marksman Magazine (10x24mm)", 15, /obj/item/ammo_magazine/rifle/rmc_f90/marksman, null, VENDOR_ITEM_REGULAR), + + list("SIDEARMS", 0, null, null, null), + list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), + list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + + list("SIDEARM AMMUNITION", 0, null, null, null), + list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), + list("88M4 AP Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88, null, VENDOR_ITEM_REGULAR), + + list("ATTACHMENTS", 0, null, null, null), + list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), + list("Burst Fire Assembly", 15, /obj/item/attachable/burstfire_assembly, null, VENDOR_ITEM_REGULAR), + list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), + list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR), + list("Rail Flashlight", 5, /obj/item/attachable/flashlight, null, VENDOR_ITEM_REGULAR), + list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR), + list("Reflex Sight", 15, /obj/item/attachable/reflex, null, VENDOR_ITEM_REGULAR), + list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR), + list("Vertical Grip", 15, /obj/item/attachable/verticalgrip, null, VENDOR_ITEM_REGULAR), + + list("UTILITIES", 0, null, null, null), + list("M94 Marking Flare Pack", 3, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), + list("Smoke Grenade", 7, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), + list("R2175/B HIDP grenade packet", 7, /obj/item/storage/box/packet/rmc/incin, null, VENDOR_ITEM_REGULAR), + list("R2175/A HEDP grenade packet", 7, /obj/item/storage/box/packet/rmc/he, null, VENDOR_ITEM_REGULAR), + list("L5 bayonet", 3, /obj/item/attachable/bayonet/rmc, null, VENDOR_ITEM_REGULAR), + ) + +/datum/faction/royal_marines_commando/get_antag_guns_sorted_equipment() + return list( + list("PRIMARY FIREARMS", -1, null, null), + list("F903A1 Rifle", 20, /obj/item/weapon/gun/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), + list("F903A2 Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/a_grip, null, VENDOR_ITEM_REGULAR), + list("F903A1 Marksman Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/scope, null, VENDOR_ITEM_REGULAR), + list("F903A1/B 'Breacher' Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/shotgun, null, VENDOR_ITEM_REGULAR), + + list("PRIMARY AMMUNITION", -1, null, null), + list("F903 Magazine (10x24mm)", 5, /obj/item/ammo_magazine/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), + list("F903A1 Marksman Magazine (10x24mm)", 15, /obj/item/ammo_magazine/rifle/rmc_f90/marksman, null, VENDOR_ITEM_REGULAR), + + list("SIDEARMS", -1, null, null), + list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), + list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + + list("SIDEARM AMMUNITION", -1, null, null), + list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), + list("88M4 AP Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88, null, VENDOR_ITEM_REGULAR), + + list("UTILITIES", -1, null, null), + list("M94 Marking Flare Pack", 3, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), + list("Smoke Grenade", 7, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), + list("R2175/B HIDP grenade packet", 7, /obj/item/storage/box/packet/rmc/incin, null, VENDOR_ITEM_REGULAR), + list("R2175/A HEDP grenade packet", 7, /obj/item/storage/box/packet/rmc/he, null, VENDOR_ITEM_REGULAR), + list("L5 bayonet", 3, /obj/item/attachable/bayonet/rmc, null, VENDOR_ITEM_REGULAR), + ) diff --git a/code/datums/paygrades/factions/twe/twe.dm b/code/datums/paygrades/factions/twe/twe.dm index 214d70890c18..9707e89e6171 100644 --- a/code/datums/paygrades/factions/twe/twe.dm +++ b/code/datums/paygrades/factions/twe/twe.dm @@ -2,42 +2,56 @@ name = "TWE Paygrade" pay_multiplier = 2 // less people = more to pay them -//TWE RMC -/datum/paygrade/twe/rc1 - paygrade = "TC1" - name = "Yonto" - prefix = "Yt." +//RMC Emlisted +/datum/paygrade/twe/e1 + paygrade = "RMC E1" + name = "Heitai-Marine" + prefix = "Hti-Mne." -/datum/paygrade/twe/rc2 - paygrade = "TC2" - name = "Santo" - prefix = "St." +/datum/paygrade/twe/e2 + paygrade = "RMC E2" + name = "Santo-Lance Corporal" + prefix = "St-LCpl." pay_multiplier = 2.1 -/datum/paygrade/twe/rc3 - paygrade = "TC3" - name = "Nito" - prefix = "Nt." +/datum/paygrade/twe/e3 + paygrade = "RMC E3" + name = "Nito-Corporal" + prefix = "Nt-Cpl." pay_multiplier = 2.2 -/datum/paygrade/twe/rc4 - paygrade = "TC4" - name = "Itto" - prefix = "It." +/datum/paygrade/twe/e4 + paygrade = "RMC E4" + name = "Itto-Sergeant" + prefix = "Sgt." pay_multiplier = 2.3 +//RMC Officer + +/datum/paygrade/twe/o1/rmc + paygrade = "RMC O1" + name = "Second Lieutenant" + prefix = "2nd LT." + pay_multiplier = 3 + +//TWE Warrent Officer +/datum/paygrade/twe/wo1 + paygrade = "TWE WO." + name = "Warrant Officer" + prefix = "WO." + pay_multiplier = 3.5 //TWE Naval Officers /datum/paygrade/twe/o1 - paygrade = "TO1" - name = "Seaman" - prefix = "SN." + paygrade = "TWE O1" + name = "Second Lieutenant" + prefix = "2nd LT" pay_multiplier = 3 /datum/paygrade/twe/o2 - paygrade = "TO2" - name = "Leading Seaman" - prefix = "LR." + paygrade = "RMC O2" + name = "First Lieutenant" + prefix = "1st LT" pay_multiplier = 3.25 /datum/paygrade/twe/o3 @@ -46,12 +60,6 @@ prefix = "SO." pay_multiplier = 3.5 -/datum/paygrade/twe/o3e - paygrade = "TO3E" - name = "Warrant Officer" - prefix = "WO." - pay_multiplier = 3.5 - /datum/paygrade/twe/o4 paygrade = "TO4" name = "Captain" diff --git a/code/datums/skills.dm b/code/datums/skills.dm index 252ef07c4806..585fdc699cda 100644 --- a/code/datums/skills.dm +++ b/code/datums/skills.dm @@ -79,6 +79,11 @@ else REMOVE_TRAIT(owner, TRAIT_LEADERSHIP, TRAIT_SOURCE_SKILL(skill_name)) +/datum/skill/overwatch + skill_name = SKILL_OVERWATCH + skill_level = SKILL_OVERWATCH_DEFAULT + max_skill_level = SKILL_OVERWATCH_MAX + /datum/skill/medical skill_name = SKILL_MEDICAL skill_level = SKILL_MEDICAL_DEFAULT @@ -281,17 +286,29 @@ CIVILIAN skills = list( SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, SKILL_INTEL = SKILL_INTEL_EXPERT, ) +/datum/skills/civilian/icc_investigation + name = "ICC CL - Black Market ERT" + skills = list( + SKILL_CQC = SKILL_CQC_DEFAULT, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, //The ASRS consoles + SKILL_FIREARMS = SKILL_FIREARMS_CIVILIAN, + SKILL_POLICE = SKILL_POLICE_SKILLED, //The CMB Tradeband Compliance Device + ) + /datum/skills/civilian/manager/director name = "Weyland-Yutani Director" skills = list( SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, @@ -312,6 +329,7 @@ CIVILIAN name = "Weyland-Yutani Manager" skills = list( SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_INTEL = SKILL_INTEL_EXPERT, ) @@ -576,6 +594,7 @@ COMMAND STAFF SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -593,6 +612,7 @@ COMMAND STAFF SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_POLICE = SKILL_POLICE_SKILLED, @@ -614,6 +634,7 @@ COMMAND STAFF SKILL_ENGINEER = SKILL_ENGINEER_ENGI, //to fix CIC apc. SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_POLICE = SKILL_POLICE_FLASH, @@ -633,6 +654,7 @@ COMMAND STAFF SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, @@ -650,6 +672,7 @@ COMMAND STAFF SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_TRAINED, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -676,6 +699,7 @@ COMMAND STAFF skills = list( SKILL_FIREARMS = SKILL_FIREARMS_CIVILIAN, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_TRAINED, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -692,6 +716,7 @@ COMMAND STAFF SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_JTAC = SKILL_JTAC_EXPERT, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, @@ -707,6 +732,7 @@ COMMAND STAFF SKILL_PILOT = SKILL_PILOT_EXPERT, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_JTAC = SKILL_JTAC_EXPERT, @@ -725,6 +751,7 @@ COMMAND STAFF SKILL_ENGINEER = SKILL_ENGINEER_MASTER, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_MASTER, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, @@ -738,6 +765,7 @@ COMMAND STAFF skills = list( SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, @@ -783,6 +811,7 @@ MILITARY NONCOMBATANT SKILL_PILOT = SKILL_PILOT_EXPERT, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -817,6 +846,7 @@ MILITARY NONCOMBATANT SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, @@ -881,6 +911,7 @@ SYNTHETIC SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MASTER, SKILL_SURGERY = SKILL_SURGERY_EXPERT, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -940,6 +971,7 @@ SYNTHETIC SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MASTER, SKILL_SURGERY = SKILL_SURGERY_EXPERT, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -1043,6 +1075,7 @@ United States Colonial Marines skills = list( SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_CQC = SKILL_CQC_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -1113,6 +1146,7 @@ COLONIAL LIBERATION FRONT SKILL_ENGINEER = SKILL_ENGINEER_ENGI, // to use their C4 SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, @@ -1130,6 +1164,7 @@ COLONIAL LIBERATION FRONT SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, @@ -1176,6 +1211,7 @@ FREELANCERS SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_CQC = SKILL_CQC_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_JTAC = SKILL_JTAC_EXPERT, ) @@ -1243,6 +1279,7 @@ UNITED PROGRESSIVE PEOPLES SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_CQC = SKILL_CQC_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_JTAC = SKILL_JTAC_EXPERT, ) @@ -1269,6 +1306,7 @@ UNITED PROGRESSIVE PEOPLES SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, @@ -1283,6 +1321,7 @@ UNITED PROGRESSIVE PEOPLES SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_EXPERT, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, @@ -1386,6 +1425,7 @@ Private Military Contractors SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_JTAC = SKILL_JTAC_TRAINED, @@ -1401,6 +1441,7 @@ Private Military Contractors SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_CQC = SKILL_CQC_SKILLED, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -1462,6 +1503,7 @@ Private Military Contractors SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_CQC = SKILL_CQC_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, SKILL_JTAC = SKILL_JTAC_MASTER, SKILL_EXECUTION = SKILL_EXECUTION_TRAINED, @@ -1495,6 +1537,7 @@ CONTRACTORS SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, @@ -1583,6 +1626,7 @@ COLONIAL MARSHALS SKILL_CQC = SKILL_CQC_EXPERT, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_FIREMAN = SKILL_FIREMAN_MASTER, @@ -1602,6 +1646,7 @@ COLONIAL MARSHALS SKILL_FIREARMS = SKILL_FIREARMS_TRAINED, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, // incase the synth needs to use consoles for investigations or tracking + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SURGERY = SKILL_SURGERY_TRAINED, // Not a medical Synthetic, but operate if absolutely needed. SKILL_RESEARCH = SKILL_RESEARCH_TRAINED, @@ -1687,6 +1732,7 @@ COLONIAL MARSHALS SKILL_CQC = SKILL_CQC_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_VEHICLE = SKILL_VEHICLE_LARGE, SKILL_JTAC = SKILL_JTAC_EXPERT, @@ -1779,6 +1825,7 @@ SPEC-OPS SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, @@ -1892,6 +1939,7 @@ MISCELLANEOUS SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_MAX, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, SKILL_JTAC = SKILL_JTAC_MASTER, @@ -1934,6 +1982,7 @@ MISCELLANEOUS skills = list( SKILL_VEHICLE = SKILL_VEHICLE_CREWMAN, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, @@ -1969,6 +2018,7 @@ MISCELLANEOUS SKILL_MELEE_WEAPONS = SKILL_MELEE_SUPER, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, //Spartacus! + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, SKILL_JTAC = SKILL_JTAC_MASTER, ) @@ -1997,6 +2047,7 @@ MISCELLANEOUS SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_DOCTOR, SKILL_SPEC_WEAPONS = SKILL_SPEC_ALL, SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, @@ -2014,6 +2065,7 @@ MISCELLANEOUS SKILL_ENGINEER = SKILL_ENGINEER_MASTER, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_MAX, SKILL_JTAC = SKILL_JTAC_MASTER, ) @@ -2042,6 +2094,7 @@ MISCELLANEOUS SKILL_ENGINEER = SKILL_ENGINEER_MAX, SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_MAX, SKILL_LEADERSHIP = SKILL_LEAD_MAX, + SKILL_OVERWATCH = SKILL_OVERWATCH_MAX, SKILL_MEDICAL = SKILL_MEDICAL_MAX, SKILL_SURGERY = SKILL_SURGERY_MAX, SKILL_RESEARCH = SKILL_RESEARCH_MAX, @@ -2055,3 +2108,75 @@ MISCELLANEOUS SKILL_EXECUTION = SKILL_EXECUTION_MAX, SKILL_INTEL = SKILL_INTEL_MAX, ) + +/* +---------------------------- +Royal Marines Commando +---------------------------- +*/ + +//NOTE: Skills take heavy from PMCs + +/datum/skills/rmc + name = "Royal Marines Commando" + skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, + ) + +/datum/skills/rmc/specialist + name = "Royal Marines Commando Specialist" + skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, + SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, + SKILL_JTAC = SKILL_JTAC_BEGINNER, + ) + +/datum/skills/rmc/smartgun + name = "Royal Marines Commando Smartgunner" + skills = list( + SKILL_CQC = SKILL_CQC_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, + SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, + SKILL_JTAC = SKILL_JTAC_BEGINNER, + SKILL_SPEC_WEAPONS = SKILL_SPEC_SMARTGUN, + ) + +/datum/skills/rmc/leader + name = "Royal Marines Commando Leader" + skills = list( + SKILL_CQC = SKILL_CQC_SKILLED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POLICE = SKILL_POLICE_SKILLED, + SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_ENGI, + SKILL_ENDURANCE = SKILL_ENDURANCE_MASTER, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, + SKILL_MELEE_WEAPONS = SKILL_MELEE_TRAINED, + SKILL_JTAC = SKILL_JTAC_TRAINED, + SKILL_LEADERSHIP = SKILL_LEAD_TRAINED, + ) diff --git a/code/datums/supply_packs/_supply_packs.dm b/code/datums/supply_packs/_supply_packs.dm index 8f38c6151589..061779d9e5ce 100644 --- a/code/datums/supply_packs/_supply_packs.dm +++ b/code/datums/supply_packs/_supply_packs.dm @@ -23,6 +23,8 @@ var/iteration_needed = 0 /// How many W-Y dollars are deducted from the supply controller. Only use for contraband. var/dollar_cost = 0 + /// How much "heat" this crate adds, too much heat will send an investigation. Only use for contraband. + var/crate_heat = 0 /datum/supply_packs/New() if(randomised_num_contained) diff --git a/code/datums/supply_packs/black_market.dm b/code/datums/supply_packs/black_market.dm index 1737a66e85a9..0709811195b4 100644 --- a/code/datums/supply_packs/black_market.dm +++ b/code/datums/supply_packs/black_market.dm @@ -16,7 +16,7 @@ black market prices are NOT based on real or in-universe costs. they are based o */ -/datum/supply_packs/contraband//base +/datum/supply_packs/contraband //base name = "contraband crate" contains = null containertype = null @@ -25,6 +25,7 @@ black market prices are NOT based on real or in-universe costs. they are based o contraband = TRUE cost = 0 dollar_cost = 50 + crate_heat = 5 /obj/structure/largecrate/black_market /// Wipes points from objects inside to avoid infinite farming. @@ -68,11 +69,13 @@ Non-USCM items, from CLF, UPP, colonies, etc. Mostly combat-related. contains = list(/obj/item/device/black_market_scanner) containername = "trash cart" dollar_cost = 5 + crate_heat = 0 containertype = /obj/structure/closet/crate/trashcart /datum/supply_packs/contraband/seized/confiscated_equipment name = "seized foreign equipment crate" dollar_cost = 70 + crate_heat = 10 containertype = /obj/structure/largecrate/black_market/confiscated_equipment /obj/structure/largecrate/black_market/confiscated_equipment/Initialize() @@ -115,6 +118,7 @@ Non-USCM items, from CLF, UPP, colonies, etc. Mostly combat-related. name = "seized foreign weaponry crate" contains = list() dollar_cost = 45 + crate_heat = 15 containertype = /obj/structure/largecrate/black_market/confiscated_weaponry /obj/structure/largecrate/black_market/confiscated_weaponry/Initialize() @@ -413,6 +417,7 @@ Additionally, weapons that are way too good to put in the basically-flavor black /obj/item/ammo_magazine/pistol/holdout, ) dollar_cost = 5 + crate_heat = 2 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/seized/bizon @@ -527,6 +532,7 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/reagent_container/food/drinks/bottle/beer/craft/mono, ) dollar_cost = 35 + crate_heat = -5 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/shipside/confiscated_medicine @@ -541,6 +547,7 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/storage/pill_bottle/paracetamol, ) dollar_cost = 25 + crate_heat = 3 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/shipside/confiscated_cuisine @@ -582,6 +589,7 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/reagent_container/food/condiment/hotsauce/franks/macho, ) dollar_cost = 15 + crate_heat = -5 containertype = /obj/structure/largecrate/black_market @@ -598,6 +606,7 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/storage/fancy/cigar/tarbacktube, ) dollar_cost = 45 + crate_heat = -5 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/shipside/confiscated_miscellaneous @@ -622,7 +631,6 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/explosive/grenade/smokebomb, /obj/item/corncob, /obj/item/poster, - /obj/item/weapon/banhammer, /obj/item/toy/prize/ripley, /obj/item/toy/prize/fireripley, /obj/item/toy/prize/deathripley, @@ -639,6 +647,7 @@ Primarily made up of things that would be best utilized, well, shipside. Recreat /obj/item/pamphlet/language/spanish, ) dollar_cost = 30 + crate_heat = -2 containertype = /obj/structure/largecrate/black_market @@ -659,6 +668,7 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted name = "surplus USCM poncho crate (x2)" dollar_cost = 15 containertype = /obj/structure/largecrate/black_market/poncho + crate_heat = -2 /obj/structure/largecrate/black_market/poncho/Initialize() . = ..() @@ -671,6 +681,7 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted /datum/supply_packs/contraband/surplus/uscm_heap name = "surplus high-explosive armor-piercing M41A magazine crate (x3)" dollar_cost = 40 + crate_heat = -2 containertype = /obj/structure/largecrate/black_market/uscm_heap /obj/structure/largecrate/black_market/uscm_heap/Initialize() @@ -715,6 +726,7 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted name = "surplus magazine box (Ext M4RA x 12)" contains = list(/obj/item/ammo_box/magazine/m4ra/ext) dollar_cost = 45 + crate_heat = 3 containertype = /obj/structure/largecrate/black_market /* - Misc. USCM weaponry - */ @@ -761,14 +773,13 @@ This is where the RO can reclaim their lost honor and purchase the M44 custom, t /datum/supply_packs/contraband/deep_storage group = "Deep Storage" - - -// Helmet Garb + crate_heat = -5 /datum/supply_packs/contraband/deep_storage/spacejam name = "Tickets to Space Jam" contains = list(/obj/item/prop/helmetgarb/spacejam_tickets) dollar_cost = 5 + crate_heat = -2 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/deep_storage/broken_nvgs @@ -923,6 +934,7 @@ This is where the RO can reclaim their lost honor and purchase the M44 custom, t name = "Frozen Lime" contains = list(/obj/item/reagent_container/food/snacks/grown/lime) dollar_cost = 5 + crate_heat = -2 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/deep_storage/uno_reverse_random @@ -961,18 +973,21 @@ This is where the RO can reclaim their lost honor and purchase the M44 custom, t name = "D18 Holdout Pistol" contains = list(/obj/item/storage/box/clf) dollar_cost = 10 + crate_heat = 2 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/deep_storage/m4a3_c name = "M4A3 Custom Pistol" contains = list(/obj/item/weapon/gun/pistol/m4a3/custom) dollar_cost = 35 + crate_heat = 4 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/deep_storage/m44_c name = "M44 Custom Revolver" contains = list(/obj/item/weapon/gun/revolver/m44/custom) dollar_cost = 70 + crate_heat = 4 containertype = /obj/structure/largecrate/black_market /* --- MISCELLANEOUS --- */ @@ -989,6 +1004,7 @@ Things that don't fit anywhere else. If they're meant for shipside use, they pro /datum/supply_packs/contraband/miscellaneous/secured_wildlife name = "secured wildlife container" dollar_cost = 45 + crate_heat = 7 containertype = /obj/structure/largecrate/black_market/secured_wildlife /obj/structure/largecrate/black_market/secured_wildlife @@ -1007,6 +1023,7 @@ Things that don't fit anywhere else. If they're meant for shipside use, they pro /datum/supply_packs/contraband/miscellaneous/potted_plant name = "potted plant crate" dollar_cost = 50 + crate_heat = -10 contains = list(/obj/structure/flora/pottedplant/random/unanchored) containertype = /obj/structure/largecrate/black_market @@ -1019,6 +1036,7 @@ Things that don't fit anywhere else. If they're meant for shipside use, they pro /datum/supply_packs/contraband/miscellaneous/clf_supplies name = "unmarked CLF supply crate" dollar_cost = 40 + crate_heat = 25 contains = list() containertype = /obj/structure/largecrate/black_market/clf_supplies diff --git a/code/datums/supply_packs/weapons.dm b/code/datums/supply_packs/weapons.dm index a28e0c7191ce..927db853e9fd 100644 --- a/code/datums/supply_packs/weapons.dm +++ b/code/datums/supply_packs/weapons.dm @@ -42,7 +42,7 @@ group = "Weapons" /datum/supply_packs/grenade_launchers - name = "M79 Grenade Launcher Crate (x2 Guncasess)" + name = "M79 Grenade Launcher Crate (x2 Guncases)" contains = list( /obj/item/storage/box/guncase/m79, /obj/item/storage/box/guncase/m79, @@ -120,6 +120,16 @@ containername = "\improper XM88 Heavy Rifle crate" group = "Weapons" +/* Uncomment me if it's decided to let the m707 be purchasable through req +/datum/supply_packs/gun/m707 + name = "M707 Anti-Materiel Rifle crate (M707 x1)" + contains = list() + cost = 120 + containertype = /obj/structure/closet/crate/secure/vulture + containername = "M707 crate" + group = "Weapons" +*/ + /datum/supply_packs/gun/merc contains = list() name = "black market firearms (x1)" diff --git a/code/game/area/admin_level.dm b/code/game/area/admin_level.dm index a934b5f71570..00b408c04adf 100644 --- a/code/game/area/admin_level.dm +++ b/code/game/area/admin_level.dm @@ -125,6 +125,10 @@ name = "Freelancer Station" icon_state = "yellow" +/area/adminlevel/ert_station/royal_marines_station + name = "HMS Patna Hangerbay" + icon_state = "yellow" + /area/adminlevel/ert_station/shuttle_dispatch name = "Shuttle Dispatch Station" soundscape_playlist = SCAPE_PL_ELEVATOR_MUSIC diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 9b64833cb547..b8a901ccf321 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -271,7 +271,7 @@ /atom/movable/clone/get_examine_text(mob/user) return src.mstr.get_examine_text(user) -/atom/movable/clone/bullet_act(obj/item/projectile/P) +/atom/movable/clone/bullet_act(obj/projectile/P) return src.mstr.bullet_act(P) ///////////////////// diff --git a/code/game/cas_manager/datums/cas_fire_envelope.dm b/code/game/cas_manager/datums/cas_fire_envelope.dm index 450fe8e6a82b..d7c939b76e16 100644 --- a/code/game/cas_manager/datums/cas_fire_envelope.dm +++ b/code/game/cas_manager/datums/cas_fire_envelope.dm @@ -125,10 +125,6 @@ mission_error = mission.error_message(check_result) return 0 - if(target_turf && target_turf.signal_loc) - var/turf/TT = get_turf(target_turf.signal_loc) - if(TT && TT.z) - msg_admin_niche("[key_name(usr)] launching Fire Mission '[mission.name]' onto [target_turf.name] at ([TT.x],[TT.y],[TT.z]) [ADMIN_JMP(TT)]") //actual firemission code execute_firemission_unsafe(target_turf, offset, dir, mission) return 1 diff --git a/code/game/cas_manager/datums/cas_fire_mission.dm b/code/game/cas_manager/datums/cas_fire_mission.dm index 42f5b4bd8655..0a04876414e7 100644 --- a/code/game/cas_manager/datums/cas_fire_mission.dm +++ b/code/game/cas_manager/datums/cas_fire_mission.dm @@ -98,6 +98,17 @@ if(initial_turf == null || check(linked_console) != FIRE_MISSION_ALL_GOOD) return FIRE_MISSION_NOT_EXECUTABLE + var/obj/effect/firemission_effect = new(initial_turf) + + firemission_effect.icon = 'icons/obj/items/weapons/projectiles.dmi' + firemission_effect.icon_state = "laser_target2" + firemission_effect.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + firemission_effect.invisibility = INVISIBILITY_MAXIMUM + QDEL_IN(firemission_effect, 5 SECONDS) + + notify_ghosts(header = "CAS Fire Mission", message = "[usr ? usr : "Someone"] is launching Fire Mission '[name]' at [get_area(initial_turf)].", source = firemission_effect) + msg_admin_niche("[usr ? key_name(usr) : "Someone"] is launching Fire Mission '[name]' at ([initial_turf.x],[initial_turf.y],[initial_turf.z]) [ADMIN_JMP(initial_turf)]") + var/relative_dir for(var/mob/M in range(15, initial_turf)) if(get_turf(M) == initial_turf) diff --git a/code/game/gamemodes/cm_self_destruct.dm b/code/game/gamemodes/cm_self_destruct.dm index 8c022fd0d916..d2f9c4eac784 100644 --- a/code/game/gamemodes/cm_self_destruct.dm +++ b/code/game/gamemodes/cm_self_destruct.dm @@ -103,7 +103,7 @@ var/global/datum/authority/branch/evacuation/EvacuationAuthority //This is initi for(var/obj/structure/machinery/status_display/SD in machines) if(is_mainship_level(SD.z)) SD.set_picture("evac") - for(var/obj/docking_port/mobile/escape_shuttle/shuttle in SSshuttle.mobile) + for(var/obj/docking_port/mobile/crashable/escape_shuttle/shuttle in SSshuttle.mobile) shuttle.prepare_evac() activate_lifeboats() process_evacuation() @@ -121,7 +121,7 @@ var/global/datum/authority/branch/evacuation/EvacuationAuthority //This is initi if(is_mainship_level(SD.z)) SD.set_picture("redalert") - for(var/obj/docking_port/mobile/escape_shuttle/shuttle in SSshuttle.mobile) + for(var/obj/docking_port/mobile/crashable/escape_shuttle/shuttle in SSshuttle.mobile) shuttle.cancel_evac() return TRUE @@ -132,17 +132,17 @@ var/global/datum/authority/branch/evacuation/EvacuationAuthority //This is initi ai_announcement("WARNING: Evacuation order confirmed. Launching escape pods.", 'sound/AI/evacuation_confirmed.ogg') addtimer(CALLBACK(src, PROC_REF(launch_lifeboats)), 10 SECONDS) // giving some time to board lifeboats - for(var/obj/docking_port/mobile/escape_shuttle/shuttle in SSshuttle.mobile) + for(var/obj/docking_port/mobile/crashable/escape_shuttle/shuttle in SSshuttle.mobile) shuttle.evac_launch() sleep(50) sleep(300) //Sleep 30 more seconds to make sure everyone had a chance to leave. var/lifesigns = 0 // lifesigns += P.passengers - var/obj/docking_port/mobile/lifeboat/lifeboat1 = SSshuttle.getShuttle(MOBILE_SHUTTLE_LIFEBOAT_PORT) + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat1 = SSshuttle.getShuttle(MOBILE_SHUTTLE_LIFEBOAT_PORT) lifeboat1.check_for_survivors() lifesigns += lifeboat1.survivors - var/obj/docking_port/mobile/lifeboat/lifeboat2 = SSshuttle.getShuttle(MOBILE_SHUTTLE_LIFEBOAT_STARBOARD) + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat2 = SSshuttle.getShuttle(MOBILE_SHUTTLE_LIFEBOAT_STARBOARD) lifeboat2.check_for_survivors() lifesigns += lifeboat2.survivors ai_announcement("ATTENTION: Evacuation complete. Outbound lifesigns detected: [lifesigns ? lifesigns : "none"].", 'sound/AI/evacuation_complete.ogg') @@ -166,7 +166,7 @@ var/global/datum/authority/branch/evacuation/EvacuationAuthority //This is initi // LIFEBOATS CORNER /datum/authority/branch/evacuation/proc/activate_lifeboats() for(var/obj/docking_port/stationary/lifeboat_dock/lifeboat_dock in GLOB.lifeboat_almayer_docks) - var/obj/docking_port/mobile/lifeboat/lifeboat = lifeboat_dock.get_docked() + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = lifeboat_dock.get_docked() if(lifeboat && lifeboat.available) lifeboat.status = LIFEBOAT_ACTIVE lifeboat_dock.open_dock() @@ -174,15 +174,15 @@ var/global/datum/authority/branch/evacuation/EvacuationAuthority //This is initi /datum/authority/branch/evacuation/proc/deactivate_lifeboats() for(var/obj/docking_port/stationary/lifeboat_dock/lifeboat_dock in GLOB.lifeboat_almayer_docks) - var/obj/docking_port/mobile/lifeboat/lifeboat = lifeboat_dock.get_docked() + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = lifeboat_dock.get_docked() if(lifeboat && lifeboat.available) lifeboat.status = LIFEBOAT_INACTIVE /datum/authority/branch/evacuation/proc/launch_lifeboats() for(var/obj/docking_port/stationary/lifeboat_dock/lifeboat_dock in GLOB.lifeboat_almayer_docks) - var/obj/docking_port/mobile/lifeboat/lifeboat = lifeboat_dock.get_docked() + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = lifeboat_dock.get_docked() if(lifeboat && lifeboat.available) - lifeboat.send_to_infinite_transit() + lifeboat.evac_launch() //========================================================================================= //========================================================================================= diff --git a/code/game/gamemodes/colonialmarines/colonialmarines.dm b/code/game/gamemodes/colonialmarines/colonialmarines.dm index cf2b7819a596..258a1a962713 100644 --- a/code/game/gamemodes/colonialmarines/colonialmarines.dm +++ b/code/game/gamemodes/colonialmarines/colonialmarines.dm @@ -265,7 +265,7 @@ continue if(groundside_humans > (groundside_xenos * GROUNDSIDE_XENO_MULTIPLIER)) - SSticker.mode.get_specific_call("Xenomorphs Groundside (Forsaken)", FALSE, FALSE, announce_dispatch_message = FALSE) + SSticker.mode.get_specific_call("Xenomorphs Groundside (Forsaken)", TRUE, FALSE, FALSE, announce_dispatch_message = FALSE) TIMER_COOLDOWN_START(src, COOLDOWN_HIJACK_GROUND_CHECK, 1 MINUTES) diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm index e172939c847f..3d856f35ce77 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm @@ -193,7 +193,7 @@ announce_xeno_wave(wave) if(xeno_wave == 7) //Wave when Marines get reinforcements! - get_specific_call("Marine Reinforcements (Squad)", TRUE, FALSE) + get_specific_call("Marine Reinforcements (Squad)", FALSE, TRUE, FALSE) xeno_wave = min(xeno_wave + 1, WO_MAX_WAVE) diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost/skills.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost/skills.dm index d6dfc695c5d0..a5126627adaf 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost/skills.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost/skills.dm @@ -17,6 +17,7 @@ SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_JTAC = SKILL_JTAC_EXPERT, ) @@ -37,6 +38,7 @@ SKILL_ENGINEER = SKILL_ENGINEER_ENGI, //to fix CIC apc. SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, diff --git a/code/game/jobs/job/civilians/support/working_joe.dm b/code/game/jobs/job/civilians/support/working_joe.dm index ce1c8010c216..00a848cce427 100644 --- a/code/game/jobs/job/civilians/support/working_joe.dm +++ b/code/game/jobs/job/civilians/support/working_joe.dm @@ -46,9 +46,8 @@ else . = {"You are a Working Joe for Hazardous Environments! You are held to a higher standard and are required to obey not only the Server Rules but Marine Law, Roleplay Expectations and Synthetic Rules. You are a variant of the Working Joe built for tougher environments and fulfill the specific duty of dangerous repairs or maintenance. Your primary task is to maintain the reactor, SMES and AI Core. Your secondary task is to respond to hazardous environments, such as an atmospheric breach or biohazard spill, and assist with repairs when ordered to by either an AI Mainframe, or a Commisioned Officer. You should not be seen outside of emergencies besides in Engineering and the AI Core! Stay in character at all times. Use the APOLLO link to communicate with your uplink!"} - /datum/job/civilian/working_joe/announce_entry_message(mob/living/carbon/human/H) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ai_announcement), "[H.real_name] has been activated."), 1.5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ares_apollo_talk), "[H.real_name] has been activated."), 1.5 SECONDS) return ..() /obj/effect/landmark/start/working_joe diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm index ccf90aa2af55..39f5891804ad 100644 --- a/code/game/jobs/job/marine/squads.dm +++ b/code/game/jobs/job/marine/squads.dm @@ -381,13 +381,14 @@ var/message_colour = chat_color if(only_leader) if(squad_leader) - var/mob/living/carbon/human/SL = squad_leader - if(!SL.stat && SL.client) - SL.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, message_colour) + if(!squad_leader.stat && squad_leader.client) + playsound_client(squad_leader.client, 'sound/effects/radiostatic.ogg', squad_leader.loc, 25, FALSE) + squad_leader.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, message_colour) else - for(var/mob/living/carbon/human/M in marines_list) - if(!M.stat && M.client) //Only living and connected people in our squad - M.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, message_colour) + for(var/mob/living/carbon/human/marine in marines_list) + if(!marine.stat && marine.client) //Only living and connected people in our squad + playsound_client(marine.client, 'sound/effects/radiostatic.ogg', marine.loc, 25, FALSE) + marine.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, message_colour) /// Displays a message to the squad members in chat /datum/squad/proc/send_message(text = "", plus_name = 0, only_leader = 0) diff --git a/code/game/machinery/ARES/ARES.dm b/code/game/machinery/ARES/ARES.dm index 4bfd5b98ad26..ed4391c89c24 100644 --- a/code/game/machinery/ARES/ARES.dm +++ b/code/game/machinery/ARES/ARES.dm @@ -149,8 +149,10 @@ var/list/records_talking = list() /// Holds all (/datum/ares_record/requisition_log)s var/list/records_asrs = list() - /// Holds all (/datum/ares_record/security)s and (/datum/ares_record/antiair)s + /// Holds all (/datum/ares_record/security)s (including AA) var/list/records_security = list() + /// Holds all (/datum/ares_record/flight)s + var/list/records_flight = list() /// Is nuke request usable or not? var/nuke_available = TRUE @@ -206,12 +208,6 @@ var/list/login_list = list() - /// If this is used to create AI Core access tickets - var/ticket_console = FALSE - var/obj/item/card/id/authenticator_id - var/ticket_authenticated = FALSE - var/obj/item/card/id/target_id - /obj/structure/machinery/computer/working_joe/proc/link_systems(datum/ares_link/new_link = GLOB.ares_link, override) if(link && !override) return FALSE diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index bd3fa6536be0..e03f218f0f34 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -32,6 +32,8 @@ GLOBAL_LIST_INIT(maintenance_categories, list( /// Working Joe stuff var/list/tickets_maintenance = list() var/list/tickets_access = list() + var/list/waiting_ids = list() + var/list/active_ids = list() /datum/ares_link/Destroy() for(var/obj/structure/machinery/ares/link in linked_systems) @@ -57,20 +59,23 @@ GLOBAL_LIST_INIT(maintenance_categories, list( /datum/ares_link/proc/log_ares_bioscan(title, input) interface.records_bioscan.Add(new /datum/ares_record/bioscan(title, input)) -/datum/ares_link/proc/log_ares_bombardment(mob/living/user, ob_name, coordinates) - interface.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, "Bombardment fired at [coordinates].", user)) +/datum/ares_link/proc/log_ares_bombardment(user_name, ob_name, coordinates) + interface.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, "Bombardment fired at [coordinates].", user_name)) /datum/ares_link/proc/log_ares_announcement(title, message) interface.records_announcement.Add(new /datum/ares_record/announcement(title, message)) -/datum/ares_link/proc/log_ares_antiair(mob/living/user, details) - interface.records_security.Add(new /datum/ares_record/antiair(details, user)) - -/datum/ares_link/proc/log_ares_requisition(source, details, mob/living/user) - interface.records_asrs.Add(new /datum/ares_record/requisition_log(source, details, user)) +/datum/ares_link/proc/log_ares_requisition(source, details, user_name) + interface.records_asrs.Add(new /datum/ares_record/requisition_log(source, details, user_name)) /datum/ares_link/proc/log_ares_security(title, details) interface.records_security.Add(new /datum/ares_record/security(title, details)) + +/datum/ares_link/proc/log_ares_antiair(details) + interface.records_security.Add(new /datum/ares_record/security/antiair(details)) + +/datum/ares_link/proc/log_ares_flight(user_name, details) + interface.records_flight.Add(new /datum/ares_record/flight(details, user_name)) // ------ End ARES Logging Procs ------ // /proc/ares_apollo_talk(broadcast_message) @@ -225,8 +230,6 @@ GLOBAL_LIST_INIT(maintenance_categories, list( var/list/logged_alerts = list() for(var/datum/ares_record/security/security_alert as anything in records_security) - if(!istype(security_alert)) - continue var/list/current_alert = list() current_alert["time"] = security_alert.time current_alert["title"] = security_alert.title @@ -235,6 +238,17 @@ GLOBAL_LIST_INIT(maintenance_categories, list( logged_alerts += list(current_alert) data["records_security"] = logged_alerts + var/list/logged_flights = list() + for(var/datum/ares_record/flight/flight_log as anything in records_flight) + var/list/current_flight = list() + current_flight["time"] = flight_log.time + current_flight["title"] = flight_log.title + current_flight["details"] = flight_log.details + current_flight["user"] = flight_log.user + current_flight["ref"] = "\ref[flight_log]" + logged_flights += list(current_flight) + data["records_flight"] = logged_flights + var/list/logged_bioscans = list() for(var/datum/ares_record/bioscan/scan as anything in records_bioscan) var/list/current_scan = list() @@ -280,18 +294,6 @@ GLOBAL_LIST_INIT(maintenance_categories, list( logged_discussions += list(deleted_disc) data["deleted_discussions"] = logged_discussions - var/list/logged_adjustments = list() - for(var/datum/ares_record/antiair/aa_adjustment as anything in records_security) - if(!istype(aa_adjustment)) - continue - var/list/current_adjustment = list() - current_adjustment["time"] = aa_adjustment.time - current_adjustment["details"] = aa_adjustment.details - current_adjustment["user"] = aa_adjustment.user - current_adjustment["ref"] = "\ref[aa_adjustment]" - logged_adjustments += list(current_adjustment) - data["aa_adjustments"] = logged_adjustments - var/list/logged_orders = list() for(var/datum/ares_record/requisition_log/req_order as anything in records_asrs) if(!istype(req_order)) @@ -429,12 +431,12 @@ GLOBAL_LIST_INIT(maintenance_categories, list( if("page_security") last_menu = current_menu current_menu = "security" + if("page_flight") + last_menu = current_menu + current_menu = "flight_log" if("page_requisitions") last_menu = current_menu current_menu = "requisitions" - if("page_antiair") - last_menu = current_menu - current_menu = "antiair" if("page_emergency") last_menu = current_menu current_menu = "emergency" @@ -458,7 +460,7 @@ GLOBAL_LIST_INIT(maintenance_categories, list( new_title = "[record.title] at [record.time]" new_details = record.details records_announcement -= record - if(ARES_RECORD_SECURITY) + if(ARES_RECORD_SECURITY, ARES_RECORD_ANTIAIR) new_title = "[record.title] at [record.time]" new_details = record.details records_security -= record @@ -623,100 +625,22 @@ GLOBAL_LIST_INIT(maintenance_categories, list( /obj/structure/machinery/computer/working_joe/ares_auth_to_text(access_level) switch(access_level) - if(APOLLO_ACCESS_REQUEST)//0 + if(APOLLO_ACCESS_LOGOUT)//0 + return "Logged Out" + if(APOLLO_ACCESS_REQUEST)//1 return "Unauthorized Personnel" - if(APOLLO_ACCESS_REPORTER)//1 + if(APOLLO_ACCESS_REPORTER)//2 return "Validated Incident Reporter" - if(APOLLO_ACCESS_TEMP)//2 + if(APOLLO_ACCESS_TEMP)//3 return "Authorized Visitor" - if(APOLLO_ACCESS_AUTHED)//3 + if(APOLLO_ACCESS_AUTHED)//4 return "Certified Personnel" - if(APOLLO_ACCESS_JOE)//4 + if(APOLLO_ACCESS_JOE)//5 return "Working Joe" - if(APOLLO_ACCESS_DEBUG)//5 + if(APOLLO_ACCESS_DEBUG)//6 return "AI Service Technician" // ------ Maintenance Controller UI ------ // -/obj/structure/machinery/computer/working_joe/verb/eject_id() - set category = "Object" - set name = "Eject ID Card" - set src in oview(1) - - if(!usr || usr.stat || usr.lying) - return FALSE - - if(authenticator_id) - authenticator_id.loc = get_turf(src) - if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human)) - usr.put_in_hands(authenticator_id) - if(operable()) // Powered. Console can response. - visible_message("[SPAN_BOLD("[src]")] states, \"AUTH LOGOUT: Session end confirmed.\"") - else - to_chat(usr, "You remove [authenticator_id] from [src].") - ticket_authenticated = FALSE // No card - no access - authenticator_id = null - - else if(target_id) - target_id.loc = get_turf(src) - if(!usr.get_active_hand() && istype(usr,/mob/living/carbon/human)) - usr.put_in_hands(target_id) - else - to_chat(usr, "You remove [target_id] from [src].") - target_id = null - - else - to_chat(usr, "There is nothing to remove from the console.") - return - -/obj/structure/machinery/computer/working_joe/attackby(obj/object, mob/user) - if(istype(object, /obj/item/card/id)) - if(!ticket_console) - to_chat(user, SPAN_WARNING("This console doesn't have an ID port!")) - return FALSE - if(!operable()) - to_chat(user, SPAN_NOTICE("You try to insert [object] but [src] remains silent.")) - return FALSE - var/obj/item/card/id/idcard = object - if((idcard.assignment == JOB_WORKING_JOE) || (ACCESS_ARES_DEBUG in idcard.access)) - if(!authenticator_id) - if(user.drop_held_item()) - object.forceMove(src) - authenticator_id = object - authenticate(authenticator_id) - else if(!target_id) - if(user.drop_held_item()) - object.forceMove(src) - target_id = object - else - to_chat(user, "Both slots are full already. Remove a card first.") - return FALSE - else - if(!target_id) - if(user.drop_held_item()) - object.forceMove(src) - target_id = object - else - to_chat(user, "Both slots are full already. Remove a card first.") - return FALSE - else - ..() - -/obj/structure/machinery/computer/working_joe/proc/authenticate(obj/item/card/id/id_card) - if(!id_card) - visible_message("[SPAN_BOLD("[src]")] states, \"AUTH ERROR: Authenticator card is missing!\"") - return FALSE - - if((ACCESS_MARINE_AI in id_card.access) || (ACCESS_ARES_DEBUG in id_card.access)) - ticket_authenticated = TRUE - visible_message("[SPAN_BOLD("[src]")] states, \"AUTH LOGIN: Welcome, [id_card.registered_name]. Access granted.\"") - return TRUE - - visible_message("[SPAN_BOLD("[src]")] states, \"AUTH ERROR: Access denied.\"") - return FALSE - - - - /obj/structure/machinery/computer/working_joe/attack_hand(mob/user as mob) if(..() || !allowed(usr) || inoperable()) return FALSE @@ -733,7 +657,6 @@ GLOBAL_LIST_INIT(maintenance_categories, list( /obj/structure/machinery/computer/working_joe/ui_data(mob/user) var/list/data = list() - data["ticket_console"] = ticket_console data["current_menu"] = current_menu data["last_page"] = last_menu @@ -751,9 +674,6 @@ GLOBAL_LIST_INIT(maintenance_categories, list( data["apollo_log"] = list() data["apollo_log"] += link.apollo_log - data["authenticated"] = ticket_authenticated - - var/list/logged_maintenance = list() for(var/datum/ares_ticket/maintenance/maint_ticket as anything in link.tickets_maintenance) if(!istype(maint_ticket)) @@ -778,10 +698,11 @@ GLOBAL_LIST_INIT(maintenance_categories, list( data["maintenance_tickets"] = logged_maintenance var/list/logged_access = list() + var/list/requesting_access = list() for(var/datum/ares_ticket/access/access_ticket as anything in link.tickets_access) var/lock_status = TICKET_OPEN switch(access_ticket.ticket_status) - if(TICKET_REJECTED, TICKET_CANCELLED, TICKET_COMPLETED) + if(TICKET_REJECTED, TICKET_CANCELLED, TICKET_REVOKED) lock_status = TICKET_CLOSED var/list/current_ticket = list() @@ -796,8 +717,10 @@ GLOBAL_LIST_INIT(maintenance_categories, list( current_ticket["lock_status"] = lock_status current_ticket["ref"] = "\ref[access_ticket]" logged_access += list(current_ticket) - data["access_tickets"] = logged_access + if(lock_status == TICKET_OPEN) + requesting_access += access_ticket.ticket_name + data["access_tickets"] = logged_access return data @@ -867,9 +790,6 @@ GLOBAL_LIST_INIT(maintenance_categories, list( if("page_request") last_menu = current_menu current_menu = "access_requests" - if("page_returns") - last_menu = current_menu - current_menu = "access_returns" if("page_report") last_menu = current_menu current_menu = "maint_reports" @@ -966,28 +886,122 @@ GLOBAL_LIST_INIT(maintenance_categories, list( return TRUE if("new_access") - var/priority_report = FALSE - var/ticket_holder = tgui_input_text(operator, "Who is the ticket for?", "Ticket Holder", encode = FALSE) + var/obj/item/card/id/idcard = operator.get_active_hand() + var/has_id = FALSE + if(istype(idcard)) + has_id = TRUE + else if(operator.wear_id) + idcard = operator.wear_id + if(istype(idcard)) + has_id = TRUE + if(!has_id) + to_chat(operator, SPAN_WARNING("You require an ID card to request an access ticket!")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(idcard.registered_name != last_login) + to_chat(operator, SPAN_WARNING("This ID card does not match the active login!")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + + var/ticket_holder = last_login if(!ticket_holder) return FALSE var/details = tgui_input_text(operator, "What is the purpose of this access ticket?", "Ticket Details", encode = FALSE) if(!details) return FALSE - if(authentication >= APOLLO_ACCESS_AUTHED) - var/is_priority = tgui_alert(operator, "Is this a priority request?", "Priority designation", list("Yes", "No")) - if(is_priority == "Yes") - priority_report = TRUE - - var/confirm = alert(operator, "Please confirm the submission of your access ticket request. \n\n Priority: [priority_report ? "Yes" : "No"] \n Holder: '[ticket_holder]' \n Details: '[details]' \n\n Is this correct?", "Confirmation", "Yes", "No") + var/confirm = alert(operator, "Please confirm the submission of your access ticket request. \n\nHolder: '[ticket_holder]' \n Details: '[details]' \n\n Is this correct?", "Confirmation", "Yes", "No") if(confirm != "Yes" || !link) return FALSE - var/datum/ares_ticket/access/access_ticket = new(last_login, ticket_holder, details, priority_report) + var/datum/ares_ticket/access/access_ticket = new(last_login, ticket_holder, details, FALSE, idcard.registered_gid) + link.waiting_ids += idcard link.tickets_access += access_ticket - if(priority_report) - ares_apollo_talk("Priority Access Request: [ticket_holder] - ID [access_ticket.ticket_id]. Seek and resolve.") log_game("ARES: Access Ticket '\ref[access_ticket]' created by [key_name(operator)] as [last_login] with Holder '[ticket_holder]' and Details of '[details]'.") + message_admins(SPAN_STAFF_IC("[key_name_admin(operator)] created a new ARES Access Ticket."), 1) return TRUE + if("return_access") + playsound = FALSE + var/datum/ares_ticket/access/access_ticket + for(var/datum/ares_ticket/access/possible_ticket in link.tickets_access) + if(possible_ticket.ticket_status != TICKET_GRANTED) + continue + if(possible_ticket.ticket_name != last_login) + continue + access_ticket = possible_ticket + break + + for(var/obj/item/card/id/identification in link.active_ids) + if(!istype(identification)) + continue + if(identification.registered_gid != access_ticket.user_id_num) + continue + + access_ticket.ticket_status = TICKET_RETURNED + identification.access -= ACCESS_MARINE_AI_TEMP + identification.modification_log += "Temporary AI Access self-returned by [key_name(operator)]." + + to_chat(operator, SPAN_NOTICE("Temporary Access Ticket surrendered.")) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + ares_apollo_talk("[last_login] surrendered their access ticket.") + + authentication = get_ares_access(identification) + if(authentication) + login_list += "[last_login] at [worldtime2text()], Surrendered Temporary Access Ticket." + return TRUE + + to_chat(operator, SPAN_WARNING("This ID card does not have an access ticket!")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + + if("auth_access") + playsound = FALSE + var/datum/ares_ticket/access/access_ticket = locate(params["ticket"]) + if(!access_ticket) + return FALSE + for(var/obj/item/card/id/identification in link.waiting_ids) + if(!istype(identification)) + continue + if(identification.registered_gid != access_ticket.user_id_num) + continue + identification.handle_ares_access(last_login, operator) + access_ticket.ticket_status = TICKET_GRANTED + playsound(src, 'sound/machines/chime.ogg', 15, 1) + return TRUE + for(var/obj/item/card/id/identification in link.active_ids) + if(!istype(identification)) + continue + if(identification.registered_gid != access_ticket.user_id_num) + continue + identification.handle_ares_access(last_login, operator) + access_ticket.ticket_status = TICKET_REVOKED + playsound(src, 'sound/machines/chime.ogg', 15, 1) + return TRUE + return FALSE + if(playsound) playsound(src, "keyboard_alt", 15, 1) + +/obj/item/card/id/proc/handle_ares_access(logged_in, mob/user) + var/announce_text = "[logged_in] revoked core access from [registered_name]'s ID card." + var/operator = key_name(user) + var/datum/ares_link/link = GLOB.ares_link + if(logged_in == MAIN_AI_SYSTEM) + if(!user) + operator = "[MAIN_AI_SYSTEM] (Sensor Trip)" + else + operator = "[user.ckey]/([MAIN_AI_SYSTEM])" + if(ACCESS_MARINE_AI_TEMP in access) + access -= ACCESS_MARINE_AI_TEMP + link.active_ids -= src + modification_log += "Temporary AI access revoked by [operator]" + to_chat(user, SPAN_NOTICE("Access revoked from [registered_name].")) + else + access += ACCESS_MARINE_AI_TEMP + modification_log += "Temporary AI access granted by [operator]" + announce_text = "[logged_in] granted core access to [registered_name]'s ID card." + to_chat(user, SPAN_NOTICE("Access granted to [registered_name].")) + link.waiting_ids -= src + link.active_ids += src + ares_apollo_talk(announce_text) + return TRUE diff --git a/code/game/machinery/ARES/ARES_records.dm b/code/game/machinery/ARES/ARES_records.dm index 4e2b479e71a2..19751462bc37 100644 --- a/code/game/machinery/ARES/ARES_records.dm +++ b/code/game/machinery/ARES/ARES_records.dm @@ -32,13 +32,21 @@ /datum/ares_record/security record_name = ARES_RECORD_SECURITY -/datum/ares_record/antiair +/datum/ares_record/security/antiair record_name = ARES_RECORD_ANTIAIR -/datum/ares_record/antiair/New(details, user) +/datum/ares_record/security/antiair/New(details) time = worldtime2text() src.title = "AntiAir Adjustment" src.details = details + +/datum/ares_record/flight + record_name = ARES_RECORD_FLIGHT + +/datum/ares_record/flight/New(details, user) + time = worldtime2text() + src.title = "Flight Log" + src.details = details src.user = user /datum/ares_record/bombardment @@ -107,3 +115,17 @@ /datum/ares_ticket/access ticket_type = ARES_RECORD_ACCESS + var/user_id_num + +/datum/ares_ticket/access/New(user, name, details, priority, global_id_num) + var/ref_holder = "\ref[src]" + var/pos = length(ref_holder) + var/new_id = "#[copytext("\ref[src]", pos - 4, pos)]" + + ticket_time = worldtime2text() + ticket_submitter = user + ticket_details = details + ticket_name = name + ticket_priority = priority + ticket_id = new_id + user_id_num = global_id_num diff --git a/code/game/machinery/ARES/ARES_step_triggers.dm b/code/game/machinery/ARES/ARES_step_triggers.dm index a50aa40abd90..335a877f9f25 100644 --- a/code/game/machinery/ARES/ARES_step_triggers.dm +++ b/code/game/machinery/ARES/ARES_step_triggers.dm @@ -163,7 +163,18 @@ to_chat(passer, SPAN_BOLDWARNING("You hear a harsh buzzing sound as you cross the threshold!")) ares_apollo_talk(broadcast_message) if(idcard) - idcard.access -= ACCESS_MARINE_AI_TEMP + /// Removes the access from the ID and updates the ID's modification log. + for(var/obj/item/card/id/identification in link.active_ids) + if(identification != idcard) + continue + idcard.access -= ACCESS_MARINE_AI_TEMP + link.active_ids -= idcard + idcard.modification_log += "Temporary AI access revoked by [MAIN_AI_SYSTEM]" + /// Updates the related access ticket. + for(var/datum/ares_ticket/access/access_ticket in link.tickets_access) + if(access_ticket.user_id_num != idcard.registered_gid) + continue + access_ticket.ticket_status = TICKET_REVOKED COOLDOWN_START(src, sensor_cooldown, COOLDOWN_ARES_ACCESS_CONTROL) if(alert_id && link) for(var/obj/effect/step_trigger/ares_alert/sensor in link.linked_alerts) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 7e548d02d919..3c2c81ff0ce7 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -90,7 +90,7 @@ update_flag density = FALSE update_icon() -/obj/structure/machinery/portable_atmospherics/canister/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/portable_atmospherics/canister/bullet_act(obj/projectile/Proj) if(Proj.ammo.damage) update_health(round(Proj.ammo.damage / 2)) ..() diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index b7bd61337ee4..116753093fe5 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -92,7 +92,7 @@ else ..() -/obj/structure/machinery/bot/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/bot/bullet_act(obj/projectile/Proj) health -= Proj.ammo.damage ..() healthcheck() diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 03dbe299b1f7..08de86581518 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -166,7 +166,7 @@ /obj/structure/holohoop/BlockedPassDirs(atom/movable/mover, target_dir) if(istype(mover,/obj/item) && mover.throwing) var/obj/item/I = mover - if(istype(I, /obj/item/projectile)) + if(istype(I, /obj/projectile)) return BLOCKED_MOVEMENT if(prob(50)) I.forceMove(src.loc) diff --git a/code/game/machinery/computer/almayer_control.dm b/code/game/machinery/computer/almayer_control.dm index 012c1d9eea4a..c3b17dbf8090 100644 --- a/code/game/machinery/computer/almayer_control.dm +++ b/code/game/machinery/computer/almayer_control.dm @@ -164,11 +164,11 @@ if(!level_selected) return - set_security_level(seclevel2num(level_selected)) + set_security_level(seclevel2num(level_selected), log = ARES_LOG_NONE) log_game("[key_name(usr)] has changed the security level to [get_security_level()].") message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].") var/datum/ares_link/link = GLOB.ares_link - link.log_ares_security("Security Level Update", "[usr] has changed the security level to [get_security_level()].") + link.log_ares_security("Manual Security Update", "[usr] has changed the security level to [get_security_level()].") . = TRUE if("messageUSCM") diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 8fa0b9b86a0c..adce72f7d8b6 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -56,7 +56,7 @@ else return -/obj/structure/machinery/computer/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/computer/bullet_act(obj/projectile/Proj) if(exproof) visible_message("[Proj] ricochets off [src]!") return 0 diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index e3e5fd3bee87..dc28cdca6f5c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -162,7 +162,7 @@ GLOBAL_LIST_INIT(airlock_wire_descriptions, list( else return FALSE -/obj/structure/machinery/door/airlock/bullet_act(obj/item/projectile/P) +/obj/structure/machinery/door/airlock/bullet_act(obj/projectile/P) bullet_ping(P) if(P.damage) if(P.ammo.flags_ammo_behavior & AMMO_ROCKET) diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index da4ad01c086b..6123d56b8f23 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -66,6 +66,7 @@ icon = 'icons/obj/structures/doors/Door2x1research.dmi' opacity = FALSE glass = 1 + req_one_access = list(ACCESS_MARINE_RESEARCH, ACCESS_WY_RESEARCH, ACCESS_WY_EXEC) /obj/structure/machinery/door/airlock/multi_tile/research/colony req_access = null @@ -178,7 +179,7 @@ /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor/research name = "\improper Research Airlock" - req_one_access = list(ACCESS_MARINE_RESEARCH) + req_one_access = list(ACCESS_MARINE_RESEARCH, ACCESS_WY_RESEARCH, ACCESS_WY_EXEC) masterkey_resist = TRUE /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor/research/colony @@ -271,6 +272,7 @@ unacidable = TRUE no_panel = 1 not_weldable = 1 + var/queen_pryable = TRUE /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/ex_act(severity) return @@ -285,6 +287,9 @@ if(xeno.hive_pos != XENO_QUEEN) return ..() + if(!queen_pryable) + return ..() + if(!locked) return ..() @@ -316,6 +321,7 @@ locked = TRUE opacity = FALSE glass = TRUE + queen_pryable = FALSE var/throw_dir = EAST /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/try_to_activate_door(mob/user) @@ -353,8 +359,8 @@ /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override) . = ..() - if(istype(port, /obj/docking_port/mobile/lifeboat)) - var/obj/docking_port/mobile/lifeboat/lifeboat = port + if(istype(port, /obj/docking_port/mobile/crashable/lifeboat)) + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = port lifeboat.doors += src /// External airlock that is part of the lifeboat dock diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index e9006a9f2fb4..2b57fbd0a44d 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -123,7 +123,7 @@ qdel(src) return -/obj/structure/machinery/door/window/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/door/window/bullet_act(obj/projectile/Proj) bullet_ping(Proj) if(Proj.ammo.damage) take_damage(round(Proj.ammo.damage / 2)) diff --git a/code/game/machinery/fax_machine.dm b/code/game/machinery/fax_machine.dm index 783d24c00f2e..ff26ce802b08 100644 --- a/code/game/machinery/fax_machine.dm +++ b/code/game/machinery/fax_machine.dm @@ -396,7 +396,7 @@ var/list/alldepartments = list() P.stamps += "
This paper has been stamped by the USCM High Command Quantum Relay." if("NC4 UA Federal Secure Network - CMB Relay") var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-uscm" // placeholder icon + stampoverlay.icon_state = "paper_stamp-cmb" if(!P.stamped) P.stamped = new P.stamped += /obj/item/tool/stamp @@ -404,7 +404,7 @@ var/list/alldepartments = list() P.stamps += "
This paper has been stamped by The Office of Colonial Marshals." if("Weyland-Yutani Quantum Relay") var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-weyyu" if(!P.stamped) P.stamped = new P.stamped += /obj/item/tool/stamp diff --git a/code/game/machinery/telecomms/presets.dm b/code/game/machinery/telecomms/presets.dm index d9637d2c315f..918555fd82d3 100644 --- a/code/game/machinery/telecomms/presets.dm +++ b/code/game/machinery/telecomms/presets.dm @@ -76,7 +76,7 @@ if(!on) msg_admin_niche("Portable communication relay shut down for Z-Level [src.z] [ADMIN_JMP(src)]") -/obj/structure/machinery/telecomms/relay/preset/tower/bullet_act(obj/item/projectile/P) +/obj/structure/machinery/telecomms/relay/preset/tower/bullet_act(obj/projectile/P) ..() if(istype(P.ammo, /datum/ammo/xeno/boiler_gas)) update_health(50) @@ -340,6 +340,8 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers) for(var/obj/effect/alien/weeds/weed in new_pylon.node.children) weed.parent = new_pylon.node + weed.spread_on_semiweedable = TRUE + weed.weed_expand() RegisterSignal(new_pylon, COMSIG_PARENT_QDELETING, PROC_REF(uncorrupt)) diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm index 7f43f93cf8a4..7073dc383dcd 100644 --- a/code/game/machinery/vending/vendor_types/medical.dm +++ b/code/game/machinery/vending/vendor_types/medical.dm @@ -26,7 +26,6 @@ /obj/item/reagent_container/hypospray/autoinjector/oxycodone, /obj/item/reagent_container/hypospray/autoinjector/tramadol, /obj/item/reagent_container/hypospray/autoinjector/tricord, - /obj/item/reagent_container/hypospray/autoinjector/emergency, /obj/item/reagent_container/hypospray/autoinjector/skillless, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index d2ba88096131..65169a7591ae 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -29,7 +29,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("Autoinjector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR), list("Autoinjector (Tramadol)", 1, /obj/item/reagent_container/hypospray/autoinjector/tramadol, null, VENDOR_ITEM_REGULAR), list("Autoinjector (Tricord)", 1, /obj/item/reagent_container/hypospray/autoinjector/tricord, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Emergency)", 2, /obj/item/reagent_container/hypospray/autoinjector/emergency, null, VENDOR_ITEM_REGULAR), list("PILL BOTTLES", 0, null, null, null), list("Pill Bottle (Bicaridine)", 5, /obj/item/storage/pill_bottle/bicaridine, null, VENDOR_ITEM_RECOMMENDED), diff --git a/code/game/machinery/vending/vendor_types/supplies.dm b/code/game/machinery/vending/vendor_types/supplies.dm index 2a2f35de8c19..376edf7ffc5d 100644 --- a/code/game/machinery/vending/vendor_types/supplies.dm +++ b/code/game/machinery/vending/vendor_types/supplies.dm @@ -23,8 +23,6 @@ list("FOOD AND BEVERAGE", -1, null, null), list("MRE", 25, /obj/item/storage/box/MRE, VENDOR_ITEM_REGULAR), list("Water Bottle", 25, /obj/item/reagent_container/food/drinks/cans/waterbottle, VENDOR_ITEM_REGULAR), - list("Aspen Beer", 10, /obj/item/storage/beer_pack, VENDOR_ITEM_REGULAR),//NOTE TO SELF, LOCK THIS ALCOHOL BEHIND SHIP ESCAPE - list("Wey-Yu Sake", 5, /obj/item/reagent_container/food/drinks/bottle/sake, VENDOR_ITEM_REGULAR), list("UTILITY", -1, null, null), list("M94 Marking Flare Pack", 5, /obj/item/storage/box/m94, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 5391ed2710a8..338f8b9a7e8e 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -79,7 +79,7 @@ deconstruct(FALSE) return -/obj/effect/decal/mecha_wreckage/bullet_act(obj/item/projectile/Proj) +/obj/effect/decal/mecha_wreckage/bullet_act(obj/projectile/Proj) return 1 /obj/effect/decal/mecha_wreckage/attack_alien(mob/living/carbon/xenomorph/M) diff --git a/code/game/objects/effects/effect_system/foam.dm b/code/game/objects/effects/effect_system/foam.dm index a7647dbd4489..f26736c8bfc4 100644 --- a/code/game/objects/effects/effect_system/foam.dm +++ b/code/game/objects/effects/effect_system/foam.dm @@ -188,7 +188,7 @@ /obj/structure/foamed_metal/ex_act(severity) take_damage(severity * FOAMED_METAL_EXPLOSION_DMG) -/obj/structure/foamed_metal/bullet_act(obj/item/projectile/P) +/obj/structure/foamed_metal/bullet_act(obj/projectile/P) if(P.ammo.damage_type == HALLOSS || P.ammo.damage_type == TOX || P.ammo.damage_type == CLONE || P.damage == 0) return diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index da388b1be1e4..78aa01b5dacb 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -51,7 +51,8 @@ qdel(src) return else if(time_to_live == 1) - alpha = 180 + if(alpha > 180) + alpha = 180 amount = 0 set_opacity(0) @@ -63,8 +64,8 @@ /obj/effect/particle_effect/smoke/Crossed(atom/movable/M) ..() - if(istype(M, /obj/item/projectile/beam)) - var/obj/item/projectile/beam/B = M + if(istype(M, /obj/projectile/beam)) + var/obj/projectile/beam/B = M B.damage = (B.damage/2) if(iscarbon(M)) affect(M) @@ -254,45 +255,79 @@ name = "CN20 nerve gas" smokeranking = SMOKE_RANK_HIGH color = "#80c7e4" + var/xeno_affecting = FALSE + opacity = FALSE + alpha = 75 + +/obj/effect/particle_effect/smoke/cn20/xeno + name = "CN20-X nerve gas" + color = "#2da9da" + xeno_affecting = TRUE /obj/effect/particle_effect/smoke/cn20/Move() . = ..() - for(var/mob/living/carbon/human/creature in get_turf(src)) - affect(creature) - -/obj/effect/particle_effect/smoke/cn20/affect(mob/living/carbon/human/creature) + if(!xeno_affecting) + for(var/mob/living/carbon/human/human in get_turf(src)) + affect(human) + else + for(var/mob/living/carbon/creature in get_turf(src)) + affect(creature) + +/obj/effect/particle_effect/smoke/cn20/affect(mob/living/carbon/creature) + var/mob/living/carbon/xenomorph/xeno_creature + var/mob/living/carbon/human/human_creature + if(isxeno(creature)) + xeno_creature = creature + else if(ishuman(creature)) + human_creature = creature if(!istype(creature) || issynth(creature) || creature.stat == DEAD) return FALSE + if(!xeno_affecting && xeno_creature) + return FALSE if(isyautja(creature) && prob(75)) return FALSE - if (creature.wear_mask && (creature.wear_mask.flags_inventory & BLOCKGASEFFECT)) + if(creature.wear_mask && (creature.wear_mask.flags_inventory & BLOCKGASEFFECT)) + return FALSE + if(human_creature && (human_creature.head && (human_creature.head.flags_inventory & BLOCKGASEFFECT))) return FALSE var/effect_amt = round(6 + amount*6) - creature.apply_damage(12, OXY) + if(xeno_creature) + if(xeno_creature.interference < 4) + to_chat(xeno_creature, SPAN_XENOHIGHDANGER("Your awareness dims to a small area!")) + xeno_creature.interference = 10 + xeno_creature.blinded = TRUE + else + creature.apply_damage(12, OXY) creature.SetEarDeafness(max(creature.ear_deaf, round(effect_amt*1.5))) //Paralysis of hearing system, aka deafness - if(!creature.eye_blind) //Eye exposure damage + if(!xeno_creature && !creature.eye_blind) //Eye exposure damage to_chat(creature, SPAN_DANGER("Your eyes sting. You can't see!")) - creature.SetEyeBlind(round(effect_amt/3)) - if(creature.coughedtime != 1 && !creature.stat) //Coughing/gasping + creature.SetEyeBlind(round(effect_amt/3)) + if(!xeno_creature && creature.coughedtime != 1 && !creature.stat) //Coughing/gasping creature.coughedtime = 1 if(prob(50)) creature.emote("cough") else creature.emote("gasp") addtimer(VARSET_CALLBACK(creature, coughedtime, 0), 1.5 SECONDS) - if (prob(20)) + var/stun_chance = 20 + if(xeno_affecting) + stun_chance = 35 + if(prob(stun_chance)) creature.apply_effect(1, WEAKEN) //Topical damage (neurotoxin on exposed skin) - to_chat(creature, SPAN_DANGER("Your body is going numb, almost as if paralyzed!")) + if(xeno_creature) + to_chat(xeno_creature, SPAN_XENODANGER("You are struggling to move, it's as if you're paralyzed!")) + else + to_chat(creature, SPAN_DANGER("Your body is going numb, almost as if paralyzed!")) if(prob(60 + round(amount*15))) //Highly likely to drop items due to arms/hands seizing up creature.drop_held_item() - if(ishuman(creature)) - creature.temporary_slowdown = max(creature.temporary_slowdown, 4) //One tick every two second - creature.recalculate_move_delay = TRUE + if(human_creature) + human_creature.temporary_slowdown = max(human_creature.temporary_slowdown, 4) //One tick every two second + human_creature.recalculate_move_delay = TRUE return TRUE ////////////////////////////////////// @@ -595,6 +630,9 @@ /datum/effect_system/smoke_spread/cn20 smoke_type = /obj/effect/particle_effect/smoke/cn20 +/datum/effect_system/smoke_spread/cn20/xeno + smoke_type = /obj/effect/particle_effect/smoke/cn20/xeno + // XENO SMOKES /datum/effect_system/smoke_spread/xeno_acid diff --git a/code/game/objects/effects/landmarks/corpsespawner.dm b/code/game/objects/effects/landmarks/corpsespawner.dm index bcedcb85f47e..fe338bceabfe 100644 --- a/code/game/objects/effects/landmarks/corpsespawner.dm +++ b/code/game/objects/effects/landmarks/corpsespawner.dm @@ -48,10 +48,6 @@ name = "Engineer" equip_path = /datum/equipment_preset/corpse/engineer -/obj/effect/landmark/corpsespawner/clown - name = "Clown" - equip_path = /datum/equipment_preset/corpse/clown - /obj/effect/landmark/corpsespawner/scientist name = "Scientist" equip_path = /datum/equipment_preset/corpse/scientist diff --git a/code/game/objects/effects/spawners/random.dm b/code/game/objects/effects/spawners/random.dm index 77390d533c9e..450981377a73 100644 --- a/code/game/objects/effects/spawners/random.dm +++ b/code/game/objects/effects/spawners/random.dm @@ -206,7 +206,6 @@ /obj/item/poster,\ /obj/item/toy/bikehorn,\ /obj/item/toy/beach_ball,\ - /obj/item/weapon/banhammer,\ /obj/item/toy/balloon,\ /obj/item/toy/blink,\ /obj/item/toy/crossbow,\ diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 9c74cd71fbad..f9b5ddb42f68 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -38,7 +38,7 @@ health -= damage healthcheck() -/obj/effect/spider/bullet_act(obj/item/projectile/Proj) +/obj/effect/spider/bullet_act(obj/projectile/Proj) ..() health -= Proj.ammo.damage healthcheck() @@ -67,7 +67,7 @@ if(prob(50)) to_chat(mover, SPAN_WARNING("You get stuck in [src] for a moment.")) return BLOCKED_MOVEMENT - else if(istype(mover, /obj/item/projectile)) + else if(istype(mover, /obj/projectile)) if(prob(30)) return BLOCKED_MOVEMENT return NO_BLOCKED_MOVEMENT diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 80254be4a6d9..a5a5ca40d8fb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -2,8 +2,8 @@ name = "item" icon = 'icons/obj/items/items.dmi' mouse_drag_pointer = MOUSE_ACTIVE_POINTER + layer = ITEM_LAYER light_system = MOVABLE_LIGHT - /// this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite var/image/blood_overlay = null var/randpixel = 6 @@ -229,28 +229,28 @@ item, and will change the skin to whatever you specify here. You can also manually override the icon with a unique skin if wanted, for the outlier cases. Override_icon_state should be a list.*/ /obj/item/proc/select_gamemode_skin(expected_type, list/override_icon_state, list/override_protection) - if(type == expected_type && !istype(src, /obj/item/clothing/suit/storage/marine/fluff) && !istype(src, /obj/item/clothing/head/helmet/marine/fluff) && !istype(src, /obj/item/clothing/under/marine/fluff)) - var/new_icon_state - var/new_protection - var/new_item_state - if(override_icon_state && override_icon_state.len) - new_icon_state = override_icon_state[SSmapping.configs[GROUND_MAP].map_name] - if(override_protection && override_protection.len) - new_protection = override_protection[SSmapping.configs[GROUND_MAP].map_name] - switch(SSmapping.configs[GROUND_MAP].camouflage_type) - if("snow") - icon_state = new_icon_state ? new_icon_state : "s_" + icon_state - item_state = new_item_state ? new_item_state : "s_" + item_state - if("desert") - icon_state = new_icon_state ? new_icon_state : "d_" + icon_state - item_state = new_item_state ? new_item_state : "d_" + item_state - if("classic") - icon_state = new_icon_state ? new_icon_state : "c_" + icon_state - item_state = new_item_state ? new_item_state : "c_" + item_state - if(new_protection) - min_cold_protection_temperature = new_protection - else return + if(type != expected_type) + return + var/new_icon_state + var/new_protection + var/new_item_state + if(override_icon_state && override_icon_state.len) + new_icon_state = override_icon_state[SSmapping.configs[GROUND_MAP].map_name] + if(override_protection && override_protection.len) + new_protection = override_protection[SSmapping.configs[GROUND_MAP].map_name] + switch(SSmapping.configs[GROUND_MAP].camouflage_type) + if("snow") + icon_state = new_icon_state ? new_icon_state : "s_" + icon_state + item_state = new_item_state ? new_item_state : "s_" + item_state + if("desert") + icon_state = new_icon_state ? new_icon_state : "d_" + icon_state + item_state = new_item_state ? new_item_state : "d_" + item_state + if("classic") + icon_state = new_icon_state ? new_icon_state : "c_" + icon_state + item_state = new_item_state ? new_item_state : "c_" + item_state + if(new_protection) + min_cold_protection_temperature = new_protection /obj/item/get_examine_text(mob/user) . = list() @@ -368,6 +368,7 @@ cases. Override_icon_state should be a list.*/ /obj/item/proc/pickup(mob/user, silent) SHOULD_CALL_PARENT(TRUE) SEND_SIGNAL(src, COMSIG_ITEM_PICKUP, user) + SEND_SIGNAL(user, COMSIG_MOB_PICKUP_ITEM, src) setDir(SOUTH)//Always rotate it south. This resets it to default position, so you wouldn't be putting things on backwards if(pickup_sound && !silent && src.loc?.z) playsound(src, pickup_sound, pickupvol, pickup_vary) @@ -635,6 +636,8 @@ cases. Override_icon_state should be a list.*/ return FALSE if(flags_equip_slot & SLOT_SUIT_STORE) return TRUE + if(flags_equip_slot & SLOT_BLOCK_SUIT_STORE) + return FALSE if(!H.wear_suit && (WEAR_JACKET in mob_equip)) if(!disable_warning) to_chat(H, SPAN_WARNING("You need a suit before you can attach this [name].")) diff --git a/code/game/objects/items/circuitboards/computer.dm b/code/game/objects/items/circuitboards/computer.dm index d754ada57ca1..db19b79ac0fd 100644 --- a/code/game/objects/items/circuitboards/computer.dm +++ b/code/game/objects/items/circuitboards/computer.dm @@ -158,18 +158,25 @@ name = "Circuit board (ASRS console)" build_path = /obj/structure/machinery/computer/supplycomp - var/contraband_enabled = 0 + var/contraband_enabled = FALSE + var/black_market_lock = FALSE /obj/item/circuitboard/computer/supplycomp/construct(obj/structure/machinery/computer/supplycomp/SC) if (..(SC)) SC.toggle_contraband(contraband_enabled) + SC.lock_black_market(black_market_lock) /obj/item/circuitboard/computer/supplycomp/disassemble(obj/structure/machinery/computer/supplycomp/SC) + if(SC.can_order_contraband) + contraband_enabled = TRUE + if(SC.black_market_lockout) + black_market_lock = TRUE if (..(SC)) SC.toggle_contraband(contraband_enabled) + SC.lock_black_market(black_market_lock) -/obj/item/circuitboard/computer/supplycomp/attackby(obj/item/multitool, mob/user) - if(HAS_TRAIT(multitool, TRAIT_TOOL_MULTITOOL)) +/obj/item/circuitboard/computer/supplycomp/attackby(obj/item/tool, mob/user) + if(HAS_TRAIT(tool, TRAIT_TOOL_MULTITOOL)) to_chat(user, SPAN_WARNING("You start messing around with the electronics of \the [src]...")) if(do_after(user, 8 SECONDS, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI)) @@ -178,11 +185,40 @@ to_chat(user, SPAN_WARNING("Huh? You find a processor bus with the letters 'B.M.' written in white crayon over it. You start fiddling with it.")) if(do_after(user, 8 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) if(!contraband_enabled) - to_chat(user, SPAN_WARNING("You amplify the broadcasting function with \the [multitool], and a red light starts blinking on and off on the board. Put it back in?")) + to_chat(user, SPAN_WARNING("You amplify the broadcasting function with \the [tool], and a red light starts blinking on and off on the board. Put it back in?")) contraband_enabled = TRUE else - to_chat(user, SPAN_WARNING("You weaken the broadcasting function with \the [multitool], and the red light stops blinking, turning off. It's probably good now.")) + to_chat(user, SPAN_WARNING("You weaken the broadcasting function with \the [tool], and the red light stops blinking, turning off. It's probably good now.")) contraband_enabled = FALSE + + if(HAS_TRAIT(tool, TRAIT_TOOL_TRADEBAND)) + + if(!skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED)) + to_chat(user, SPAN_NOTICE("You do not know how to use [tool]")) + return + + if(black_market_lock) + to_chat(user, SPAN_NOTICE("[src] has already been reset.")) + return + + if(user.action_busy) + to_chat(user, "You are too busy with other actions to fix any tampering.") + return + + playsound(tool, 'sound/machines/lockenable.ogg', 25) + user.visible_message(SPAN_NOTICE("[user] attaches [tool] to [src]."),\ + SPAN_NOTICE("You begin to fix any tampering to [src].")) + tool.icon_state = "[tool.icon_state]_on" + + if(!do_after(user, 15 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC, tool, INTERRUPT_ALL)) + tool.icon_state = initial(tool.icon_state) + return + + playsound(tool, 'sound/machines/ping.ogg', 25) + black_market_lock = TRUE + contraband_enabled = FALSE + tool.icon_state = initial(tool.icon_state) + else ..() /obj/item/circuitboard/computer/supplycomp/vehicle diff --git a/code/game/objects/items/devices/device.dm b/code/game/objects/items/devices/device.dm index 148d47249201..d3058960233c 100644 --- a/code/game/objects/items/devices/device.dm +++ b/code/game/objects/items/devices/device.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/items/devices.dmi' var/serial_number -/obj/item/device/Initialize() +/obj/item/device/Initialize(mapload, ...) . = ..() serial_number = "[rand(0,9)][pick(alphabet_uppercase)][rand(0,9)][rand(0,9)][rand(0,9)][rand(0,9)][pick(alphabet_uppercase)]" diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 1359d101b6de..310e9dba0199 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -322,6 +322,11 @@ icon_state = "sl_key" channels = list("Command" = TRUE, "Engi" = TRUE, "MedSci" = TRUE, "Req" = TRUE, "JTAC" = TRUE, "Intel" = TRUE, "Almayer" = TRUE) +/obj/item/device/encryptionkey/royal_marine + name = "\improper Royal Marine Radio Encryption Key" + icon_state = "sl_key" + channels = list("Command" = TRUE, "Almayer" = TRUE,) + /obj/item/device/encryptionkey/cmb name = "\improper Colonial Marshal Bureau Radio Encryption Key" icon_state = "cmb_key" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 04fb5ea73daf..8acde358903f 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -974,6 +974,16 @@ initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/contractor) has_hud = TRUE +/obj/item/device/radio/headset/distress/royal_marine + name = "Royal Marine Headset" + desc = "A sleek headset used by the Royal Marines Commando. Low profile enough to fit under their unique helmets." + frequency = RMC_FREQ + icon_state = "vai_headset" + initial_keys = list(/obj/item/device/encryptionkey/public, /obj/item/device/encryptionkey/royal_marine) + has_hud = TRUE + hud_type = MOB_HUD_FACTION_TWE + volume = RADIO_VOLUME_IMPORTANT + //CMB Headsets /obj/item/device/radio/headset/distress/CMB name = "\improper CMB Earpiece" diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 83976e6a9077..1deee0f2ef8a 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -456,3 +456,12 @@ FORENSIC SCANNER update_icon(market_value, TRUE) playsound(user, 'sound/machines/twobeep.ogg', 15, TRUE) to_chat(user, SPAN_NOTICE("You scan [hit_atom] and notice a reading on [src]'s pad, it says: ITEM HAS [market_value] VALUE ")) + +/obj/item/device/cmb_black_market_tradeband + name = "\improper CMB Tradeband Compliance Device" + desc = "A device used to reset any tampering done to trading devices' signal range. Occasionally used to fix any signal chips damaged in an accident, but often for malpractice in trading. Use this with caution, as it will also reset any evidence of potential illicit trade. Created to fulfill a joint-organization requirement for CMB-ICC teams on the frontier, where tampered machinery was difficult to move and refurbish. Smugglers beware." + icon_state = "cmb_scanner" + item_state = "analyzer" + w_class = SIZE_SMALL + flags_atom = FPRINT + flags_equip_slot = SLOT_WAIST diff --git a/code/game/objects/items/devices/vulture_spotter.dm b/code/game/objects/items/devices/vulture_spotter.dm new file mode 100644 index 000000000000..b89009efde7e --- /dev/null +++ b/code/game/objects/items/devices/vulture_spotter.dm @@ -0,0 +1,41 @@ +/obj/item/device/vulture_spotter_scope + name = "\improper M707 spotter scope" + desc = "A scope that, when mounted on a tripod, allows a user to assist the M707's firer in target acquisition." + icon_state = "vulture_scope" + item_state = "electronic" + flags_atom = FPRINT|CONDUCT + unacidable = TRUE + indestructible = TRUE + /// A weakref to the corresponding rifle + var/datum/weakref/bound_rifle + +/obj/item/device/vulture_spotter_scope/Initialize(mapload, datum/weakref/rifle) + . = ..() + if(rifle) + bound_rifle = rifle + +/obj/item/device/vulture_spotter_scope/attack_self(mob/user) + . = ..() + to_chat(user, SPAN_WARNING("[src] needs to be mounted on a tripod to use!")) + +/obj/item/device/vulture_spotter_tripod + name = "\improper M707 spotter tripod" + desc = "A tripod, meant for stabilizing a spotting scope for the M707 anti-materiel rifle." + icon_state = "vulture_tripod" + item_state = "electronic" + flags_atom = FPRINT|CONDUCT + unacidable = TRUE + indestructible = TRUE + +/obj/item/device/vulture_spotter_tripod/get_examine_text(mob/user) + . = ..() + . += SPAN_NOTICE("[src] can be set down by using in-hand.") + +/obj/item/device/vulture_spotter_tripod/attack_self(mob/user) + . = ..() + user.balloon_alert(user, "setting up tripod...") + if(!do_after(user, 1.5 SECONDS, target = user)) + return + + new /obj/structure/vulture_spotter_tripod(get_turf(user)) + qdel(src) diff --git a/code/game/objects/items/explosives/grenades/marines.dm b/code/game/objects/items/explosives/grenades/marines.dm index a8e0e1803a33..2abb28075496 100644 --- a/code/game/objects/items/explosives/grenades/marines.dm +++ b/code/game/objects/items/explosives/grenades/marines.dm @@ -465,6 +465,45 @@ icon_state = "grenade_phos_clf" item_state = "grenade_phos_clf" +/* +//================================================ + Nerve Gas Grenades +//================================================ +*/ +/obj/item/explosive/grenade/nerve_gas + name = "\improper CN20 canister grenade" + desc = "A canister grenade of deadly nerve gas. It is set to detonate in 4 seconds." + icon_state = "flashbang2"//temp icon + det_time = 40 + item_state = "grenade_phos_clf"//temp icon + underslug_launchable = FALSE + harmful = TRUE + antigrief_protection = TRUE + var/datum/effect_system/smoke_spread/cn20/nerve_gas + var/nerve_gas_radius = 2 + +/obj/item/explosive/grenade/nerve_gas/New() + ..() + nerve_gas = new /datum/effect_system/smoke_spread/cn20 + nerve_gas.attach(src) + +/obj/item/explosive/grenade/nerve_gas/Destroy() + QDEL_NULL(nerve_gas) + return ..() + +/obj/item/explosive/grenade/nerve_gas/prime() + playsound(src.loc, 'sound/effects/smoke.ogg', 25, 1, 4) + nerve_gas.set_up(nerve_gas_radius, 0, get_turf(src), null, 6) + nerve_gas.start() + qdel(src) + +/obj/item/explosive/grenade/nerve_gas/xeno + name = "\improper CN20-X canister grenade" + +/obj/item/explosive/grenade/nerve_gas/xeno/New() + nerve_gas = new /datum/effect_system/smoke_spread/cn20/xeno + nerve_gas.attach(src) + /* //================================================ Airburst Smoke Grenades @@ -689,3 +728,23 @@ burn_level = BURN_LEVEL_TIER_3 radius = 2 fire_type = FIRE_VARIANT_DEFAULT + +//Royal marine grenades + +/obj/item/explosive/grenade/high_explosive/rmc + name = "\improper R2175/A HEDP grenade" + desc = "High-Explosive Dual-Purpose. A small, but deceptively strong blast grenade that has recently been added to the arsenal of the RMC." + icon_state = "rmc_grenade" + item_state = "grenade_hedp" + explosion_power = 130 + explosion_falloff = 30 + +/obj/item/explosive/grenade/incendiary/rmc + name = "\improper R2175/B HIDP grenade" + desc = "The R2175/B HIDP is a small, but deceptively strong incendiary grenade designed to rapidly clear areas with fast-acting potent fire. It is set to detonate in 4 seconds." + icon_state = "rmc_grenade_fire" + item_state = "grenade_fire" + flame_level = BURN_TIME_TIER_1 + burn_level = BURN_LEVEL_TIER_8 + radius = 3 + fire_type = FIRE_VARIANT_DEFAULT diff --git a/code/game/objects/items/pamphlets.dm b/code/game/objects/items/pamphlets.dm index dd96f275ef17..682215be67bb 100644 --- a/code/game/objects/items/pamphlets.dm +++ b/code/game/objects/items/pamphlets.dm @@ -186,3 +186,38 @@ desc = "A piece of paper covered in crude depictions of bananas and various types of primates. Probably drawn by a three-year-old child - or an unusually intelligent marine." trait = /datum/character_trait/language/primitive + +/obj/item/pamphlet/trait + bypass_pamphlet_limit = TRUE + /// What trait to give the user + var/trait_to_give + +/obj/item/pamphlet/trait/can_use(mob/living/carbon/human/user) + if(!istype(user)) + return FALSE + + if(HAS_TRAIT(user, trait_to_give)) + to_chat(user, SPAN_WARNING("You know this already!")) + return FALSE + + if(user.job != JOB_SQUAD_MARINE) + to_chat(user, SPAN_WARNING("Only squad riflemen can use this.")) + return FALSE + + if(user.has_used_pamphlet && !bypass_pamphlet_limit) + to_chat(user, SPAN_WARNING("You've already used a pamphlet!")) + return FALSE + + return TRUE + +/obj/item/pamphlet/trait/on_use(mob/living/carbon/human/user) + to_chat(user, SPAN_NOTICE(flavour_text)) + ADD_TRAIT(user, trait_to_give, "pamphlet") + if(!bypass_pamphlet_limit) + user.has_used_pamphlet = TRUE + +/obj/item/pamphlet/trait/vulture + name = "\improper M707 instructional pamphlet" + desc = "A pamphlet used to quickly impart vital knowledge of how to shoot big guns and spot for them." + icon_state = "pamphlet_vulture" + trait_to_give = TRAIT_VULTURE_USER diff --git a/code/game/objects/items/reagent_containers/autoinjectors.dm b/code/game/objects/items/reagent_containers/autoinjectors.dm index 4c1e8af88ee5..46463e628c1d 100644 --- a/code/game/objects/items/reagent_containers/autoinjectors.dm +++ b/code/game/objects/items/reagent_containers/autoinjectors.dm @@ -191,8 +191,10 @@ /obj/item/reagent_container/hypospray/autoinjector/emergency name = "emergency autoinjector (CAUTION)" + desc = "An auto-injector loaded with a special cocktail of chemicals, to be used in life-threatening situations. Doesn't require any training to use." + icon_state = "emptyskill" + item_state = "emptyskill" chemname = "emergency" - desc = "An auto-injector loaded with a special cocktail of chemicals, to be used in life-threatening situations." amount_per_transfer_from_this = (REAGENTS_OVERDOSE-1)*2 + (MED_REAGENTS_OVERDOSE-1) volume = (REAGENTS_OVERDOSE-1)*2 + (MED_REAGENTS_OVERDOSE-1) mixed_chem = TRUE @@ -201,12 +203,6 @@ injectVOL = 70//limited-supply emergency injector with v.large injection of drugs. Variable sfx freq sometimes rolls too quiet. display_maptext = TRUE //see anaesthetic injector maptext_label = "!!" - -/obj/item/reagent_container/hypospray/autoinjector/emergency/skillless - name = "EZ emergency autoinjector (CAUTION)" - desc = "An auto-injector loaded with a special cocktail of chemicals, to be used in life-threatening situations. Doesn't require any training to use." - icon_state = "emptyskill" - item_state = "emptyskill" skilllock = SKILL_MEDICAL_DEFAULT /obj/item/reagent_container/hypospray/autoinjector/emergency/Initialize() diff --git a/code/game/objects/items/reagent_containers/food/drinks/bottle.dm b/code/game/objects/items/reagent_containers/food/drinks/bottle.dm index e1936fbaaec4..0e63a19c7ef1 100644 --- a/code/game/objects/items/reagent_containers/food/drinks/bottle.dm +++ b/code/game/objects/items/reagent_containers/food/drinks/bottle.dm @@ -13,7 +13,7 @@ var/isGlass = TRUE black_market_value = 25 -/obj/item/reagent_container/food/drinks/bottle/bullet_act(obj/item/projectile/P) +/obj/item/reagent_container/food/drinks/bottle/bullet_act(obj/projectile/P) . = ..() if(isGlass) smash() diff --git a/code/game/objects/items/reagent_containers/food/drinks/drinkingglass.dm b/code/game/objects/items/reagent_containers/food/drinks/drinkingglass.dm index 31a0e517c725..eea71cd1a4bc 100644 --- a/code/game/objects/items/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/game/objects/items/reagent_containers/food/drinks/drinkingglass.dm @@ -682,7 +682,7 @@ return -/obj/item/reagent_container/food/drinks/drinkingglass/bullet_act(obj/item/projectile/P) +/obj/item/reagent_container/food/drinks/drinkingglass/bullet_act(obj/projectile/P) . = ..() smash() diff --git a/code/game/objects/items/shards.dm b/code/game/objects/items/shards.dm index 412a14268037..84c3d5b83427 100644 --- a/code/game/objects/items/shards.dm +++ b/code/game/objects/items/shards.dm @@ -75,7 +75,7 @@ // Shrapnel. -// on_embed is called from projectile.dm, bullet_act(obj/item/projectile/P). +// on_embed is called from projectile.dm, bullet_act(obj/projectile/P). // on_embedded_movement is called from human.dm, handle_embedded_objects(). /obj/item/large_shrapnel/proc/on_embedded_movement(mob/living/embedded_mob) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 37320aca0133..e0b3a4bde9dc 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -1105,3 +1105,57 @@ GLOBAL_LIST_EMPTY_TYPED(radio_packs, /obj/item/storage/backpack/marine/satchel/r max_storage_space = 21 camo_alpha = 10 + +//----------TWE SECTION---------- +/obj/item/storage/backpack/rmc + has_gamemode_skin = FALSE + +/obj/item/storage/backpack/rmc/heavy + name = "heavyweight RMC backpack" + desc = "The heavy-carry pack of the RMC forces. Designed to lug the most amount of gear into the battlefield." + icon_state = "backpack_large" + item_state = "backpack_large" + max_storage_space = 27 + +/obj/item/storage/backpack/rmc/medium + name = "standard RMC backpack" + desc = "A TWE military standard-carry RMC combat pack MK3." + icon_state = "backpack_medium" + item_state = "backpack_medium" + worn_accessible = TRUE + max_storage_space = 24 + +/obj/item/storage/backpack/rmc/light + name = "lightweight RMC backpack" + desc = "A TWE military light-carry RMC combat pack MK3." + icon_state = "backpack_small" + item_state = "backpack_small" + worn_accessible = TRUE + max_storage_space = 21 + +/obj/item/storage/backpack/rmc/frame //One sorry sod should have to lug this about spawns in their shuttle currently + name = "\improper RMC carry-frame" + desc = "A backpack specifically designed to hold equipment for commandos." + icon_state = "backpack_frame" + item_state = "backpack_frame" + max_w_class = SIZE_HUGE + storage_slots = 7 + can_hold = list( + /obj/item/ammo_box/magazine/misc/mre, + /obj/item/storage/firstaid/regular, + /obj/item/storage/firstaid/adv, + /obj/item/storage/firstaid/surgical, + /obj/item/device/defibrillator/compact, + /obj/item/tool/surgery/surgical_line, + /obj/item/tool/surgery/synthgraft, + /obj/item/storage/box/packet/rmc/he, + /obj/item/storage/box/packet/rmc/incin, + ) + +/obj/item/storage/backpack/general_belt/rmc //the breachers belt + name = "\improper RMC general utility belt" + desc = "A small, lightweight pouch that can be clipped onto armor to provide additional storage. This new RMC model, while uncomfortable, can also be clipped around the waist." + icon_state = "rmc_general" + item_state = "rmc_general" + has_gamemode_skin = FALSE + max_storage_space = 15 diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 805f1f49c7ff..bf267bb23abf 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -530,7 +530,6 @@ for(var/i = 1 to storage_slots) new /obj/item/ammo_magazine/handful/shotgun/buckshot(src) - /obj/item/storage/belt/marine/smartgunner name = "\improper M280 pattern smartgunner drum belt" desc = "Despite the fact that 1. drum magazines are incredibly non-ergonomical, and 2. require incredibly precise machining in order to fit universally (spoiler, they don't, adding further to the myth of 'Smartgun Personalities'), the USCM decided to issue a modified marine belt (more formally known by the designation M280) with hooks and dust covers (overly complex for the average jarhead) for the M56B system's drum munitions. When the carry catch on the drum isn't getting stuck in the oiled up velcro, the rig actually does do a decent job at holding a plentiful amount of drums. But at the end of the day, compared to standard rigs... it sucks, but isn't that what being a Marine is all about?" @@ -1766,3 +1765,52 @@ item_state = "souto_man[length(contents)]" if(istype(user)) user.update_inv_belt() //Makes sure the onmob updates. + + + +//ROYAL MARINES COMMNADO + +/obj/item/storage/belt/marine/rmc + name = "\improper L70 pattern ammo load rig" + desc = "Good for carrying around extra ammo in the heat of the jungle. Made of special rot-resistant fabric." + icon_state = "rmc_ammo" + item_state = "rmc_ammo" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + has_gamemode_skin = FALSE + +/obj/item/storage/belt/marine/rmc/rmc_f90_ammo/fill_preset_inventory() + for(var/i in 1 to storage_slots) + new /obj/item/ammo_magazine/rifle/rmc_f90(src) + +/obj/item/storage/belt/marine/rmc/rmc_f90_ammo/marksman/fill_preset_inventory() + for(var/i in 1 to storage_slots) + new /obj/item/ammo_magazine/rifle/rmc_f90/marksman(src) + +/obj/item/storage/belt/medical/rmc + name = "\improper L75 pattern medical storage rig" + desc = "The L75 is the standard load-bearing equipment of the RMC. It consists of a modular belt with various clips. This version is designed to transport medical supplies and pistol ammunition. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them." + icon_state = "rmc_medical" + item_state = "rmc_medical" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + +/obj/item/storage/belt/gun/l905 + name = "\improper L905 gunbelt" + desc = "Finely-tooled leather, a L905, and six magazines. More than enough for the standard RMC commando." + icon_state = "rmc_pistol" + item_state = "rmc_pistol" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + storage_slots = 7 + can_hold = list( + /obj/item/weapon/gun/pistol/vp78, + /obj/item/ammo_magazine/pistol/vp78, + ) + has_gamemode_skin = FALSE + holster_slots = list( + "1" = list( + "icon_x" = -1, + "icon_y" = -3)) + +/obj/item/storage/belt/gun/l905/full/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/vp78()) + for(var/i in 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/vp78(src) diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 48f89517d8cb..4a293c1c95c3 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -205,13 +205,13 @@ desc = "Contains a painkiller autoinjector, first-aid autoinjector, some ointment, and some bandages." /obj/item/storage/pouch/firstaid/full/fill_preset_inventory() - new /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless(src) - new /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless(src) - new /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless(src) - new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless(src) + new /obj/item/reagent_container/hypospray/autoinjector/bicaridine(src) + new /obj/item/reagent_container/hypospray/autoinjector/kelotane(src) + new /obj/item/reagent_container/hypospray/autoinjector/tramadol(src) + new /obj/item/reagent_container/hypospray/autoinjector/emergency(src) /obj/item/storage/pouch/firstaid/full/alternate/fill_preset_inventory() - new /obj/item/reagent_container/hypospray/autoinjector/tricord/skillless(src) + new /obj/item/reagent_container/hypospray/autoinjector/tricord(src) new /obj/item/stack/medical/splint(src) new /obj/item/stack/medical/ointment(src) new /obj/item/stack/medical/bruise_pack(src) @@ -231,7 +231,7 @@ new /obj/item/reagent_container/hypospray/autoinjector/bicaridine/skillless(src) new /obj/item/reagent_container/hypospray/autoinjector/kelotane/skillless(src) new /obj/item/reagent_container/hypospray/autoinjector/tramadol/skillless(src) - new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless(src) + new /obj/item/reagent_container/hypospray/autoinjector/emergency(src) new /obj/item/stack/medical/bruise_pack(src) diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index 05ba357c80ce..65e8f2986679 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -723,7 +723,7 @@ Welding backpack else . += "No punctures are seen on \the [src] upon closer inspection." -/obj/item/tool/weldpack/bullet_act(obj/item/projectile/P) +/obj/item/tool/weldpack/bullet_act(obj/projectile/P) var/damage = P.damage health -= damage ..() diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index 505006285881..b5be55eed540 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -420,12 +420,20 @@ name = "internal affairs rubber stamp" icon_state = "stamp-intaff" -/obj/item/tool/stamp/centcomm - name = "centcomm rubber stamp" - icon_state = "stamp-cent" +/obj/item/tool/stamp/weyyu + name = "WY rubber stamp" + icon_state = "stamp-weyyu" + +/obj/item/tool/stamp/uscm + name = "USCM rubber stamp" + icon_state = "stamp-uscm" + +/obj/item/tool/stamp/cmb + name = "CMB rubber stamp" + icon_state = "stamp-cmb" /obj/item/tool/stamp/ro - name = "requisitions officer's rubber stamp" + name = "quartermaster's rubber stamp" icon_state = "stamp-ro" /obj/item/tool/carpenters_hammer //doesn't do anything, yet diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index 26a0a59b8090..d46619e581e9 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -27,7 +27,7 @@ edge = 0 var/icon/broken_outline = icon('icons/obj/items/drinks.dmi', "broken") -/obj/item/weapon/broken_bottle/bullet_act(obj/item/projectile/P) +/obj/item/weapon/broken_bottle/bullet_act(obj/projectile/P) . = ..() new/obj/item/shard(src.loc) new/obj/item/shard(src.loc) @@ -50,7 +50,7 @@ edge = 0 var/icon/broken_outline = icon('icons/obj/items/drinks.dmi', "broken") -/obj/item/weapon/broken_glass/bullet_act(obj/item/projectile/P) +/obj/item/weapon/broken_glass/bullet_act(obj/projectile/P) . = ..() new/obj/item/shard(src.loc) new/obj/item/shard(src.loc) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 80af739a2410..20bf8ac951e9 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -71,6 +71,10 @@ throw_range = 4 w_class = SIZE_LARGE matter = list("glass" = 7500, "metal" = 1000) + item_icons = list( + WEAR_L_HAND = 'icons/mob/humans/onmob/items_lefthand_1.dmi', + WEAR_R_HAND = 'icons/mob/humans/onmob/items_righthand_1.dmi' + ) attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time @@ -108,3 +112,22 @@ attack_verb = list("shoved", "bashed") var/active = 0 + +/obj/item/weapon/shield/riot/metal + name = "metal shield" + name = "A metal riot shield effective, but heavy." + icon_state = "riotmetal" + item_state = "riotmetal" + base_icon_state = "riotmetal" + passive_block = 40 + readied_block = 60 + +/obj/item/weapon/shield/riot/ballistic //FOR THE ROYAL MARINE SPEC DO NOT TOUCH SMELLY MAN + name = "FBS-B Ballistic shield" + desc = "Ballistic shield used by the royal marines commando. This shield is commonly used during boarding actions due to its lightweight but durible design." + desc_lore = "The Fox Ballistic Shield-B (FBS-B), was originally introduced as the FBS, attempting to be a solution to high-impact operations following increased counter-insurgency deployments since 2151. It was designed to provide maximum protection, and for the user to be able to utilize their primary armament in tandem. By 2163 tertiary ballistics trials were undertaken to ascertain it's effectiveness against improved munitions, and was additionally used as an opportunity to deal with user complaints making their way up from quartermasters. The complaints of the original FBS were twofold: weight and extended usage in combat causing the side to melt closest to the barrel. After further material research and in the field tests were conducted, by 2171, the FBS had attained a ballistics protection classification of D, the highest available for a portable shield, by being able to stop a singular armor piercing round. This reported success was due to the usage of a new fibre reinforced lightweight composite. In the wake of the successful improvements, the FBS was later christened the FBS-B as with the enhanced shield, the user had a tendency for maximum aggression during engagements. The nickname 'Bellicose' was given to breachers by their squaddies and later became it's official designation." + icon_state = "ballisticshield" + item_state = "ballisticshield" + base_icon_state = "ballisticshield" + passive_block = 60 + readied_block = 90 diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index ebe36323d78e..184fc51bd507 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -353,7 +353,7 @@ return ..() -/obj/bullet_act(obj/item/projectile/P) +/obj/bullet_act(obj/projectile/P) //Tasers and the like should not damage objects. if(P.ammo.damage_type == HALLOSS || P.ammo.damage_type == TOX || P.ammo.damage_type == CLONE || P.damage == 0) return 0 diff --git a/code/game/objects/shrapnel.dm b/code/game/objects/shrapnel.dm index 23fff8cbd906..d201584c7f3a 100644 --- a/code/game/objects/shrapnel.dm +++ b/code/game/objects/shrapnel.dm @@ -29,7 +29,7 @@ for(var/i=0;i= EXPLOSION_THRESHOLD_VLOW) deconstruct(FALSE) -/obj/structure/flora/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/flora/get_projectile_hit_boolean(obj/projectile/P) . = ..() return FALSE @@ -526,24 +526,6 @@ ICEY GRASS. IT LOOKS LIKE IT'S MADE OF ICE. /// For things that might affect someone/everyone's round if hidden. var/static/blocked_atoms = list(/obj/item/device/cotablet, /obj/item/card/id) var/static/blacklist_typecache - //layer shouldn't be put on dmm unless aestetic reason.... - layer = ABOVE_XENO_LAYER - -//made for fiorina. -/obj/structure/flora/pottedplant/pottedplant_27 - icon_state = "pottedplant_27" -/obj/structure/flora/pottedplant/pottedplant_29 - icon_state = "pottedplant_29" -/obj/structure/flora/pottedplant/pottedplant_22 - icon_state = "pottedplant_22" -/obj/structure/flora/pottedplant/pottedplant_21 - icon_state = "pottedplant_21" -/obj/structure/flora/pottedplant/pottedplant_7 - icon_state = "pottedplant_7" -/obj/structure/flora/pottedplant/pottedplant_17 - icon_state = "pottedplant_17"; -/obj/structure/flora/pottedplant/pottedplant_18 - icon_state = "pottedplant_18"; /obj/structure/flora/pottedplant/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d014ebfe3b94..e719359ab439 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -316,7 +316,7 @@ return FALSE -/obj/structure/girder/bullet_act(obj/item/projectile/P) +/obj/structure/girder/bullet_act(obj/projectile/P) //Tasers and the like should not damage girders. if(P.ammo.damage_type == HALLOSS || P.ammo.damage_type == TOX || P.ammo.damage_type == CLONE || P.damage == 0) return FALSE diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 5386e50bc9f3..0f864ee2f116 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -101,12 +101,12 @@ /obj/structure/grille/BlockedPassDirs(atom/movable/mover, target_dir) - if(istype(mover, /obj/item/projectile) && prob(90)) + if(istype(mover, /obj/projectile) && prob(90)) return NO_BLOCKED_MOVEMENT return ..() -/obj/structure/grille/bullet_act(obj/item/projectile/Proj) +/obj/structure/grille/bullet_act(obj/projectile/Proj) //Tasers and the like should not damage grilles. if(Proj.ammo.damage_type == HALLOSS) diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 1c7f616f52cb..c67c7381f723 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -44,7 +44,7 @@ health = 50 var/deflated = FALSE -/obj/structure/inflatable/bullet_act(obj/item/projectile/Proj) +/obj/structure/inflatable/bullet_act(obj/projectile/Proj) health -= Proj.damage ..() if(health <= 0 && !deflated) diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm index dd9a0c19db9b..fbae7a387a63 100644 --- a/code/game/objects/structures/lamarr_cage.dm +++ b/code/game/objects/structures/lamarr_cage.dm @@ -26,7 +26,7 @@ deconstruct(FALSE) -/obj/structure/lamarr/bullet_act(obj/item/projectile/Proj) +/obj/structure/lamarr/bullet_act(obj/projectile/Proj) health -= Proj.damage ..() src.healthcheck() diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 5660f342f90b..a8d76843313a 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -89,7 +89,7 @@ shard_target.take_damage(15) -/obj/structure/mirror/bullet_act(obj/item/projectile/Proj) +/obj/structure/mirror/bullet_act(obj/projectile/Proj) if(prob(Proj.damage * 2)) if(!shattered) shatter() diff --git a/code/game/objects/structures/misc.dm b/code/game/objects/structures/misc.dm index e7a3699a87d2..d290925d4cdf 100644 --- a/code/game/objects/structures/misc.dm +++ b/code/game/objects/structures/misc.dm @@ -12,7 +12,7 @@ if (PF) PF.flags_can_pass_all = PASS_HIGH_OVER_ONLY -/obj/structure/showcase/bullet_act(obj/item/projectile/P) +/obj/structure/showcase/bullet_act(obj/projectile/P) var/damage = P.damage health -= damage ..() @@ -73,9 +73,6 @@ anchored = TRUE layer = ATMOS_PIPE_LAYER + 0.01 -//used on fiorina -/obj/structure/monorail/launchtrack - name = "launch track" //ICE COLONY RESEARCH DECORATION-----------------------// //Most of icons made by ~Morrinn @@ -154,18 +151,7 @@ /obj/structure/stairs/perspective //instance these for the required icons icon = 'icons/obj/structures/stairs/perspective_stairs.dmi' icon_state = "np_stair" -//for fiorina -/obj/structure/stairs/perspective/p_stair_sn_full_cap - icon_state = "p_stair_sn_full_cap" -/obj/structure/stairs/perspective/p_stair_full - icon_state = "p_stair_full" - -/obj/structure/stairs/perspective/p_stair_ew_full_cap - icon_state = "p_stair_ew_full_cap" - -/obj/structure/stairs/perspective/p_stair_ew_half_cap - icon_state = "p_stair_ew_half_cap" /obj/structure/stairs/perspective/kutjevo icon = 'icons/obj/structures/stairs/perspective_stairs_kutjevo.dmi' diff --git a/code/game/objects/structures/pipes/vents/vents.dm b/code/game/objects/structures/pipes/vents/vents.dm index d540414e4c8e..298fbc57f4ad 100644 --- a/code/game/objects/structures/pipes/vents/vents.dm +++ b/code/game/objects/structures/pipes/vents/vents.dm @@ -128,6 +128,32 @@ initial_loc.air_vent_names -= id_tag . = ..() +/obj/structure/pipes/vents/vv_get_dropdown() + . = ..() + VV_DROPDOWN_OPTION(VV_HK_GAS, "Release Gas") + +/obj/structure/pipes/vents/vv_do_topic(list/href_list) + . = ..() + var/mob/user = usr + if(href_list[VV_HK_GAS] && check_rights(R_EVENT)) + if(welded) + to_chat(usr, SPAN_WARNING("You cannot release gas from a welded vent.")) + return FALSE + var/list/options = list(VENT_GAS_SMOKE, VENT_GAS_CN20, VENT_GAS_CN20_XENO) + var/gas_choice = tgui_input_list(user, "What gas do you wish to use?", "Gas Choice", options, 20 SECONDS) + if(!gas_choice) + return FALSE + var/radius_choice = tgui_input_number(user, "What radius do you wish to use?", "Gas Radius", 4, 10, 1, 20 SECONDS) + var/warn_choice = tgui_input_number(user, "How many seconds warning do you wish to give?", "Release Warning", 5, 30, 1, 20 SECONDS) + warn_choice = warn_choice SECONDS + + var/confirm = alert(user, "Confirm gas setup. \n\nGas: '[gas_choice]'\nRadius: '[radius_choice]'\nWarn Time: '[warn_choice / 10] seconds' \n\n Is this correct?", "Confirmation", "Yes", "No") + if(confirm != "Yes") + return FALSE + log_admin("[key_name(user)] released gas (Gas: [gas_choice], Radius: [radius_choice], Delay: [warn_choice]) from [name] at X[x], Y[y], Z[z].") + create_gas(gas_choice, radius_choice, warn_choice) + return TRUE + /obj/structure/pipes/vents/proc/create_gas(gas_type = VENT_GAS_SMOKE, radius = 4, warning_time = 5 SECONDS) if(welded) to_chat(usr, SPAN_WARNING("You cannot release gas from a welded vent.")) @@ -138,6 +164,8 @@ spreader = new /datum/effect_system/smoke_spread/bad if(VENT_GAS_CN20) spreader = new /datum/effect_system/smoke_spread/cn20 + if(VENT_GAS_CN20_XENO) + spreader = new /datum/effect_system/smoke_spread/cn20/xeno if(!spreader) return FALSE gas_holder = spreader diff --git a/code/game/objects/structures/props.dm b/code/game/objects/structures/props.dm index 66046a59916f..3e3150040cb6 100644 --- a/code/game/objects/structures/props.dm +++ b/code/game/objects/structures/props.dm @@ -976,6 +976,13 @@ icon_state = "crawler" density = TRUE +/obj/structure/prop/vehicles/tank/twe + name = "\improper FV150 Shobo MKII" + desc = "The FV150 Shobo MKII is a Combat Reconnaissance Vehicle Tracked, abbreviated to CVR(T) in official documentation. It was co-developed in 2175 by Weyland-Yutani and Gallar Co., a Titan based heavy vehicle manufacturer. Taking into account lessons learned from the MkI's performance in the Australian Wars, major structual changes were made, and the MKII went into production in 2178. It is armed with a twin 30mm cannon and a L56A2 10x28mm coaxial, complimented by its ammunition stores of 170 rounds of 30mm and 1600 rounds of 10x28mm. The maximum speed of the Shobo is 60 mph, but on a standard deployment after the ammo stores are fully loaded and the terrain is taken into account, it consistently sits at 55mph." + icon = 'icons/obj/vehicles/twe_tank.dmi' + icon_state = "twe_tank" + density = TRUE + //overhead prop sets /obj/structure/prop/invuln/overhead @@ -1336,7 +1343,7 @@ attacked() return ..() -/obj/structure/prop/invuln/joey/bullet_act(obj/item/projectile/P) +/obj/structure/prop/invuln/joey/bullet_act(obj/projectile/P) attacked() return ..() diff --git a/code/game/objects/structures/reagent_dispensers.dm b/code/game/objects/structures/reagent_dispensers.dm index f20a7cfc25d6..7dc6d883a2d5 100644 --- a/code/game/objects/structures/reagent_dispensers.dm +++ b/code/game/objects/structures/reagent_dispensers.dm @@ -68,7 +68,7 @@ if(health <= 0) deconstruct(FALSE) -/obj/structure/reagent_dispensers/bullet_act(obj/item/projectile/Proj) +/obj/structure/reagent_dispensers/bullet_act(obj/projectile/Proj) health -= Proj.damage if(Proj.firer) msg_admin_niche("[key_name_admin(Proj.firer)] fired a projectile at [name] in [loc.loc.name] ([loc.x],[loc.y],[loc.z]) [ADMIN_JMP(loc)].") @@ -296,7 +296,7 @@ return ..() -/obj/structure/reagent_dispensers/fueltank/bullet_act(obj/item/projectile/Proj) +/obj/structure/reagent_dispensers/fueltank/bullet_act(obj/projectile/Proj) if(exploding) return 0 if(ismob(Proj.firer)) source_mob = WEAKREF(Proj.firer) diff --git a/code/game/objects/structures/stool_bed_chair_nest/janicart.dm b/code/game/objects/structures/stool_bed_chair_nest/janicart.dm index ba5e46a2ce7a..15baa15aa1a4 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/janicart.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/janicart.dm @@ -103,7 +103,7 @@ buckled_mob.pixel_y = 7 -/obj/structure/bed/chair/janicart/bullet_act(obj/item/projectile/Proj) +/obj/structure/bed/chair/janicart/bullet_act(obj/projectile/Proj) if(buckled_mob) if(prob(85)) return buckled_mob.bullet_act(Proj) diff --git a/code/game/objects/structures/vulture_spotter.dm b/code/game/objects/structures/vulture_spotter.dm new file mode 100644 index 000000000000..a668cb562028 --- /dev/null +++ b/code/game/objects/structures/vulture_spotter.dm @@ -0,0 +1,305 @@ +/obj/structure/vulture_spotter_tripod + name = "\improper M707 spotting tripod" + desc = "A tripod for an M707 anti-materiel rifle's spotting scope." + icon_state = "vulture_tripod" + density = TRUE + anchored = TRUE + unacidable = TRUE + /// Weakref to the associated rifle + var/datum/weakref/bound_rifle + /// Weakref to the scope user, if any + var/datum/weakref/scope_user + /// If the tripod has an attached spotting scope + var/scope_attached = FALSE + /// If the scope is currently being used + var/scope_using = FALSE + /// Ref to the action to give the user of the scope + var/datum/action/vulture_tripod_unscope/unscope_action + /// How far out the scope zooms + var/scope_zoom = 10 + /// How much to increase the user's dark vision by + var/darkness_view = 12 + /// The maximum distance this can be from the sniper scope + var/max_sniper_distance = 7 + +/obj/structure/vulture_spotter_tripod/Initialize(mapload) + . = ..() + desc = initial(desc) + " Though, it doesn't seem to have one attached yet." + +/obj/structure/vulture_spotter_tripod/Destroy() + if(scope_user) + var/mob/user = scope_user.resolve() + user.unset_interaction() + QDEL_NULL(unscope_action) + return ..() + +/obj/structure/vulture_spotter_tripod/deconstruct(disassembled) + . = ..() + if(scope_attached && bound_rifle) + new /obj/item/device/vulture_spotter_scope(get_turf(src), bound_rifle) + new /obj/item/device/vulture_spotter_tripod(get_turf(src)) + +/obj/structure/vulture_spotter_tripod/get_examine_text(mob/user) + . = ..() + if(scope_attached) + . += SPAN_NOTICE("You can remove the scope from [src] with a screwdriver.") + else + . += SPAN_NOTICE("You can pick up [src] by dragging it to your sprite.") + . += SPAN_NOTICE("You can rotate [src] with Alt-click.") + +/obj/structure/vulture_spotter_tripod/attackby(obj/item/thing, mob/user) + if(istype(thing, /obj/item/device/vulture_spotter_scope)) + on_scope_attach(user, thing) + return + + if(HAS_TRAIT(thing, TRAIT_TOOL_SCREWDRIVER)) + on_screwdriver(user) + return + + return ..() + +/obj/structure/vulture_spotter_tripod/MouseDrop(over_object, src_location, over_location) + if(!ishuman(usr)) + return + var/mob/living/carbon/human/user = usr //this is us + + if(!HAS_TRAIT(user, TRAIT_VULTURE_USER)) + to_chat(user, SPAN_WARNING("You don't know how to use this!")) + return + + if(!scope_attached) + fold_up(user) + return + + try_scope(user) + +/obj/structure/vulture_spotter_tripod/on_set_interaction(mob/user) + var/obj/item/attachable/vulture_scope/scope = get_vulture_scope() + scope.spotter_spotting = TRUE + to_chat(scope.scope_user, SPAN_NOTICE("You notice that [scope] drifts less.")) + RegisterSignal(scope, COMSIG_VULTURE_SCOPE_MOVED, PROC_REF(on_vulture_move)) + RegisterSignal(scope, COMSIG_VULTURE_SCOPE_UNSCOPED, PROC_REF(on_vulture_unscope)) + if(user.client) + RegisterSignal(user.client, COMSIG_PARENT_QDELETING, PROC_REF(do_unscope)) + user.client.change_view(scope_zoom, src) + RegisterSignal(user, list(COMSIG_MOB_PICKUP_ITEM, COMSIG_MOB_RESISTED), PROC_REF(do_unscope)) + user.see_in_dark += darkness_view + user.lighting_alpha = 127 + user.sync_lighting_plane_alpha() + user.overlay_fullscreen("vulture_spotter", /atom/movable/screen/fullscreen/vulture/spotter) + user.freeze() + user.status_flags |= IMMOBILE_ACTION + user.visible_message(SPAN_NOTICE("[user] looks through [src]."),SPAN_NOTICE("You look through [src], ready to go!")) + user.forceMove(loc) + user.setDir(dir) + scope_user = WEAKREF(user) + update_pixels(TRUE) + give_action(user, /datum/action/vulture_tripod_unscope, null, null, src) + set_scope_loc(user, scope) + +/obj/structure/vulture_spotter_tripod/on_unset_interaction(mob/user) + user.status_flags &= ~IMMOBILE_ACTION + user.visible_message(SPAN_NOTICE("[user] looks up from [src]."),SPAN_NOTICE("You look up from [src].")) + user.unfreeze() + user.reset_view(null) + user.Move(get_step(src, reverse_direction(src.dir))) + user.client?.change_view(world_view_size, src) + user.setDir(dir) //set the direction of the player to the direction the gun is facing + update_pixels(FALSE) + remove_action(user, /datum/action/vulture_tripod_unscope) + unscope() + +/obj/structure/vulture_spotter_tripod/clicked(mob/user, list/mods) + if(mods["alt"]) + if(in_range(src, user) && !user.is_mob_incapacitated()) + rotate(user) + return TRUE + return ..() + +/// Rotates the tripod 90* counter-clockwise +/obj/structure/vulture_spotter_tripod/proc/rotate(mob/user) + if(scope_using) + to_chat(user, SPAN_WARNING("You can't rotate [src] while someone is using it!")) + return FALSE + + playsound(src, 'sound/items/Ratchet.ogg', 25, 1) + user.visible_message("[user] rotates [src].","You rotate [src].") + setDir(turn(dir, -90)) + update_pixels(TRUE) + +/// Updates the direction the operator should be facing, and their pixel offset +/obj/structure/vulture_spotter_tripod/proc/update_pixels(mounting = TRUE) + if(!scope_user) + return + + var/mob/user = scope_user.resolve() + if(mounting) + var/diff_x = 0 + var/diff_y = 0 + switch(dir) + if(NORTH) + diff_y = -16 + if(SOUTH) + diff_y = 16 + if(EAST) + diff_x = -16 + if(WEST) + diff_x = 16 + + user.pixel_x = diff_x + user.pixel_y = diff_y + else + user.pixel_x = 0 + user.pixel_y = 0 + +/// Handler for when the scope is being attached to the tripod +/obj/structure/vulture_spotter_tripod/proc/on_scope_attach(mob/user, obj/structure/vulture_spotter_tripod/scope) + if(scope_attached) + return + + user.visible_message(SPAN_NOTICE("[user] attaches [scope] to [src]."), SPAN_NOTICE("You attach [scope] to [src].")) + icon_state = "vulture_scope" + setDir(user.dir) + bound_rifle = scope.bound_rifle + scope_attached = TRUE + desc = initial(desc) + qdel(scope) + +/// Handler for when the scope is being detached from the tripod by screwdriver +/obj/structure/vulture_spotter_tripod/proc/on_screwdriver(mob/user) + if(!scope_attached) + to_chat(user, SPAN_NOTICE("You don't need a screwdriver to pick this up!")) + return + user.visible_message(SPAN_NOTICE("[user] unscrews the scope from [src] before detaching it."), SPAN_NOTICE("You unscrew the scope from [src], detaching it.")) + icon_state = initial(icon_state) + unscope() + scope_attached = FALSE + desc = initial(desc) + " Though, it doesn't seem to have one attached yet." + new /obj/item/device/vulture_spotter_scope(get_turf(src), bound_rifle) + +/// Handler for user folding up the tripod, picking it up +/obj/structure/vulture_spotter_tripod/proc/fold_up(mob/user) + user.visible_message(SPAN_NOTICE("[user] folds up [src]."), SPAN_NOTICE("You fold up [src].")) + var/obj/item/device/vulture_spotter_tripod/tripod = new(get_turf(src)) + user.put_in_hands(tripod, TRUE) + qdel(src) + +/// Checks if the user is able to use the scope, uses it if so +/obj/structure/vulture_spotter_tripod/proc/try_scope(mob/living/carbon/human/user) + if(!user.client) + return + + if(user.l_hand || user.r_hand) + to_chat(user, SPAN_WARNING("Your hands need to be free to use [src]!")) + return + + var/obj/item/attachable/vulture_scope/scope = get_vulture_scope() + if(!scope) + return + + if(get_dist(get_turf(scope), get_turf(src)) > max_sniper_distance) + to_chat(user, SPAN_WARNING("[src] needs to be closer to the M707 to be used!")) + return + + if(!scope.scoping) + to_chat(user, SPAN_WARNING("The M707's sight needs to be in use to be able to look through [src]!")) + return + + user.set_interaction(src) + +/// Handler for when the user should be unscoping +/obj/structure/vulture_spotter_tripod/proc/do_unscope() + SIGNAL_HANDLER + + if(!scope_user) + return + + var/mob/user = scope_user.resolve() + user.unset_interaction() + +/// Unscopes the user, cleaning up everything related +/obj/structure/vulture_spotter_tripod/proc/unscope() + SIGNAL_HANDLER + if(scope_user) + var/mob/living/carbon/human/user = scope_user.resolve() + user.see_in_dark -= darkness_view + user.lighting_alpha = user.default_lighting_alpha + user.sync_lighting_plane_alpha() + user.clear_fullscreen("vulture_spotter") + UnregisterSignal(user, list(COMSIG_MOB_PICKUP_ITEM, COMSIG_MOB_RESISTED)) + user.pixel_x = 0 + user.pixel_y = 0 + if(user.client) + user.client.change_view(world_view_size, src) + user.client.pixel_x = 0 + user.client.pixel_y = 0 + UnregisterSignal(user.client, COMSIG_PARENT_QDELETING) + + var/obj/item/attachable/vulture_scope/scope = get_vulture_scope() + if(scope) + scope.spotter_spotting = FALSE + to_chat(scope.scope_user, SPAN_NOTICE("You notice that [scope] starts drifting more.")) + UnregisterSignal(scope, list(COMSIG_VULTURE_SCOPE_MOVED, COMSIG_VULTURE_SCOPE_UNSCOPED)) + + QDEL_NULL(unscope_action) + +/// Sets the scope's sight location to the same as the sniper's +/obj/structure/vulture_spotter_tripod/proc/set_scope_loc(mob/living/carbon/human/user, obj/item/attachable/vulture_scope/scope) + if(!user.client || !scope) + return + + var/turf/user_turf = get_turf(user) + var/x_off = scope.scope_x - user_turf.x + var/y_off = scope.scope_y - user_turf.y + var/pixels_per_tile = 32 + + user.client.pixel_x = x_off * pixels_per_tile + user.client.pixel_y = y_off * pixels_per_tile + +/// Handler for when the vulture spotter scope moves +/obj/structure/vulture_spotter_tripod/proc/on_vulture_move(datum/source) + SIGNAL_HANDLER + if(!scope_user) + return + + set_scope_loc(scope_user.resolve(), get_vulture_scope()) + +/// Handler for when the sniper unscopes +/obj/structure/vulture_spotter_tripod/proc/on_vulture_unscope(datum/source) + SIGNAL_HANDLER + if(!scope_user) + return + + var/mob/user = scope_user.resolve() + + to_chat(user, SPAN_WARNING("[src]'s sight disengages as the linked rifle unscopes.")) + unscope() + +/// Getter for the vulture scope on the sniper +/obj/structure/vulture_spotter_tripod/proc/get_vulture_scope() + RETURN_TYPE(/obj/item/attachable/vulture_scope) + if(!bound_rifle) + return + + var/obj/item/weapon/gun/boltaction/vulture/rifle = bound_rifle.resolve() + if(!("rail" in rifle.attachments) || !istype(rifle.attachments["rail"], /obj/item/attachable/vulture_scope)) + return + + return rifle.attachments["rail"] + +/datum/action/vulture_tripod_unscope + name = "Stop Using Scope" + action_icon_state = "vulture_tripod_close" + /// Weakref to the tripod that this is linked to + var/datum/weakref/tripod + +/datum/action/vulture_tripod_unscope/New(Target, override_icon_state, obj/structure/vulture_spotter_tripod/spotting_tripod) + . = ..() + tripod = WEAKREF(spotting_tripod) + +/datum/action/vulture_tripod_unscope/action_activate() + if(!tripod) + return + + var/obj/structure/vulture_spotter_tripod/spotting_tripod = tripod.resolve() + spotting_tripod.do_unscope() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 1a0469a5b9bf..d0651eb5e993 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -117,7 +117,7 @@ if(make_hit_sound) playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1) -/obj/structure/window/bullet_act(obj/item/projectile/Proj) +/obj/structure/window/bullet_act(obj/projectile/Proj) //Tasers and the like should not damage windows. var/ammo_flags = Proj.ammo.flags_ammo_behavior | Proj.projectile_override_flags if(Proj.ammo.damage_type == HALLOSS || Proj.damage <= 0 || ammo_flags == AMMO_ENERGY) diff --git a/code/game/objects/structures/window_frame.dm b/code/game/objects/structures/window_frame.dm index 810b0560bf8b..2c165b424dad 100644 --- a/code/game/objects/structures/window_frame.dm +++ b/code/game/objects/structures/window_frame.dm @@ -148,7 +148,7 @@ . = ..() -/obj/structure/window_frame/bullet_act(obj/item/projectile/P) +/obj/structure/window_frame/bullet_act(obj/projectile/P) bullet_ping(P) take_damage(P.damage) return TRUE diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 4d60c6c263cf..3d774cedc616 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -106,7 +106,8 @@ var/datum/controller/supply/supply_controller = new() circuit = /obj/item/circuitboard/computer/supplycomp var/temp = null var/reqtime = 0 //Cooldown for requisitions - Quarxink - var/can_order_contraband = 0 + var/can_order_contraband = FALSE + var/black_market_lockout = FALSE var/last_viewed_group = "categories" var/first_time = TRUE @@ -143,6 +144,12 @@ var/datum/controller/supply/supply_controller = new() //If any computers are able to order contraband, it's enabled. Otherwise, it's disabled! +/// Prevents use of black market, even if it is otherwise enabled. If any computer has black market locked out, it applies across all of the currently established ones. +/obj/structure/machinery/computer/supplycomp/proc/lock_black_market(market_locked = FALSE) + for(var/obj/structure/machinery/computer/supplycomp/computer as anything in supply_controller.bound_supply_computer_list) + if(market_locked) + computer.black_market_lockout = TRUE + /obj/structure/machinery/computer/ordercomp name = "Supply ordering console" icon = 'icons/obj/structures/machinery/computer.dmi' @@ -373,6 +380,8 @@ var/datum/controller/supply/supply_controller = new() var/black_market_points = 5 // 5 to start with to buy the scanner. ///If the black market is enabled. var/black_market_enabled = FALSE + ///How close the CMB is to investigating | 100 sends an ERT + var/black_market_heat = 0 /// This contains a list of all typepaths of sold items and how many times they've been recieved. Used to calculate points dropoff (Can't send down a hundred blue souto cans for infinite points) var/list/black_market_sold_items @@ -953,7 +962,7 @@ var/datum/controller/supply/supply_controller = new() if(!istype(supply_pack)) return - if((supply_pack.contraband && !can_order_contraband) || !supply_pack.buyable) + if((supply_pack.contraband && !can_order_contraband) || !supply_pack.buyable || supply_pack.contraband && black_market_lockout) return var/timeout = world.time + 600 @@ -1021,18 +1030,23 @@ var/datum/controller/supply/supply_controller = new() supply_controller.requestlist.Cut(i,i+1) supply_controller.points -= round(supply_pack.cost) supply_controller.black_market_points -= round(supply_pack.dollar_cost) + if(supply_controller.black_market_heat != -1) //-1 Heat means heat is disabled + supply_controller.black_market_heat = clamp(supply_controller.black_market_heat + supply_pack.crate_heat + (supply_pack.crate_heat * rand(rand(-0.25,0),0.25)), 0, 100) // black market heat added is crate heat +- up to 25% of crate heat supply_controller.shoppinglist += supply_order supply_pack.cost = supply_pack.cost * SUPPLY_COST_MULTIPLIER temp = "Thank you for your order.
" temp += "
Back Main Menu" supply_order.approvedby = usr.name msg_admin_niche("[usr] confirmed supply order of [supply_pack.name].") + if(supply_controller.black_market_heat == 100) + supply_controller.black_market_investigation() var/pack_source = "Cargo Hold" var/pack_name = supply_pack.name if(supply_pack.dollar_cost) pack_source = "Unknown" - pack_name = "Unknown" - link.log_ares_requisition(pack_source, pack_name, usr) + if(prob(90)) + pack_name = "Unknown" + link.log_ares_requisition(pack_source, pack_name, usr.name) else temp = "Not enough money left.
" temp += "
Back Main Menu" @@ -1093,6 +1107,9 @@ var/datum/controller/supply/supply_controller = new() temp = "W-Y Dollars: $[supply_controller.black_market_points]
" temp += "Back to all categories


" temp += SPAN_DANGER("ERR0R UNK7OWN C4T2G#!$0-


") + if(black_market_lockout) + temp += "





Unauthorized Access Removed.
This console is currently under CMB investigation.
Thank you for your cooperation.
" + return temp += "KHZKNHZH#0-" if(!supply_controller.mendoza_status) // he's daed temp += "........." @@ -1233,6 +1250,11 @@ var/datum/controller/supply/supply_controller = new() /// For code readability. addtimer(CALLBACK(GLOBAL_PROC, /proc/playsound, get_rand_sound_tile(), sound_to_play, 25, FALSE), timer) +/datum/controller/supply/proc/black_market_investigation() + black_market_heat = -1 + SSticker.mode.get_specific_call("Inspection - Colonial Marshal Ledger Investigation Team", TRUE, TRUE, FALSE) + log_game("Black Market Inspection auto-triggered.") + /obj/structure/machinery/computer/supplycomp/proc/is_buyable(datum/supply_packs/supply_pack) if(supply_pack.group != last_viewed_group) @@ -1241,7 +1263,7 @@ var/datum/controller/supply/supply_controller = new() if(!supply_pack.buyable) return - if(supply_pack.contraband && !can_order_contraband) + if(supply_pack.contraband && !can_order_contraband || supply_pack.contraband && black_market_lockout) return if(isnull(supply_pack.contains) && isnull(supply_pack.containertype)) diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 92bce17e50f6..bf84bc04bf10 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -259,6 +259,14 @@ /turf/closed/shuttle/dropship2/transparent opacity = FALSE +/turf/closed/shuttle/twe_dropship + name = "\improper UD4-UK" + icon = 'icons/turf/twedropship.dmi' + icon_state = "0,0" + +/turf/closed/shuttle/twe_dropship/transparent + opacity = FALSE + /turf/closed/shuttle/dropship2/tornado name = "\improper Tornado" icon = 'icons/turf/dropship3.dmi' diff --git a/code/game/turfs/floor_types.dm b/code/game/turfs/floor_types.dm index 1ad7ab3223eb..4e47fd004f74 100644 --- a/code/game/turfs/floor_types.dm +++ b/code/game/turfs/floor_types.dm @@ -554,173 +554,6 @@ icon_state = "floor" plating_type = /turf/open/floor/plating/prison - -//so that the floor turf it's not on default. for Fiorina_SciAnnex.dmm -/turf/open/floor/prison/floor - -//darkred2 -/turf/open/floor/prison/darkred2 - icon_state = "darkred2" -/turf/open/floor/prison/darkred2corner - icon_state = "darkred2corner" -/turf/open/floor/prison/darkred2angle - icon_state = "darkred2angle" -/turf/open/floor/prison/darkred2full - icon_state = "darkred2full" -//darkbrown2 -/turf/open/floor/prison/darkbrown2 - icon_state = "darkbrown2" -/turf/open/floor/prison/darkbrown2corner - icon_state = "darkbrown2corner" -/turf/open/floor/prison/darkbrown2angle - icon_state = "darkbrown2angle" -/turf/open/floor/prison/darkbrown2full - icon_state = "darkbrown2full" -//darkyellow2 -/turf/open/floor/prison/darkyellow2 - icon_state = "darkyellow2" -/turf/open/floor/prison/darkyellow2corner - icon_state = "darkyellow2corner" -/turf/open/floor/prison/darkyellow2angle - icon_state = "darkyellow2angle" -/turf/open/floor/prison/darkyellow2full - icon_state = "darkyellow2full" -//darkpurple2 -/turf/open/floor/prison/darkpurple2 - icon_state = "darkpurple2" -/turf/open/floor/prison/darkpurple2corner - icon_state = "darkpurple2corner" -/turf/open/floor/prison/darkpurple2angle - icon_state = "darkpurple2angle" -/turf/open/floor/prison/darkpurple2full - icon_state = "darkpurple2full" - - -//green -/turf/open/floor/prison/green - icon_state = "green" -/turf/open/floor/prison/greencorner - icon_state = "greencorner" -/turf/open/floor/prison/greenangle - icon_state = "greenangle" -/turf/open/floor/prison/greenfull - icon_state = "greenfull" -/turf/open/floor/prison/greenfull_2 - icon_state = "greenfull_2" -//random alone tiles. -/turf/open/floor/prison/sterile_white - icon_state = "sterile_white" -/turf/open/floor/prison/kitchen - icon_state = "kitchen" - -/turf/open/floor/prison/cell_stripe - icon_state = "cell_stripe" - -/turf/open/floor/prison/floor_plate - icon_state = "floor_plate" - -/turf/open/floor/prison/floor_marked - icon_state = "floor_marked" - -/turf/open/floor/prison/bright_clean_marked - icon_state = "bright_clean_marked" -/turf/open/floor/prison/bright_clean2 - icon_state = "bright_clean2" -//whitegreen -/turf/open/floor/prison/whitegreen - icon_state = "whitegreen" - -/turf/open/floor/prison/whitegreencorner - icon_state = "whitegreencorner" - -/turf/open/floor/prison/whitegreenangle - icon_state = "whitegreenangle" -/turf/open/floor/prison/whitegreenfull - icon_state = "whitegreenfull" -//there is a sprite called sterile that isn't use and look exactly the same. -/turf/open/floor/prison/sterile - icon_state = "sterile" - -//blue -/turf/open/floor/prison/blue - icon_state = "blue" -/turf/open/floor/prison/bluecorner - icon_state = "bluecorner" -/turf/open/floor/prison/blueangle - icon_state = "blueangle" -/turf/open/floor/prison/bluefull - icon_state = "bluefull" -/turf/open/floor/prison/bluefull_2 - icon_state = "bluefull_2" - -//whitepurple -/turf/open/floor/prison/whitepurple - icon_state = "whitepurple" -/turf/open/floor/prison/whitepurplecorner - icon_state = "whitepurplecorner" -/turf/open/floor/prison/whitepurpleangle - icon_state = "whitepurpleangle" -/turf/open/floor/prison/whitepurplefull - icon_state = "whitepurplefull" -/turf/open/floor/prison/whitepurplefull - icon_state = "whitepurplefull" -//red -/turf/open/floor/prison/red - icon_state = "red" -/turf/open/floor/prison/redcorner - icon_state = "redcorner" -/turf/open/floor/prison/redangle - icon_state = "redangle" -/turf/open/floor/prison/redfull - icon_state = "redfull" -//yellow -/turf/open/floor/prison/yellow - icon_state = "yellow" - -/turf/open/floor/prison/yellowcorner - icon_state = "yellowcorner" -/turf/open/floor/prison/yellowangle - icon_state = "yellowangle" -/turf/open/floor/prison/yellowfull - icon_state = "yellowfull" -//greenblue -/turf/open/floor/prison/greenblue - icon_state = "greenblue" -/turf/open/floor/prison/greenbluecorner - icon_state = "greenbluecorner" -/turf/open/floor/prison/greenblueangle - icon_state = "greenblueangle" -//blue plate -/turf/open/floor/prison/blue_plate - icon_state = "blue_plate" -/turf/open/floor/prison/blue_plate_2 - icon_state = "blue_plate_2" -/turf/open/floor/prison/blue_plate_3 - icon_state = "blue_plate_3" -//damage plate -/turf/open/floor/prison/platingdmg1 - icon_state = "platingdmg1" -/turf/open/floor/prison/platingdmg2 - icon_state = "platingdmg2" -/turf/open/floor/prison/platingdmg3 - icon_state = "platingdmg3" -/turf/open/floor/prison/damaged1 - icon_state = "damaged1" -/turf/open/floor/prison/damaged2 - icon_state = "damaged2" -/turf/open/floor/prison/damaged3 - icon_state = "damaged3" -/turf/open/floor/prison/damaged4 - icon_state = "damaged4" -/turf/open/floor/prison/damaged5 - icon_state = "damaged5" -/turf/open/floor/prison/floorscorched1 - icon_state = "floorscorched1" -/turf/open/floor/prison/floorscorched2 - icon_state = "floorscorched2" -/turf/open/floor/prison/panelscorched - icon_state = "panelscorched" - /turf/open/floor/prison/trim/red icon_state = "darkred2" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 26cad71ca23c..837610d5d7fe 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -173,7 +173,7 @@ if(override) return override & COMPONENT_TURF_ALLOW_MOVEMENT - if(isobserver(mover) || istype(mover, /obj/item/projectile)) + if(isobserver(mover) || istype(mover, /obj/projectile)) return TRUE var/fdir = get_dir(mover, src) diff --git a/code/game/turfs/walls/wall_icon.dm b/code/game/turfs/walls/wall_icon.dm index 8b8ee00bcf53..9e47612964c4 100644 --- a/code/game/turfs/walls/wall_icon.dm +++ b/code/game/turfs/walls/wall_icon.dm @@ -19,6 +19,8 @@ icon_state = "blank" var/image/I + flags_atom |= HTML_USE_INITAL_ICON + if(!density) I = image(icon, "[walltype]fwall_open") overlays += I diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm index 8262caef4258..2548801cc7b1 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -993,10 +993,10 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) else return attack_hand(user) -/obj/structure/alien/movable_wall/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/alien/movable_wall/get_projectile_hit_boolean(obj/projectile/P) return TRUE -/obj/structure/alien/movable_wall/bullet_act(obj/item/projectile/P) +/obj/structure/alien/movable_wall/bullet_act(obj/projectile/P) . = ..() take_damage(P.damage) @@ -1110,7 +1110,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) var/explosive_multiplier = 0.3 var/reflection_multiplier = 0.5 -/turf/closed/wall/resin/reflective/bullet_act(obj/item/projectile/P) +/turf/closed/wall/resin/reflective/bullet_act(obj/projectile/P) if(src in P.permutated) return @@ -1122,7 +1122,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) // Bullet gets absorbed if it has IFF or can't be reflected. return - var/obj/item/projectile/new_proj = new(src, construction_data ? construction_data : create_cause_data(initial(name))) + var/obj/projectile/new_proj = new(src, construction_data ? construction_data : create_cause_data(initial(name))) new_proj.generate_bullet(P.ammo) new_proj.damage = P.damage * reflection_multiplier // don't make it too punishing new_proj.accuracy = HIT_ACCURACY_TIER_7 // 35% chance to hit something @@ -1138,7 +1138,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) return TRUE -/turf/closed/wall/resin/reflective/proc/bullet_ignore_turf(obj/item/projectile/P, turf/T) +/turf/closed/wall/resin/reflective/proc/bullet_ignore_turf(obj/projectile/P, turf/T) SIGNAL_HANDLER if(T == src) return COMPONENT_BULLET_PASS_THROUGH diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm index 4f59ad7d2d3d..e0a8c540ea85 100644 --- a/code/modules/admin/tabs/admin_tab.dm +++ b/code/modules/admin/tabs/admin_tab.dm @@ -331,7 +331,7 @@ if(SUBTLE_MESSAGE_IN_HEAD) message = SPAN_ANNOUNCEMENT_HEADER_BLUE("You hear a voice in your head... [input]") else - message = SPAN_DANGER("Message received through headset. [message_option] Transmission \"[input]\"") + message = SPAN_ANNOUNCEMENT_HEADER_BLUE("Message received through headset. [message_option] Transmission \"[input]\"") for(var/mob/living/carbon/human/mob in view(usr.client)) if(message_option == SUBTLE_MESSAGE_IN_HEAD) diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm index 32eaeb674b8d..79c0a03a7589 100644 --- a/code/modules/admin/tabs/event_tab.dm +++ b/code/modules/admin/tabs/event_tab.dm @@ -284,6 +284,21 @@ if(points_to_add >= 0) shipwide_ai_announcement("Additional Supply Budget has been authorised for this operation.") +/datum/admins/proc/check_req_heat() + set name = "Check Requisitions Heat" + set desc = "Check how close the CMB is to arriving to search Requisitions." + set category = "Admin.Events" + if(!SSticker.mode || !check_rights(R_ADMIN)) + return + + var/req_heat_change = tgui_input_real_number(usr, "Set the new requisitions black market heat. ERT is called at 100, disabled at -1. Current Heat: [supply_controller.black_market_heat]", "Modify Req Heat", 0, 100, -1) + if(!req_heat_change) + return + + supply_controller.black_market_heat = req_heat_change + message_admins("[key_name_admin(usr)] set requisitions heat to [req_heat_change].") + + /datum/admins/proc/admin_force_selfdestruct() set name = "Self-Destruct" set desc = "Trigger self-destruct countdown. This should not be done if the self-destruct has already been called." @@ -687,6 +702,7 @@ Cancel Evacuation
Disable Shuttle Control
Add Requisitions Points
+ Modify Requisitions Heat

Research
Change Research Clearance
diff --git a/code/modules/admin/topic/topic.dm b/code/modules/admin/topic/topic.dm index a76be10e9c26..4c7e6afa5b7b 100644 --- a/code/modules/admin/topic/topic.dm +++ b/code/modules/admin/topic/topic.dm @@ -1502,7 +1502,7 @@ // Stamps var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-weyyu" if(!P.stamped) P.stamped = new P.stamped += /obj/item/tool/stamp @@ -1584,7 +1584,7 @@ // Stamps var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-cmb" if(!P.stamped) P.stamped = new P.stamped += /obj/item/tool/stamp @@ -2096,7 +2096,7 @@ if(distress_cancel) return distress_cancel = TRUE - SSticker.mode.get_specific_call("Weyland-Yutani PMC (Chemical Investigation Squad)", FALSE, FALSE) + SSticker.mode.get_specific_call("Weyland-Yutani PMC (Chemical Investigation Squad)", TRUE, FALSE, FALSE) log_game("[key_name_admin(approver)] has sent a PMC distress beacon, requested by [key_name_admin(ref_person)]") message_admins("[key_name_admin(approver)] has sent a PMC distress beacon, requested by [key_name_admin(ref_person)]") diff --git a/code/modules/admin/topic/topic_events.dm b/code/modules/admin/topic/topic_events.dm index 3240bf947938..45d826668d4b 100644 --- a/code/modules/admin/topic/topic_events.dm +++ b/code/modules/admin/topic/topic_events.dm @@ -18,6 +18,8 @@ admin_cancel_evacuation() if("add_req_points") add_req_points() + if("check_req_heat") + check_req_heat() if("medal") owner.award_medal() if("jelly") diff --git a/code/modules/asset_cache/asset_cache_item.dm b/code/modules/asset_cache/asset_cache_item.dm index 72d976bf11f1..ade73f79c7ca 100644 --- a/code/modules/asset_cache/asset_cache_item.dm +++ b/code/modules/asset_cache/asset_cache_item.dm @@ -21,11 +21,20 @@ /// TRUE for keeping local asset names when browse_rsc backend is used var/keep_local_name = FALSE -/datum/asset_cache_item/New(name, file) +///pass in a valid file_hash if you have one to save it from needing to do it again. +///pass in a valid dmi file path string e.g. "icons/path/to/dmi_file.dmi" to make generating the hash less expensive +/datum/asset_cache_item/New(name, file, file_hash, dmi_file_path) if (!isfile(file)) file = fcopy_rsc(file) - hash = md5asfile(file) //icons sent to the rsc sometimes md5 incorrectly + hash = file_hash + + //the given file is directly from a dmi file and is thus in the rsc already, we know that its file_hash will be correct + if(!hash) + if(dmi_file_path) + hash = md5(file) + else + hash = md5asfile(file) //icons sent to the rsc md5 incorrectly when theyre given incorrect data if (!hash) CRASH("invalid asset sent to asset cache") src.name = name diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 3f0775c0b65d..d5d44a047947 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -144,6 +144,7 @@ "wylogo.png" = 'html/images/wylogo.png', "uscmlogo.png" = 'html/images/uscmlogo.png', "upplogo.png" = 'html/images/upplogo.png', + "cmblogo.png" = 'html/images/cmblogo.png', "faxwylogo.png" = 'html/images/faxwylogo.png', "faxbackground.jpg" = 'html/images/faxbackground.jpg', ) diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index a8d45e4cd21f..2e165229f19b 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -22,15 +22,21 @@ addtimer(CALLBACK(src, PROC_REF(send_assets_slow), C, preload), 1 SECONDS) -/// Register a browser asset with the asset cache system -/// asset_name - the identifier of the asset -/// asset - the actual asset file (or an asset_cache_item datum) -/// returns a /datum/asset_cache_item. -/// mutiple calls to register the same asset under the same asset_name return the same datum -/datum/asset_transport/proc/register_asset(asset_name, asset) +/** + * Register a browser asset with the asset cache system. + * returns a /datum/asset_cache_item. + * mutiple calls to register the same asset under the same asset_name return the same datum. + * + * Arguments: + * * asset_name - the identifier of the asset. + * * asset - the actual asset file (or an asset_cache_item datum). + * * file_hash - optional, a hash of the contents of the asset files contents. used so asset_cache_item doesnt have to hash it again + * * dmi_file_path - optional, means that the given asset is from the rsc and thus we dont need to do some expensive operations + */ +/datum/asset_transport/proc/register_asset(asset_name, asset, file_hash, dmi_file_path) var/datum/asset_cache_item/ACI = asset if (!istype(ACI)) - ACI = new(asset_name, asset) + ACI = new(asset_name, asset, file_hash, dmi_file_path) if (!ACI || !ACI.hash) CRASH("ERROR: Invalid asset: [asset_name]:[asset]:[ACI]") if (SSassets.cache[asset_name]) diff --git a/code/modules/clothing/gloves/marine_gloves.dm b/code/modules/clothing/gloves/marine_gloves.dm index 04d0b2f1c0cb..09c84b9b4d40 100644 --- a/code/modules/clothing/gloves/marine_gloves.dm +++ b/code/modules/clothing/gloves/marine_gloves.dm @@ -184,3 +184,11 @@ armor_internaldamage = CLOTHING_ARMOR_MEDIUM unacidable = TRUE adopts_squad_color = FALSE + +//=ROYAL MARINES=\\ + +/obj/item/clothing/gloves/marine/veteran/royal_marine + name = "\improper L6 pattern combat gloves" + desc = "Standard issue tactical gloves used by the royal marines." + icon_state = "rmc_gloves" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index 0916ecfb34e9..24e1d0231c85 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -537,7 +537,7 @@ //==========================//PROTECTIVE\\===============================\\ //=======================================================================\\ -D + /obj/item/clothing/head/ushanka name = "ushanka" desc = "Perfect for winter in Siberia, da?" @@ -766,3 +766,37 @@ D WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi' ) item_state = "owlf_hood" + + +//=ROYAL MARINES=\\ + +/obj/item/clothing/head/beanie/royal_marine + name = "royal marine beanie" + desc = "A standard military beanie." + icon_state = "rmc_beanie" + item_state = "rmc_beanie" + icon = 'icons/obj/items/clothing/cm_hats.dmi' + item_icons = list( + WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi' + ) + +/obj/item/clothing/head/beanie/royal_marine/turban + name = "royal marine turban" + desc = "A standard military turban found in the royal marines. Considered a rare item, these kind of turbans are prized by collectors in the UA." + icon_state = "rmc_turban" + item_state = "rmc_turban" + +/obj/item/clothing/head/beret/royal_marine + name = "royal marine beret" + desc = "A green beret belonging to the royal marines commando. This beret symbolizes a royal marines ability to fight in any environment, desert, sea, artic or space a royal marine will always be ready." + icon_state = "rmc_beret" + item_state = "rmc_beret" + icon = 'icons/obj/items/clothing/cm_hats.dmi' + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + item_icons = list( + WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi' + ) + +/obj/item/clothing/head/beret/royal_marine/team_leader + icon_state = "rmc_beret_tl" + item_state = "rmc_beret_tl" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 5e27bdfdc547..49a383c37ac2 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -1403,3 +1403,34 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( #undef HELMET_GARB_RELAY_ICON_STATE + +//=ROYAL MARINES=\\ + +/obj/item/clothing/head/helmet/marine/veteran/royal_marine + name = "\improper L5A2 ballistic helmet" + desc = "A High-cut ballistic helmet. Designed by Lindenthal-Ehrenfeld Militärindustrie it is intended to be used by Royal Marines Commando as part of the kestrel armour system." + icon_state = "rmc_helm1" + item_state = "rmc_helm1" + armor_melee = CLOTHING_ARMOR_MEDIUM + armor_bullet = CLOTHING_ARMOR_MEDIUM + armor_energy = CLOTHING_ARMOR_MEDIUMLOW + armor_bomb = CLOTHING_ARMOR_MEDIUM + armor_bio = CLOTHING_ARMOR_LOW + armor_internaldamage = CLOTHING_ARMOR_LOW + min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT + flags_inventory = BLOCKSHARPOBJ + flags_inv_hide = NO_FLAGS + flags_marine_helmet = NO_FLAGS + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + +/obj/item/clothing/head/helmet/marine/veteran/royal_marine/breacher + name = "\improper L5A3 ballistic helmet" + desc = "A High-cut ballistic helmet featuring an attached mandible. Designed by Lindenthal-Ehrenfeld Militärindustrie it is intended to be used by Royal Marines Commando as part of the kestrel armour system" + icon_state = "rmc_helm_br" + item_state = "rmc_helm_br" + armor_melee = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_energy = CLOTHING_ARMOR_MEDIUMHIGH + armor_bomb = CLOTHING_ARMOR_MEDIUMHIGH + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_internaldamage = CLOTHING_ARMOR_LOW diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 5f0b9cacea53..858f20268751 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -146,6 +146,14 @@ // flags_item = NODROP|DELONDROP flags_inventory = CANTSTRIP|COVEREYES|COVERMOUTH|ALLOWINTERNALS|ALLOWREBREATH|BLOCKGASEFFECT|ALLOWCPR|BLOCKSHARPOBJ +//=ROYAL MARINES=\\ + +/obj/item/clothing/mask/gas/pmc/royal_marine + name = "\improper L7 gasmask" + desc = "The L7 Gasmask used by members of the three world empires royal marines commando." + icon_state = "rmc_mask" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + /obj/item/clothing/mask/gas/cbrn name = "\improper M3CR gasmask" desc = "A gasmask typically used by CBRN marines, this one is sewn into a hood." diff --git a/code/modules/clothing/shoes/marine_shoes.dm b/code/modules/clothing/shoes/marine_shoes.dm index d4c772336e2a..40bec976c337 100644 --- a/code/modules/clothing/shoes/marine_shoes.dm +++ b/code/modules/clothing/shoes/marine_shoes.dm @@ -196,3 +196,37 @@ /obj/item/clothing/shoes/hiking/proc/handle_weed_slowdown(mob/user, list/slowdata) SIGNAL_HANDLER slowdata["movement_slowdown"] *= weed_slowdown_mult + +//=ROYAL MARINES=\\ + +/obj/item/clothing/shoes/royal_marine + name = "\improper L10 pattern combat boots" + desc = "Standard issue combat boots for combat scenarios or combat situations. Used by the three world empires royal marines commando units." + icon_state = "rmc_boots" + armor_melee = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH + armor_laser = CLOTHING_ARMOR_LOW + armor_energy = CLOTHING_ARMOR_LOW + armor_bomb = CLOTHING_ARMOR_MEDIUMLOW + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_rad = CLOTHING_ARMOR_NONE + armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW + min_cold_protection_temperature = SHOE_MIN_COLD_PROT + max_heat_protection_temperature = SHOE_MAX_HEAT_PROT + flags_cold_protection = BODY_FLAG_FEET + flags_heat_protection = BODY_FLAG_FEET + flags_inventory = FPRINT|NOSLIPPING + siemens_coefficient = 0.6 + items_allowed = list( + /obj/item/attachable/bayonet, + /obj/item/weapon/throwing_knife, + /obj/item/weapon/gun/pistol/holdout, + /obj/item/weapon/gun/pistol/clfpistol, + ) + flags_atom = NO_NAME_OVERRIDE + +/obj/item/clothing/shoes/royal_marine/knife +/obj/item/clothing/shoes/royal_marine/knife/Initialize(mapload, ...) + . = ..() + stored_item = new /obj/item/attachable/bayonet/rmc(src) + update_icon() diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index 77efe9274306..aeeef95efb6e 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -1718,6 +1718,68 @@ flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE contained_sprite = TRUE + +//=ROYAL MARINES=\\ + +/obj/item/clothing/suit/storage/marine/veteran/royal_marine + name = "kestrel armoured vest" + desc = "A customizable personal armor system used by the Three World Empire's Royal Marines Commandos. Designers from a Weyland Yutani subsidary, Lindenthal-Ehrenfeld Militärindustrie, iterated on the USCMC's M3 pattern personal armor in their Tokonigara lab to create an armor systemed to suit the unique needs of the Three World Empire's smaller but better equipped Royal Marines." + icon_state = "rmc_light" + item_state = "rmc_light" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + allowed = list( + /obj/item/weapon/gun, + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/ammo_magazine/, + /obj/item/weapon/baton, + /obj/item/handcuffs, + /obj/item/storage/fancy/cigarettes, + /obj/item/tool/lighter, + /obj/item/explosive/grenade, + /obj/item/storage/bible, + /obj/item/weapon/claymore/mercsword/machete, + /obj/item/attachable/bayonet, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + ) + +/obj/item/clothing/suit/storage/marine/veteran/royal_marine/light //RMC Rifleman Armor + icon_state = "rmc_light" + item_state = "rmc_light" + armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH + armor_energy = CLOTHING_ARMOR_MEDIUMLOW + armor_bomb = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_MEDIUM + slowdown = SLOWDOWN_ARMOR_LIGHT + +/obj/item/clothing/suit/storage/marine/veteran/royal_marine/light/team_leader //RMC TL & LT Armor + name = "kestrel armoured carry vest" + icon_state = "rmc_light_padded" + item_state = "rmc_light_padded" + storage_slots = 7 + +/obj/item/clothing/suit/storage/marine/veteran/royal_marine/smartgun //Smartgun Spec Armor + name = "kestrel armoured smartgun harness" + icon_state = "rmc_smartgun" + item_state = "rmc_smartgun" + flags_inventory = BLOCKSHARPOBJ|BLOCK_KNOCKDOWN|SMARTGUN_HARNESS + +/obj/item/clothing/suit/storage/marine/veteran/royal_marine/pointman //Pointman Spec Armor + name = "kestrel pointman armour" + desc = "A heavier version of the armor system used by the Three World Empire's Royal Marines Commandos. Designers from a Weyland Yutani subsidary, Lindenthal-Ehrenfeld Militärindustrie, iterated on the USCMC's M3 pattern personal armor in their Tokonigara lab to create an armor systemed to suit the unique needs of the Three World Empire's smaller but better equipped Royal Marines." + icon_state = "rmc_pointman" + item_state = "rmc_pointman" + armor_melee = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_bomb = CLOTHING_ARMOR_HIGHPLUS + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_MEDIUM + armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + storage_slots = 7 + slowdown = SLOWDOWN_ARMOR_LOWHEAVY + movement_compensation = SLOWDOWN_ARMOR_MEDIUM + /atom/movable/marine_light light_system = DIRECTIONAL_LIGHT diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index a4b38b657735..fb9d889b4584 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -933,3 +933,24 @@ worn_state = "working_joe_overalls" armor_bio = CLOTHING_ARMOR_MEDIUMHIGH unacidable = TRUE + +//=ROYAL MARINES=\\ + +/obj/item/clothing/under/marine/veteran/royal_marine + name = "royal marines commando uniform" + desc = "The field uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment" + icon_state = "rmc_uniform" + worn_state = "rmc_uniform" + flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE + contained_sprite = TRUE + icon = 'icons/mob/humans/onmob/contained/royal_marines_commando.dmi' + +/obj/item/clothing/under/marine/veteran/royal_marine/tl + icon_state = "rmc_uniform_teaml" + worn_state = "rmc_uniform_teaml" + +/obj/item/clothing/under/marine/veteran/royal_marine/lt + name = "royal marines commando officers uniform" + desc = "The officers uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment" + icon_state = "rmc_uniform_lt" + worn_state = "rmc_uniform_lt" diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 6e2d9cfc84f9..bc07d1ae4008 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -359,6 +359,11 @@ desc = "A fire-resistant shoulder patch, worn by the men and women of the USS Hanyut, USCM FORECON." icon_state = "forecon_patch" +/obj/item/clothing/accessory/patch/royal_marines + name = "TWE Royal Marines Commando patch" + desc = "A fire-resistant shoulder patch, worn by the men and women of the royal marines commando." + icon_state = "commandopatch" + /obj/item/clothing/accessory/patch/upp name = "UPP Airborne Reconnaissance patch" desc = "A fire-resistant shoulder patch, worn by the men and women of the 173rd Airborne Reconnaissance Platoon." diff --git a/code/modules/cm_aliens/Ovipositor.dm b/code/modules/cm_aliens/Ovipositor.dm index 9758497b7009..07d3466a279d 100644 --- a/code/modules/cm_aliens/Ovipositor.dm +++ b/code/modules/cm_aliens/Ovipositor.dm @@ -89,9 +89,9 @@ SPAN_DANGER("You nudge your head against [src].")) // Density override -/obj/ovipositor/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/ovipositor/get_projectile_hit_boolean(obj/projectile/P) return TRUE -/obj/ovipositor/bullet_act(obj/item/projectile/Proj) +/obj/ovipositor/bullet_act(obj/projectile/Proj) health -= Proj.damage return 1 diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm index 08e451407989..73ced8099427 100644 --- a/code/modules/cm_aliens/XenoStructures.dm +++ b/code/modules/cm_aliens/XenoStructures.dm @@ -50,7 +50,7 @@ health -= 50 healthcheck() -/obj/effect/alien/resin/bullet_act(obj/item/projectile/Proj) +/obj/effect/alien/resin/bullet_act(obj/projectile/Proj) health -= Proj.damage ..() healthcheck() @@ -375,7 +375,7 @@ health -= dam healthcheck() -/obj/structure/mineral_door/resin/bullet_act(obj/item/projectile/Proj) +/obj/structure/mineral_door/resin/bullet_act(obj/projectile/Proj) health -= Proj.damage ..() healthcheck() @@ -630,7 +630,7 @@ STOP_PROCESSING(SSprocessing, src) return ..() -/obj/effect/alien/resin/acid_pillar/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/effect/alien/resin/acid_pillar/get_projectile_hit_boolean(obj/projectile/P) return TRUE /obj/effect/alien/resin/acid_pillar/proc/forsaken_handling() @@ -758,7 +758,7 @@ SIGNAL_HANDLER hitby(AM) -/obj/effect/alien/resin/resin_pillar/proc/handle_bullet(turf/T, obj/item/projectile/P) +/obj/effect/alien/resin/resin_pillar/proc/handle_bullet(turf/T, obj/projectile/P) SIGNAL_HANDLER bullet_act(P) return COMPONENT_BULLET_ACT_OVERRIDE @@ -897,7 +897,7 @@ var/range = 3 -/obj/item/explosive/grenade/alien/acid/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/item/explosive/grenade/alien/acid/get_projectile_hit_boolean(obj/projectile/P) return FALSE /obj/item/explosive/grenade/alien/acid/prime(force) diff --git a/code/modules/cm_aliens/structures/egg.dm b/code/modules/cm_aliens/structures/egg.dm index cf6fa4e3665e..a0e8e5054d45 100644 --- a/code/modules/cm_aliens/structures/egg.dm +++ b/code/modules/cm_aliens/structures/egg.dm @@ -151,7 +151,7 @@ else child.go_idle() -/obj/effect/alien/egg/bullet_act(obj/item/projectile/P) +/obj/effect/alien/egg/bullet_act(obj/projectile/P) ..() var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & (AMMO_XENO)) diff --git a/code/modules/cm_aliens/structures/fruit.dm b/code/modules/cm_aliens/structures/fruit.dm index bb899a6ff25b..e54cb9417d7c 100644 --- a/code/modules/cm_aliens/structures/fruit.dm +++ b/code/modules/cm_aliens/structures/fruit.dm @@ -86,7 +86,7 @@ qdel(src) ..() -/obj/effect/alien/resin/fruit/bullet_act(obj/item/projectile/P) +/obj/effect/alien/resin/fruit/bullet_act(obj/projectile/P) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & (AMMO_XENO)) return diff --git a/code/modules/cm_aliens/structures/trap.dm b/code/modules/cm_aliens/structures/trap.dm index 5e1c51538ce6..bc8eb7e6c7c0 100644 --- a/code/modules/cm_aliens/structures/trap.dm +++ b/code/modules/cm_aliens/structures/trap.dm @@ -85,7 +85,7 @@ trigger_trap(TRUE) ..() -/obj/effect/alien/resin/trap/bullet_act(obj/item/projectile/P) +/obj/effect/alien/resin/trap/bullet_act(obj/projectile/P) var/mob/living/carbon/xenomorph/X = P.firer if(istype(X) && HIVE_ALLIED_TO_HIVE(X.hivenumber, hivenumber)) return diff --git a/code/modules/cm_aliens/structures/tunnel.dm b/code/modules/cm_aliens/structures/tunnel.dm index 0e1008cfbf12..f716d69b5b7e 100644 --- a/code/modules/cm_aliens/structures/tunnel.dm +++ b/code/modules/cm_aliens/structures/tunnel.dm @@ -76,7 +76,7 @@ visible_message(SPAN_DANGER("[src] suddenly collapses!")) qdel(src) -/obj/structure/tunnel/bullet_act(obj/item/projectile/Proj) +/obj/structure/tunnel/bullet_act(obj/projectile/Proj) return FALSE /obj/structure/tunnel/ex_act(severity) diff --git a/code/modules/cm_aliens/structures/xeno_structures_boilertrap.dm b/code/modules/cm_aliens/structures/xeno_structures_boilertrap.dm index 965238e81b65..0194ea74d3a6 100644 --- a/code/modules/cm_aliens/structures/xeno_structures_boilertrap.dm +++ b/code/modules/cm_aliens/structures/xeno_structures_boilertrap.dm @@ -43,7 +43,7 @@ . = ..() qdel(src) -/obj/effect/alien/resin/boilertrap/bullet_act(obj/item/projectile/P) +/obj/effect/alien/resin/boilertrap/bullet_act(obj/projectile/P) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & (AMMO_XENO)) return diff --git a/code/modules/cm_aliens/weeds.dm b/code/modules/cm_aliens/weeds.dm index 01140beae304..eb4fc3cd6f09 100644 --- a/code/modules/cm_aliens/weeds.dm +++ b/code/modules/cm_aliens/weeds.dm @@ -193,13 +193,16 @@ // If you're still confused, scroll aaaall the way down to the bottom of the file. // that's /obj/effect/alien/weeds/node/Destroy(). /obj/effect/alien/weeds/proc/avoid_orphanage() - for(var/obj/effect/alien/weeds/node/N in orange(node_range, get_turf(src))) - // WE FOUND A NEW MOMMY - N.add_child(src) - break + var/parent_type = /obj/effect/alien/weeds/node + if(weed_strength >= WEED_LEVEL_HIVE) + parent_type = /obj/effect/alien/weeds/node/pylon + + var/obj/effect/alien/weeds/node/found = locate(parent_type) in orange(node_range, get_turf(src)) + if(found) + found.add_child(src) // NO MORE FOOD ON THE TABLE. WE DIE - if(!parent || weed_strength > WEED_LEVEL_STANDARD) + if(!parent) qdel(src) /obj/effect/alien/weeds/proc/weed_expand() diff --git a/code/modules/cm_marines/Donator_Items.dm b/code/modules/cm_marines/Donator_Items.dm index 58b8d448a92f..1c7281114c01 100644 --- a/code/modules/cm_marines/Donator_Items.dm +++ b/code/modules/cm_marines/Donator_Items.dm @@ -15,7 +15,7 @@ icon_override = 'icons/mob/humans/onmob/head_0.dmi' flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS - flags_atom = NO_NAME_OVERRIDE + flags_atom = FPRINT|CONDUCT|NO_NAME_OVERRIDE|NO_SNOW_TYPE min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT flags_marine_helmet = NO_FLAGS @@ -67,7 +67,20 @@ desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique icon_state = null item_state = null - flags_atom = NO_NAME_OVERRIDE + flags_atom = FPRINT|CONDUCT|NO_NAME_OVERRIDE|NO_SNOW_TYPE + //DON'T GRAB STUFF BETWEEN THIS LINE + icon = 'icons/obj/items/clothing/suits.dmi' + icon_override = 'icons/mob/humans/onmob/suit_0.dmi' //Don't fuck with this in the future please. + flags_inventory = BLOCKSHARPOBJ + flags_marine_armor = NO_FLAGS + +//LIGHT SUIT TEMPLATE (for armor/exosuit) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/suit/storage/marine/light/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + flags_atom = FPRINT|CONDUCT|NO_NAME_OVERRIDE|NO_SNOW_TYPE //DON'T GRAB STUFF BETWEEN THIS LINE icon = 'icons/obj/items/clothing/suits.dmi' icon_override = 'icons/mob/humans/onmob/suit_0.dmi' //Don't fuck with this in the future please. @@ -223,11 +236,10 @@ item_state = "swat_suit" /obj/item/clothing/suit/storage/marine/fluff/tristan //CKEY=tristan63 - name = "Sciency Teleport Armor" - desc = "Some fancy looking armor, with lots of lights and buttons. DONOR ITEM" - icon_state = "reactive" - item_state = "reactive" - blood_overlay_type = "armor" + name = "M3X Pattern Armor" + desc = "A set of experimental M3 pattern armor, modernized to include form fitting ceramic plates for better protection against projectiles. Unfortunately the plates appear to be broken beyond repair, leaving only the base M3 protection. DONOR ITEM" + icon_state = "tristan_armor" + item_state = "tristan_armor" /obj/item/clothing/suit/storage/marine/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Armor" @@ -266,11 +278,11 @@ item_state = "hos" blood_overlay_type = "coat" -/obj/item/clothing/suit/storage/marine/fluff/biolock //CKEY=biolock - name = "Medic Armor" - desc = "Medical armor, designed to protect medics from things that hurt medics. DONOR ITEM." - item_state = "medarmor" - icon_state = "medarmor" +/obj/item/clothing/suit/storage/marine/light/fluff/biolock //CKEY=biolock + name = "M3-L Custom" + desc = "A lighter, cut down version of the standard M3 pattern armor. This armor looks to have heavy modifications and a custom paint-job. DONOR ITEM." + item_state = "bio_armor" + icon_state = "bio_armor" /obj/item/clothing/suit/storage/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Elite Combat Armor" @@ -632,9 +644,10 @@ desc = "Thought I walk through the valley in the shadow of death... Donor Item" /obj/item/clothing/head/helmet/marine/fluff/biolock //CKEY=biolock - name = "Medic Helmet" - desc = "Medical Helmet designed to protect the head of a medic. DONOR ITEM" - icon_state = "helmetm" + name = "M10-Custom" + desc = "A custom M10 Pattern Helmet. The inside of the helmet has smaller, slicker pads. There is a built-in camera on the right side. DONOR ITEM" + icon_state = "bio_helmet" + item_state = "bio_helmet" /obj/item/clothing/head/helmet/marine/fluff/haveatya //CKEY=haveatya name = "Pararescue Beret" @@ -958,7 +971,7 @@ /obj/item/clothing/under/marine/fluff name = "ITEM NAME" desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - flags_atom = NO_NAME_OVERRIDE + flags_atom = FPRINT|NO_NAME_OVERRIDE|NO_SNOW_TYPE icon_state = null item_state = null min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT diff --git a/code/modules/cm_marines/Donator_Kits.dm b/code/modules/cm_marines/Donator_Kits.dm index 2576732736aa..6c8347f3280e 100644 --- a/code/modules/cm_marines/Donator_Kits.dm +++ b/code/modules/cm_marines/Donator_Kits.dm @@ -70,7 +70,7 @@ donor_key = "biolock" donor_gear = list( /obj/item/clothing/head/helmet/marine/fluff/biolock, - /obj/item/clothing/suit/storage/marine/fluff/biolock, + /obj/item/clothing/suit/storage/marine/light/fluff/biolock, ) /obj/item/storage/box/donator_kit/bunny232 diff --git a/code/modules/cm_marines/anti_air.dm b/code/modules/cm_marines/anti_air.dm index fc67f9a2018d..cdb162cddfa3 100644 --- a/code/modules/cm_marines/anti_air.dm +++ b/code/modules/cm_marines/anti_air.dm @@ -110,12 +110,12 @@ var/obj/structure/anti_air_cannon/almayer_aa_cannon almayer_aa_cannon.protecting_section = "" return message_admins("[key_name(usr)] has set the AA to [html_encode(almayer_aa_cannon.protecting_section)].") - link.log_ares_antiair(usr, "Set AA to cover [html_encode(almayer_aa_cannon.protecting_section)].") + link.log_ares_antiair("[usr] Set AA to cover [html_encode(almayer_aa_cannon.protecting_section)].") . = TRUE if("deactivate") almayer_aa_cannon.protecting_section = "" message_admins("[key_name(usr)] has deactivated the AA cannon.") - link.log_ares_antiair(usr, "Deactivated Anti Air systems.") + link.log_ares_antiair("[usr] Deactivated Anti Air systems.") . = TRUE add_fingerprint(usr) diff --git a/code/modules/cm_marines/codebook.dm b/code/modules/cm_marines/codebook.dm index 08e1b4352bcf..11013f764538 100644 --- a/code/modules/cm_marines/codebook.dm +++ b/code/modules/cm_marines/codebook.dm @@ -1,24 +1,56 @@ +GLOBAL_LIST_EMPTY(codebook_data) -/obj/item/book/codebook - name = "Almayer Code Book" - unique = 1 - dat = "" +/obj/item/book/codebook/proc/create_codebook(faction = FACTION_MARINE) + if(!GLOB.codebook_data[faction]) + GLOB.codebook_data[faction] = generate_code() -/obj/item/book/codebook/Initialize() - . = ..() + dat = GLOB.codebook_data[faction] + +/obj/item/book/codebook/proc/generate_code() var/number var/letter - dat = "" + var/code_data = "
CallResponse
" for(var/i in 1 to 10) letter = pick(greek_letters) number = rand(100,999) - dat += "" + code_data += "" letter = pick(greek_letters) number = rand(100,999) - dat += "" + code_data += "" + code_data += "
CallResponse
[letter]-[number]
[letter]-[number][letter]-[number]
[letter]-[number]
" + return code_data + +/obj/item/book/codebook + name = "USS Almayer Code Book" + author = "United States Colonial Marines" + unique = 1 + dat = "" + var/faction = FACTION_MARINE + +/obj/item/book/codebook/Initialize() + . = ..() + title = name + create_codebook(faction) + +/obj/item/book/codebook/clf + name = "Liberation Front Authenticators" + faction = FACTION_CLF + author = "\[Obscured Ink\]" + +/obj/item/book/codebook/twe + name = "Imperial Authentication Codes" + faction = FACTION_TWE + author = "Royal Marines" - dat += "" +/obj/item/book/codebook/upp + name = "Union Authentication Codes" + faction = FACTION_UPP + author = "People's Army" +/obj/item/book/codebook/wey_yu + name = "Corporate Authentication Codes" + faction = FACTION_WY + author = "Weyland-Yutani Communications Division" /obj/item/book/codebook/attackby(obj/item/W, mob/living/user) if(istype(W, /obj/item/tool/kitchen/knife) || HAS_TRAIT(W, TRAIT_TOOL_WIRECUTTERS)) diff --git a/code/modules/cm_marines/dropship_ammo.dm b/code/modules/cm_marines/dropship_ammo.dm index d3d0266e5982..264400caa0dd 100644 --- a/code/modules/cm_marines/dropship_ammo.dm +++ b/code/modules/cm_marines/dropship_ammo.dm @@ -146,6 +146,8 @@ fire_mission_delay = 2 var/bullet_spread_range = 4 //how far from the real impact turf can bullets land var/shrapnel_type = /datum/ammo/bullet/shrapnel/gau //For siming 30mm bullet impacts. + var/directhit_damage = 105 //how much damage is to be inficted to a mob, this is here so that we can hit resting mobs. + var/penetration = 10 //AP value pretty much /obj/structure/ship_ammo/heavygun/get_examine_text(mob/user) . = ..() @@ -165,25 +167,27 @@ var/soundplaycooldown = 0 var/debriscooldown = 0 for(var/i = 1 to ammo_used_per_firing) - var/turf/U = pick(turf_list) + var/turf/impact_tile = pick(turf_list) sleep(1) var/datum/cause_data/cause_data = create_cause_data(initial(name), source_mob) - U.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(alldirs), cause_data) - create_shrapnel(U,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet - for(var/atom/movable/AM in U) - if(iscarbon(AM)) - AM.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data) + impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(alldirs), cause_data) + create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet + for(var/atom/movable/explosion_effect in impact_tile) + if(iscarbon(explosion_effect)) + var/mob/living/carbon/bullet_effect = explosion_effect + explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data) + bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration) else - AM.ex_act(EXPLOSION_THRESHOLD_VLOW) + explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW) if(!soundplaycooldown) //so we don't play the same sound 20 times very fast. - playsound(U, 'sound/effects/gauimpact.ogg',40,1,20) + playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20) soundplaycooldown = 3 soundplaycooldown-- if(!debriscooldown) - U.ceiling_debris_check(1) + impact_tile.ceiling_debris_check(1) debriscooldown = 6 debriscooldown-- - new /obj/effect/particle_effect/expl_particles(U) + new /obj/effect/particle_effect/expl_particles(impact_tile) sleep(11) //speed of sound simulation playsound(impact, 'sound/effects/gau.ogg',100,1,60) @@ -200,6 +204,8 @@ point_cost = 325 fire_mission_delay = 2 shrapnel_type = /datum/ammo/bullet/shrapnel/gau/at + directhit_damage = 80 //how much damage is to be inficted to a mob, this is here so that we can hit resting mobs. + penetration = 40 //AP value pretty much //laser battery diff --git a/code/modules/cm_marines/equipment/guncases.dm b/code/modules/cm_marines/equipment/guncases.dm index aa01535ff888..33684aa29d0a 100644 --- a/code/modules/cm_marines/equipment/guncases.dm +++ b/code/modules/cm_marines/equipment/guncases.dm @@ -296,6 +296,35 @@ new /obj/item/ammo_magazine/handful/revolver/marksman/six_rounds(src) new /obj/item/ammo_magazine/handful/revolver/marksman/six_rounds(src) +/obj/item/storage/box/guncase/vulture + name = "\improper M707 anti-materiel rifle case" + desc = "A gun case containing the M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." + icon_state = "guncase_blue" + storage_slots = 7 + can_hold = list( + /obj/item/weapon/gun/boltaction/vulture, + /obj/item/ammo_magazine/rifle/boltaction/vulture, + /obj/item/device/vulture_spotter_tripod, + /obj/item/device/vulture_spotter_scope, + /obj/item/tool/screwdriver, + /obj/item/pamphlet/trait/vulture, + ) + +/obj/item/storage/box/guncase/vulture/update_icon() + if(LAZYLEN(contents)) + icon_state = "guncase_blue" + else + icon_state = "guncase_blue_e" + +/obj/item/storage/box/guncase/vulture/fill_preset_inventory() + var/obj/item/weapon/gun/boltaction/vulture/rifle = new(src) + new /obj/item/ammo_magazine/rifle/boltaction/vulture(src) + new /obj/item/device/vulture_spotter_tripod(src) + new /obj/item/device/vulture_spotter_scope(src, WEAKREF(rifle)) + new /obj/item/tool/screwdriver(src) // Spotter scope needs a screwdriver to disassemble + new /obj/item/pamphlet/trait/vulture(src) //both pamphlets give use of the scope and the rifle + new /obj/item/pamphlet/trait/vulture(src) + //Handgun case for Military police vendor three mag , a railflashligh and the handgun. //88 Mod 4 Combat Pistol diff --git a/code/modules/cm_marines/equipment/mortar/mortars.dm b/code/modules/cm_marines/equipment/mortar/mortars.dm index f78fc9d94837..86bc3f5917c0 100644 --- a/code/modules/cm_marines/equipment/mortar/mortars.dm +++ b/code/modules/cm_marines/equipment/mortar/mortars.dm @@ -50,7 +50,7 @@ if (PF) PF.flags_can_pass_all = PASS_OVER -/obj/structure/mortar/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/mortar/get_projectile_hit_boolean(obj/projectile/P) if(P.original == src) return TRUE else diff --git a/code/modules/cm_marines/m2c.dm b/code/modules/cm_marines/m2c.dm new file mode 100644 index 000000000000..a0943bb7f0a6 --- /dev/null +++ b/code/modules/cm_marines/m2c.dm @@ -0,0 +1,629 @@ +#define M2C_SETUP_TIME (0.2 SECONDS) +#define M2C_OVERHEAT_CRITICAL 25 +#define M2C_OVERHEAT_BAD 14 +#define M2C_OVERHEAT_OK 4 +#define M2C_OVERHEAT_DAMAGE 30 +#define M2C_LOW_COOLDOWN_ROLL 0.3 +#define M2C_HIGH_COOLDOWN_ROLL 0.45 +#define M2C_PASSIVE_COOLDOWN_AMOUNT 4 +#define M2C_OVERHEAT_OVERLAY 14 +#define M2C_CRUSHER_STUN 3 //amount in ticks (roughly 3 seconds) + +/*M2C HEAVY MACHINEGUN AND ITS COMPONENTS */ +// AMMO +/obj/item/ammo_magazine/m2c + name = "M2C Ammunition Box (10x28mm tungsten rounds)" + desc = "A box of 125, 10x28mm tungsten rounds for the M2 Heavy Machinegun System. Click the heavy machinegun while there's no ammo box loaded to reload the M2C." + caliber = "10x28mm" + w_class = SIZE_LARGE + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' + icon_state = "m56de" + item_state = "m56de" + max_rounds = 125 + default_ammo = /datum/ammo/bullet/machinegun/auto + gun_type = null + +//STORAGE BOX FOR THE MACHINEGUN +/obj/item/storage/box/m56d/m2c + name = "\improper M2C Assembly-Supply Crate" + desc = "A large case labelled 'M2C, 10x28mm caliber heavy machinegun', seems to be fairly heavy to hold. contains a deadly M2C Heavy Machinegun System and its ammunition." + icon = 'icons/turf/whiskeyoutpost.dmi' + icon_state = "M56D_case" + w_class = SIZE_HUGE + storage_slots = 5 + +/obj/item/storage/box/m56d/m2c/fill_preset_inventory() + new /obj/item/device/m2c_gun(src) + new /obj/item/ammo_magazine/m2c(src) + new /obj/item/ammo_magazine/m2c(src) + new /obj/item/ammo_magazine/m2c(src) + new /obj/item/ammo_magazine/m2c(src) + +// THE GUN ITSELF + +/obj/item/device/m2c_gun + name = "\improper M2C heavy machine gun" + desc = "The disassembled M2C HMG, with its telescopic tripods folded up and unable to fire." + w_class = SIZE_HUGE + flags_equip_slot = SLOT_BACK + icon = 'icons/turf/whiskeyoutpost.dmi' + icon_state = "M56DE_gun_mount" + item_state = "M56DE_gun_mount" + var/rounds = 0 + var/overheat_value = 0 + var/anti_cadehugger_range = 1 + var/broken_gun = FALSE + var/field_recovery = 130 + health = 230 + +/obj/item/device/m2c_gun/Initialize() + . = ..() + update_icon() + +/obj/item/device/m2c_gun/update_icon() //Lets generate the icon based on how much ammo it has. + var/icon_name = initial(icon_state) + if(broken_gun) + icon_name += "_broken" + if(!rounds) + icon_name += "_e" + + else if(!broken_gun && !rounds) + icon_name += "_e" + + icon_state = icon_name + +/obj/item/device/m2c_gun/proc/check_can_setup(mob/user, turf/rotate_check, turf/open/OT, list/ACR) + if(!ishuman(user)) + return FALSE + if(broken_gun) + to_chat(user, SPAN_WARNING("You can't set up \the [src], it's completely broken!")) + return FALSE + if(SSinterior.in_interior(user)) + to_chat(usr, SPAN_WARNING("It's too cramped in here to deploy \a [src].")) + return FALSE + if(OT.density || !isturf(OT) || !OT.allow_construction) + to_chat(user, SPAN_WARNING("You can't set up \the [src] here.")) + return FALSE + if(rotate_check.density) + to_chat(user, SPAN_WARNING("You can't set up \the [src] that way, there's a wall behind you!")) + return FALSE + for(var/obj/structure/potential_blocker in rotate_check) + if(potential_blocker.density) + to_chat(user, SPAN_WARNING("You can't set up \the [src] that way, there's \a [potential_blocker] behind you!")) + return FALSE + if((locate(/obj/structure/barricade) in ACR) || (locate(/obj/structure/window_frame) in ACR) || (locate(/obj/structure/window) in ACR) || (locate(/obj/structure/windoor_assembly) in ACR)) + to_chat(user, SPAN_WARNING("There are barriers nearby, you can't set up \the [src] here!")) + return FALSE + var/fail = FALSE + for(var/obj/X in OT.contents - src) + if(istype(X, /obj/structure/machinery/defenses)) + fail = TRUE + break + else if(istype(X, /obj/structure/machinery/door)) + fail = TRUE + break + else if(istype(X, /obj/structure/machinery/m56d_hmg)) + fail = TRUE + break + if(fail) + to_chat(user, SPAN_WARNING("You can't install \the [src] here, something is in the way.")) + return FALSE + + + if(!(user.alpha > 60)) + to_chat(user, SPAN_WARNING("You can't set this up while cloaked!")) + return FALSE + return TRUE + + +/obj/item/device/m2c_gun/attack_self(mob/user) + ..() + var/turf/rotate_check = get_step(user.loc, turn(user.dir, 180)) + var/turf/open/OT = usr.loc + var/list/ACR = range(anti_cadehugger_range, user.loc) + + if(!check_can_setup(user, rotate_check, OT, ACR)) + return + + if(!do_after(user, M2C_SETUP_TIME, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) + return + + if(!check_can_setup(user, rotate_check, OT, ACR)) + return + + var/obj/structure/machinery/m56d_hmg/auto/M = new /obj/structure/machinery/m56d_hmg/auto(user.loc) + transfer_label_component(M) + M.setDir(user.dir) // Make sure we face the right direction + M.anchored = TRUE + playsound(M, 'sound/items/m56dauto_setup.ogg', 75, TRUE) + to_chat(user, SPAN_NOTICE("You deploy [M].")) + if((rounds > 0) && !user.get_inactive_hand()) + user.set_interaction(M) + give_action(user, /datum/action/human_action/mg_exit) + M.rounds = rounds + M.overheat_value = overheat_value + M.health = health + M.update_icon() + qdel(src) + +/obj/item/device/m2c_gun/attackby(obj/item/O as obj, mob/user as mob) + if(!ishuman(user)) + return + + if(!iswelder(O) || user.action_busy) + return + + if(!HAS_TRAIT(O, TRAIT_TOOL_BLOWTORCH)) + to_chat(user, SPAN_WARNING("You need a stronger blowtorch!")) + return + + if(!broken_gun) + to_chat(user, SPAN_WARNING("[src] isn't critically broken, no need for field recovery operations.")) + return + + var/obj/item/tool/weldingtool/WT = O + + if(WT.remove_fuel(2, user)) + user.visible_message(SPAN_NOTICE("[user] begins field recovering \the [src]."), \ + SPAN_NOTICE("You begin repairing the severe damages on \the [src] in an effort to restore its functions.")) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + if(!do_after(user, field_recovery * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) + return + user.visible_message(SPAN_NOTICE("[user] field recovers \the [src], restoring it back to its original state."), \ + SPAN_NOTICE("You repair \the [src] back to a functional state.")) + broken_gun = FALSE + health = 110 + update_icon() + return + else + to_chat(user, SPAN_WARNING("You need more fuel in \the [WT] to start field recovery on [src].")) + +// MACHINEGUN, AUTOMATIC +/obj/structure/machinery/m56d_hmg/auto + name = "\improper M2C Heavy Machinegun" + desc = "A deployable, heavy machine gun. The M2C 'Chimp' HB is a modified M2 HB reconfigured to fire 10x28 Caseless Tungsten rounds for USCM use. It is capable of recoilless fire and fast-rotating. However it has a debilitating overheating issue due to the poor quality of metals used in the parts, forcing it to be used in decisive, crushing engagements as a squad support weapon. Click its sprite while behind it without holding anything to man it. Click-drag on NON-GRAB intent to disassemble the gun, GRAB INTENT to remove ammo magazines." + icon = 'icons/turf/whiskeyoutpost.dmi' + icon_state = "M56DE" + icon_full = "M56DE" + icon_empty = "M56DE_e" + rounds_max = 125 + ammo = /datum/ammo/bullet/machinegun/auto + fire_delay = 0.1 SECONDS + var/grip_dir = null + var/fold_time = 1.5 SECONDS + var/repair_time = 5 SECONDS + density = TRUE + health = 230 + health_max = 230 + display_ammo = FALSE + var/list/cadeblockers = list() + var/cadeblockers_range = 1 + + var/static/image/barrel_overheat_image + var/has_barrel_overlay = FALSE + + gun_noise = 'sound/weapons/gun_m56d_auto.ogg' + empty_alarm = 'sound/weapons/hmg_eject_mag.ogg' + + // OVERHEAT MECHANIC VARIABLES + var/overheat_value = 0 + var/overheat_threshold = 40 + var/emergency_cooling = FALSE + var/overheat_text_cooldown = 0 + var/force_cooldown_timer = 10 + var/rotate_timer = 0 + var/fire_stopper = FALSE + + // Muzzle Flash Offsets + north_x_offset = 0 + north_y_offset = 10 + east_x_offset = 0 + east_y_offset = 12 + south_x_offset = 0 + south_y_offset = 10 + west_x_offset = 0 + west_y_offset = 12 + +// ANTI-CADE EFFECT, CREDIT TO WALTERMELDRON + +/obj/structure/machinery/m56d_hmg/auto/Initialize() + . = ..() + for(var/turf/T in range(cadeblockers_range, src)) + var/obj/structure/blocker/anti_cade/CB = new(T) + CB.hmg = src + + cadeblockers.Add(CB) + + if(!barrel_overheat_image) + barrel_overheat_image = image('icons/turf/whiskeyoutpost.dmi', "+m56de_overheat") + +/obj/structure/machinery/m56d_hmg/auto/Destroy() + QDEL_NULL_LIST(cadeblockers) + return ..() + +/obj/structure/machinery/m56d_hmg/auto/process() + + var/mob/user = operator + overheat_value -= M2C_PASSIVE_COOLDOWN_AMOUNT + if(overheat_value <= 0) + overheat_value = 0 + STOP_PROCESSING(SSobj, src) + + if(overheat_value >= M2C_OVERHEAT_CRITICAL) + to_chat(user, SPAN_HIGHDANGER("[src]'s barrel is critically hot, it might start melting at this rate.")) + else if(overheat_value >= M2C_OVERHEAT_BAD) + to_chat(user, SPAN_DANGER("[src]'s barrel is terribly hot, but is still able to fire.")) + else if(overheat_value >= M2C_OVERHEAT_OK) + to_chat(user, SPAN_DANGER("[src]'s barrel is pretty hot, although it's still stable.")) + else if (overheat_value > 0) + to_chat(user, SPAN_WARNING("[src]'s barrel is mildly warm.")) + + update_icon() + +// ANTI-CADE EFFECT, CREDIT TO WALTERMELDRON +/obj/structure/blocker/anti_cade + health = INFINITY + anchored = TRUE + density = FALSE + unacidable = TRUE + indestructible = TRUE + invisibility = 101 // no looking at it with alt click + + var/obj/structure/machinery/m56d_hmg/auto/hmg + + alpha = 0 + +/obj/structure/blocker/anti_cade/BlockedPassDirs(atom/movable/AM, target_dir) + if(istype(AM, /obj/structure/barricade)) + return BLOCKED_MOVEMENT + else if(istype(AM, /obj/structure/window)) + return BLOCKED_MOVEMENT + else if(istype(AM, /obj/structure/windoor_assembly)) + return BLOCKED_MOVEMENT + else if(istype(AM, /obj/structure/machinery/door)) + return BLOCKED_MOVEMENT + return ..() + +/obj/structure/blocker/anti_cade/Destroy() + if(hmg) + hmg.cadeblockers.Remove(src) + hmg = null + + return ..() + +/obj/structure/machinery/m56d_hmg/auto/update_icon() //Lets generate the icon based on how much ammo it has. + if(!rounds) + icon_state = "[icon_empty]" + else + icon_state = "[icon_full]" + + if(overheat_value >= M2C_OVERHEAT_OVERLAY) + if(has_barrel_overlay) + return + overlays += barrel_overheat_image + has_barrel_overlay = TRUE + else if(has_barrel_overlay) + overlays -= barrel_overheat_image + has_barrel_overlay = FALSE + +// DED + +/obj/structure/machinery/m56d_hmg/auto/update_health(amount) //Negative values restores health. + health -= amount + if(health <= 0) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + visible_message(SPAN_WARNING("[src] has broken down completely!")) + var/obj/item/device/m2c_gun/HMG = new(src.loc) + HMG.rounds = rounds + HMG.broken_gun = TRUE + HMG.unacidable = FALSE + HMG.health = 0 + HMG.update_icon() + qdel(src) + return + + if(health > health_max) + health = health_max + update_damage_state() + update_icon() + +/obj/structure/machinery/m56d_hmg/auto/attackby(obj/item/O as obj, mob/user as mob) + if(!ishuman(user)) + return + // RELOADING + if(istype(O, /obj/item/ammo_magazine/m2c)) + var/obj/item/ammo_magazine/m2c/M = O + if(rounds) + to_chat(user, SPAN_WARNING("There's already an ammo box inside of [src], remove it first!")) + return + if(user.action_busy) return + user.visible_message(SPAN_NOTICE("[user] loads [src] with an ammo box! "), SPAN_NOTICE("You load [src] with an ammo box!")) + playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1) + rounds = min(rounds + M.current_rounds, rounds_max) + update_icon() + user.temp_drop_inv_item(O) + qdel(O) + return + + // WELDER REPAIR + if(iswelder(O)) + if(!HAS_TRAIT(O, TRAIT_TOOL_BLOWTORCH)) + to_chat(user, SPAN_WARNING("You need a stronger blowtorch!")) + return + if(user.action_busy) + return + + var/obj/item/tool/weldingtool/WT = O + + if(health == health_max) + to_chat(user, SPAN_WARNING("[src] doesn't need repairs, it's well-maintained.")) + return + + if(WT.remove_fuel(2, user)) + user.visible_message(SPAN_NOTICE("[user] begins repairing damage on \the [src]."), \ + SPAN_NOTICE("You begin repairing the damage on \the [src].")) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + if(!do_after(user, repair_time * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) + return + user.visible_message(SPAN_NOTICE("[user] repairs some of the damage on [src]."), \ + SPAN_NOTICE("You repair [src].")) + update_health(-round(health_max*0.2)) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + else + to_chat(user, SPAN_WARNING("You need more fuel in [WT] to repair damage to [src].")) + return + return + +// AUTOMATIC FIRING + +/obj/structure/machinery/m56d_hmg/auto/try_fire() + if(fire_stopper) + return + + if(overheat_value >= overheat_threshold) + if(world.time > overheat_text_cooldown) + operator.visible_message(SPAN_HIGHDANGER("[src] has overheated and has been shortly disabled!"), SPAN_HIGHDANGER("[src] has overheated! You have to wait for it to cooldown!")) + overheat_text_cooldown = world.time + 3 SECONDS + + if(!emergency_cooling) + emergency_cooling = TRUE + to_chat(operator, SPAN_DANGER("You wait for [src]'s barrel to cooldown to continue sustained fire.")) + fire_stopper = TRUE + STOP_PROCESSING(SSobj, src) + addtimer(CALLBACK(src, PROC_REF(force_cooldown)), force_cooldown_timer) + return + + return ..() + + +/obj/structure/machinery/m56d_hmg/auto/fire_shot() + . = ..() + + handle_rotating_gun(operator) + if((. & AUTOFIRE_CONTINUE) && rounds) + overheat_value += 1 + START_PROCESSING(SSobj, src) + +/obj/structure/machinery/m56d_hmg/auto/handle_ammo_out(mob/user) + visible_message(SPAN_NOTICE("[icon2html(src, viewers(src))] [src]'s ammo box drops onto the ground, now completely empty.")) + playsound(loc, empty_alarm, 70, 1) + update_icon() //final safeguard. + var/obj/item/ammo_magazine/m2c/AM = new /obj/item/ammo_magazine/m2c(src.loc) + AM.current_rounds = 0 + AM.update_icon() + +/obj/structure/machinery/m56d_hmg/auto/get_scatter() + return 0 + +// ACTIVE COOLING + +/obj/structure/machinery/m56d_hmg/auto/proc/force_cooldown(mob/user) + user = operator + + overheat_value = round((rand(M2C_LOW_COOLDOWN_ROLL, M2C_HIGH_COOLDOWN_ROLL) * overheat_threshold)) + playsound(src.loc, 'sound/weapons/hmg_cooling.ogg', 75, 1) + to_chat(user, SPAN_NOTICE("[src]'s barrel has cooled down enough to restart firing.")) + emergency_cooling = FALSE + fire_stopper = FALSE + fire_delay = initial(fire_delay) + update_health(M2C_OVERHEAT_DAMAGE) + START_PROCESSING(SSobj, src) + update_icon() + +// TOGGLE MODE + +/obj/structure/machinery/m56d_hmg/auto/clicked(mob/user, list/mods, atom/A) + if (mods["ctrl"]) + if(operator != user) + return ..() + if(!CAN_PICKUP(user, src)) + return ..() + to_chat(user, SPAN_NOTICE("You try to toggle a burst-mode on \the [src], but realize that it doesn't exist.")) + return TRUE + + return ..() + +//ATTACK WITH BOTH HANDS COMBO + +/obj/structure/machinery/m56d_hmg/auto/attack_hand(mob/user) + ..() + + var/turf/user_turf = get_turf(user) + for(var/opp_dir in reverse_nearby_direction(src.dir)) + if(get_step(src, opp_dir) == user_turf) + if(operator) //If there is already a operator then they're manning it. + if(operator.interactee == null) + operator = null //this shouldn't happen, but just in case + else + to_chat(user, "Someone's already controlling it.") + return + if(!(user.alpha > 60)) + to_chat(user, SPAN_WARNING("You aren't going to be setting up while cloaked.")) + return + else + if(user.interactee) //Make sure we're not manning two guns at once, tentacle arms. + to_chat(user, "You're already manning something!") + return + + if(user.get_active_hand() == null && user.get_inactive_hand() == null) + user.freeze() + user.set_interaction(src) + give_action(user, /datum/action/human_action/mg_exit) + else + to_chat(usr, SPAN_NOTICE("Your hands are too busy holding things to grab the handles!")) + else + to_chat(usr, SPAN_NOTICE("You are too far from the handles to man [src]!")) + +// DISASSEMBLY + +/obj/structure/machinery/m56d_hmg/auto/MouseDrop(over_object, src_location, over_location) + if(!ishuman(usr)) return + var/mob/living/carbon/human/user = usr + + if(over_object == user && in_range(src, user)) + if((rounds > 0) && (user.a_intent & (INTENT_GRAB))) + playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1) + user.visible_message(SPAN_NOTICE(" [user] removes [src]'s ammo box."),SPAN_NOTICE(" You remove [src]'s ammo box, preparing the gun for disassembly.")) + var/obj/item/ammo_magazine/m2c/used_ammo = new(user.loc) + used_ammo.current_rounds = rounds + user.put_in_active_hand(used_ammo) + rounds = 0 + + else + if(!do_after(user, fold_time* user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) // disassembly time reduced + return + user.visible_message(SPAN_NOTICE("[user] disassembles [src]."),SPAN_NOTICE("You fold up the tripod for [src], disassembling it.")) + playsound(src.loc, 'sound/items/m56dauto_setup.ogg', 75, 1) + var/obj/item/device/m2c_gun/HMG = new(src.loc) + transfer_label_component(HMG) + HMG.rounds = src.rounds + HMG.overheat_value = round(0.5 * src.overheat_value) + if (HMG.overheat_value <= 10) + HMG.overheat_value = 0 + HMG.update_icon() + HMG.health = health + user.put_in_active_hand(HMG) + if(user.equip_to_slot_if_possible(HMG, WEAR_BACK, disable_warning = TRUE)) + to_chat(user, SPAN_NOTICE("You quickly heave the machine gun onto your back!")) + qdel(src) + + update_icon() + +// MOUNT THE MG + +/obj/structure/machinery/m56d_hmg/auto/on_set_interaction(mob/user) + ..() + ADD_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) + RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(disable_interaction)) + RegisterSignal(user, COMSIG_MOB_POST_UPDATE_CANMOVE, PROC_REF(disable_canmove_interaction)) + +// DISMOUNT THE MG + +/obj/structure/machinery/m56d_hmg/auto/on_unset_interaction(mob/user) + REMOVE_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) + UnregisterSignal(user, list( + COMSIG_MOVABLE_PRE_MOVE, + COMSIG_MOB_POST_UPDATE_CANMOVE + )) + ..() + +// GET ANIMATED + +/obj/structure/machinery/m56d_hmg/auto/update_pixels(mob/user, mounting = TRUE) + if(mounting) + var/diff_x = 0 + var/diff_y = 0 + var/tilesize = 32 + var/viewoffset = tilesize * 1 + + user.reset_view(src) + if(dir == EAST) + diff_x = -16 + user_old_x + user.client.pixel_x = viewoffset + user.client.pixel_y = 0 + if(dir == WEST) + diff_x = 16 + user_old_x + user.client.pixel_x = -viewoffset + user.client.pixel_y = 0 + if(dir == NORTH) + diff_y = -16 + user_old_y + user.client.pixel_x = 0 + user.client.pixel_y = viewoffset + if(dir == SOUTH) + diff_y = 16 + user_old_y + user.client.pixel_x = 0 + user.client.pixel_y = -viewoffset + + animate(user, pixel_x=diff_x, pixel_y=diff_y, 0.4 SECONDS) + else + if(user.client) + user.client.change_view(world_view_size) + user.client.pixel_x = 0 + user.client.pixel_y = 0 + + animate(user, pixel_x=user_old_x, pixel_y=user_old_y, 4, 1) + + +//ROTATE THE MACHINEGUN + +/obj/structure/machinery/m56d_hmg/auto/proc/rotate_to(mob/user, atom/A) + if(!A || !user.x || !user.y || !A.x || !A.y) + return + var/dx = A.x - user.x + var/dy = A.y - user.y + if(!dx && !dy) + return + + var/direction + if(abs(dx) < abs(dy)) + if(dy > 0) + direction = NORTH + else + direction = SOUTH + else + if(dx > 0) + direction = EAST + else + direction = WEST + + var/turf/rotate_check = get_step(src.loc, turn(direction,180)) + if(rotate_check.density) + to_chat(user, SPAN_WARNING("You can't rotate it that way.")) + return + + src.setDir(direction) + user.setDir(direction) + update_pixels(user) + playsound(src.loc, 'sound/items/m56dauto_rotate.ogg', 25, 1) + to_chat(user, SPAN_NOTICE("You rotate [src], using the tripod to support your pivoting movement.")) + + +/obj/structure/machinery/m56d_hmg/auto/proc/disable_interaction(mob/user, NewLoc, direction) + SIGNAL_HANDLER + + if(user.lying || get_dist(user,src) > 0 || user.is_mob_incapacitated() || !user.client) + user.unset_interaction() + +/obj/structure/machinery/m56d_hmg/auto/proc/disable_canmove_interaction(mob/user, canmove, laid_down, lying) + SIGNAL_HANDLER + + if(laid_down) + user.unset_interaction() + +/obj/structure/machinery/m56d_hmg/auto/proc/handle_rotating_gun(mob/user) + var/angle = get_dir(src, target) + if(world.time > rotate_timer && !((dir & angle) && target.loc != src.loc && target.loc != operator.loc)) + rotate_timer = world.time + 0.4 SECONDS + rotate_to(user, target) + return TRUE + +#undef M2C_OVERHEAT_CRITICAL +#undef M2C_OVERHEAT_BAD +#undef M2C_OVERHEAT_OK +#undef M2C_SETUP_TIME +#undef M2C_OVERHEAT_DAMAGE +#undef M2C_LOW_COOLDOWN_ROLL +#undef M2C_HIGH_COOLDOWN_ROLL +#undef M2C_PASSIVE_COOLDOWN_AMOUNT +#undef M2C_OVERHEAT_OVERLAY +#undef M2C_CRUSHER_STUN diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index 2dff476a7b3e..d2d55a8cadb1 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -49,7 +49,7 @@ /obj/structure/machinery/computer/overwatch/attackby(obj/I as obj, mob/user as mob) //Can't break or disassemble. return -/obj/structure/machinery/computer/overwatch/bullet_act(obj/item/projectile/Proj) //Can't shoot it +/obj/structure/machinery/computer/overwatch/bullet_act(obj/projectile/Proj) //Can't shoot it return FALSE /obj/structure/machinery/computer/overwatch/attack_remote(mob/user as mob) @@ -63,7 +63,7 @@ if(istype(src, /obj/structure/machinery/computer/overwatch/almayer/broken)) return - if(!ishighersilicon(usr) && !skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) && SSmapping.configs[GROUND_MAP].map_name != MAP_WHISKEY_OUTPOST) + if(!ishighersilicon(usr) && !skillcheck(user, SKILL_OVERWATCH, SKILL_OVERWATCH_TRAINED) && SSmapping.configs[GROUND_MAP].map_name != MAP_WHISKEY_OUTPOST) to_chat(user, SPAN_WARNING("You don't have the training to use [src].")) return @@ -798,7 +798,7 @@ log_attack("[key_name(user)] fired an orbital bombardment in [A.name] for squad '[current_squad]'") /// Project ARES interface log. - GLOB.ares_link.log_ares_bombardment(user, ob_name, "X[x_bomb], Y[y_bomb] in [A.name]") + GLOB.ares_link.log_ares_bombardment(user.name, ob_name, "X[x_bomb], Y[y_bomb] in [A.name]") busy = FALSE var/turf/target = locate(T.x + rand(-3, 3), T.y + rand(-3, 3), T.z) diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 62c5a5955679..0066e96bb783 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -1,14 +1,3 @@ -#define M2C_SETUP_TIME 0.2 SECONDS -#define M2C_OVERHEAT_CRITICAL 25 -#define M2C_OVERHEAT_BAD 14 -#define M2C_OVERHEAT_OK 4 -#define M2C_OVERHEAT_DAMAGE 30 -#define M2C_LOW_COOLDOWN_ROLL 0.3 -#define M2C_HIGH_COOLDOWN_ROLL 0.45 -#define M2C_PASSIVE_COOLDOWN_AMOUNT 4 -#define M2C_OVERHEAT_OVERLAY 14 -#define M2C_CRUSHER_STUN 3 //amount in ticks (roughly 3 seconds) - ////////////////////////////////////////////////////////////// //Mounted MG, Replacment for the current jury rig code. @@ -255,7 +244,7 @@ PF.flags_can_pass_all = PASS_HIGH_OVER_ONLY|PASS_AROUND|PASS_OVER_THROW_ITEM //Making so rockets don't hit M56D -/obj/structure/machinery/m56d_post/calculate_cover_hit_boolean(obj/item/projectile/P, distance = 0, cade_direction_correct = FALSE) +/obj/structure/machinery/m56d_post/calculate_cover_hit_boolean(obj/projectile/P, distance = 0, cade_direction_correct = FALSE) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & AMMO_ROCKET) return 0 @@ -426,7 +415,7 @@ // The actual Machinegun itself, going to borrow some stuff from current sentry code to make sure it functions. Also because they're similiar. /obj/structure/machinery/m56d_hmg name = "\improper M56D heavy machine gun" - desc = "A deployable, heavy machine gun. While it is capable of taking the same rounds as the M56, it fires specialized tungsten rounds for increased armor penetration.
Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." + desc = "A deployable, heavy machine gun. While it is capable of taking the same rounds as the M56, it fires specialized tungsten rounds for increased armor penetration.
Drag its sprite onto yourself to man it. Ctrl-click it to cycle through firemodes." icon = 'icons/turf/whiskeyoutpost.dmi' icon_state = "M56D" anchored = TRUE @@ -438,18 +427,14 @@ projectile_coverage = PROJECTILE_COVERAGE_LOW var/rounds = 0 //Have it be empty upon spawn. var/rounds_max = 700 - var/fire_delay = 2 //Gotta have rounds down quick. - var/last_fired = 0 - var/burst_fire = 0 //0 is non-burst mode, 1 is burst. var/burst_scatter_mult = 4 - var/safety = 0 //Weapon safety, 0 is weapons hot, 1 is safe. + var/safety = FALSE health = 200 var/health_max = 200 //Why not just give it sentry-tier health for now. var/atom/target = null // required for shooting at things. var/datum/ammo/bullet/machinegun/ammo = /datum/ammo/bullet/machinegun - var/obj/item/projectile/in_chamber = null + var/obj/projectile/in_chamber = null var/locked = 0 //1 means its locked inplace (this will be for sandbag MGs) - var/is_bursting = 0 var/muzzle_flash_lum = 4 var/icon_full = "M56D" // Put this system in for other MGs or just other mounted weapons in general, future proofing. var/icon_empty = "M56D_e" //Empty @@ -473,13 +458,48 @@ var/user_old_x = 0 var/user_old_y = 0 + /// How much time should pass in between full auto shots, slightly higher than burst due to click delay and similar things that slow firing down + var/fire_delay = 0.3 SECONDS + /// How much time should pass in between burst fire shots + var/burst_fire_delay = 0.2 SECONDS + /// How many rounds are fired per burst + var/burst_amount = 3 + /// How many rounds have been fired in the current burst/auto + var/shots_fired = 0 + /// What firemode the gun is currently in + var/gun_firemode = GUN_FIREMODE_AUTOMATIC + /// What firemodes this gun has + var/static/list/gun_firemodes = list( + GUN_FIREMODE_SEMIAUTO, + GUN_FIREMODE_BURSTFIRE, + GUN_FIREMODE_AUTOMATIC, + ) + /// A multiplier for how slow this gun should fire in automatic as opposed to burst. 1 is normal, 1.2 is 20% slower, 0.8 is 20% faster, etc. + var/autofire_slow_mult = 1 + /// If the gun is currently burst firing + VAR_PROTECTED/burst_firing = FALSE + /// If the gun is currently auto firing + VAR_PROTECTED/auto_firing = FALSE + /// If the gun should display its ammo count + var/display_ammo = TRUE + /// How many degrees in each direction the gun should be able to fire + var/shoot_degree = 80 + /// Semi auto cooldown + COOLDOWN_DECLARE(semiauto_fire_cooldown) + /// How long between semi-auto shots this should wait, to reduce possible spam + var/semiauto_cooldown_time = 0.2 SECONDS + +/obj/structure/machinery/m56d_hmg/get_examine_text(mob/user) + . = ..() + . += "It is currently set to [gun_firemode]." + /obj/structure/machinery/m56d_hmg/initialize_pass_flags(datum/pass_flags_container/PF) ..() if (PF) PF.flags_can_pass_all = PASS_AROUND|PASS_OVER_THROW_ITEM|PASS_OVER_THROW_MOB //Making so rockets don't hit M56D -/obj/structure/machinery/m56d_hmg/calculate_cover_hit_boolean(obj/item/projectile/P, distance = 0, cade_direction_correct = FALSE) +/obj/structure/machinery/m56d_hmg/calculate_cover_hit_boolean(obj/projectile/P, distance = 0, cade_direction_correct = FALSE) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & AMMO_ROCKET) return 0 @@ -491,12 +511,13 @@ else return ..() -/obj/structure/machinery/m56d_hmg/New() - ..() +/obj/structure/machinery/m56d_hmg/Initialize(mapload, ...) + . = ..() ammo = GLOB.ammo_list[ammo] //dunno how this works but just sliding this in from sentry-code. burst_scatter_mult = SCATTER_AMOUNT_TIER_7 update_icon() + AddComponent(/datum/component/automatedfire/autofire, fire_delay, burst_fire_delay, burst_amount, gun_firemode, autofire_slow_mult, CALLBACK(src, PROC_REF(set_burst_firing)), CALLBACK(src, PROC_REF(reset_fire)), CALLBACK(src, PROC_REF(try_fire)), CALLBACK(src, PROC_REF(display_ammo)), CALLBACK(src, PROC_REF(set_auto_firing))) /obj/structure/machinery/m56d_hmg/Destroy() //Make sure we pick up our trash. if(operator) @@ -573,7 +594,7 @@ if(user.action_busy) return if(!do_after(user, 25 * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return - user.visible_message(SPAN_NOTICE(" [user] loads [src]! "),SPAN_NOTICE(" You load [src]!")) + user.visible_message(SPAN_NOTICE("[user] loads [src]! "),SPAN_NOTICE("You load [src]!")) playsound(loc, 'sound/weapons/gun_minigun_cocked.ogg', 25, 1) if(rounds) var/obj/item/ammo_magazine/m56d/D = new(user.loc) @@ -632,10 +653,10 @@ update_health(severity) return -/obj/structure/machinery/m56d_hmg/proc/exit_interaction(mob/user) +/obj/structure/machinery/m56d_hmg/proc/exit_interaction() SIGNAL_HANDLER - user.unset_interaction() + operator.unset_interaction() /obj/structure/machinery/m56d_hmg/proc/update_damage_state() var/health_percent = round(health/health_max * 100) @@ -645,7 +666,7 @@ if(50 to 75) damage_state = M56D_DMG_SLIGHT if(75 to INFINITY) damage_state = M56D_DMG_NONE -/obj/structure/machinery/m56d_hmg/bullet_act(obj/item/projectile/P) //Nope. +/obj/structure/machinery/m56d_hmg/bullet_act(obj/projectile/P) //Nope. bullet_ping(P) visible_message(SPAN_WARNING("[src] is hit by the [P.name]!")) update_health(round(P.damage / 10)) //Universal low damage to what amounts to a post with a gun. @@ -670,81 +691,60 @@ return 0 //Out of ammo. var/datum/cause_data/cause_data = create_cause_data(initial(name)) - in_chamber = new /obj/item/projectile(loc, cause_data) //New bullet! + in_chamber = new /obj/projectile(loc, cause_data) //New bullet! in_chamber.generate_bullet(ammo) return 1 -/obj/structure/machinery/m56d_hmg/proc/process_shot(mob/user) - set waitfor = FALSE - - if(isnull(target)) - return //Acqure our victim. - - if(!ammo) - update_icon() //safeguard. +/obj/structure/machinery/m56d_hmg/proc/fire_shot() //Bang Bang + if(!ammo || safety) return - if(burst_fire && target && !last_fired) - if(rounds > 3) - for(var/i = 1 to 3) - is_bursting = 1 - fire_shot(i, user) - sleep(2) - spawn(0) - last_fired = 1 - spawn(fire_delay) - last_fired = 0 - else burst_fire = 0 - is_bursting = 0 - - if(!burst_fire && target && !last_fired) - fire_shot(1, user) - - target = null - -/obj/structure/machinery/m56d_hmg/proc/fire_shot(shots_fired = 1, mob/user) //Bang Bang - if(!ammo) return //No ammo. - if(last_fired) return //still shooting. - - if(!is_bursting) - last_fired = 1 - spawn(fire_delay) - last_fired = 0 - var/turf/T = get_turf(src) var/turf/U = get_turf(target) if (!istype(T) || !istype(U)) return - if(load_into_chamber() == 1) - if(istype(in_chamber,/obj/item/projectile)) - in_chamber.original = target - - var/initial_angle = Get_Angle(T, U) - var/final_angle = initial_angle - - var/total_scatter_angle = get_scatter() - - if(total_scatter_angle > 0) - final_angle += rand(-total_scatter_angle, total_scatter_angle) - target = get_angle_target_turf(T, final_angle, 30) - - in_chamber.weapon_cause_data = create_cause_data(initial(name), user) - in_chamber.setDir(dir) - in_chamber.def_zone = pick("chest","chest","chest","head") - SEND_SIGNAL(in_chamber, COMSIG_BULLET_USER_EFFECTS, user) - playsound(loc,gun_noise, 50, 1) - in_chamber.fire_at(target,user,src,ammo.max_range,ammo.shell_speed) - if(target) - muzzle_flash(final_angle) - in_chamber = null - rounds-- - if(!rounds) - handle_ammo_out() - return + if(!load_into_chamber()) + return + + if(!istype(in_chamber, /obj/projectile)) + return + + var/angle = get_angle(T, U) + + if((dir == NORTH) && (angle > 180) && (abs(360 - angle) > shoot_degree)) // If north and shooting to the left, we do some extra math + return + + else if((dir != NORTH) && (abs(angle - dir2angle(dir)) > shoot_degree)) + return + + in_chamber.original = target + + var/initial_angle = Get_Angle(T, U) + var/final_angle = initial_angle + + var/total_scatter_angle = get_scatter() -/obj/structure/machinery/m56d_hmg/proc/get_scatter(shots_fired = 1) + if(total_scatter_angle > 0) + final_angle += rand(-total_scatter_angle, total_scatter_angle) + target = get_angle_target_turf(T, final_angle, 30) + + in_chamber.weapon_cause_data = create_cause_data(initial(name), operator) + in_chamber.setDir(dir) + in_chamber.def_zone = pick("chest","chest","chest","head") + SEND_SIGNAL(in_chamber, COMSIG_BULLET_USER_EFFECTS, operator) + playsound(loc, gun_noise, 50, 1) + in_chamber.fire_at(target, operator, src, ammo.max_range, ammo.shell_speed) + if(target) + muzzle_flash(final_angle) + in_chamber = null + rounds-- + if(!rounds) + handle_ammo_out() + return AUTOFIRE_CONTINUE + +/obj/structure/machinery/m56d_hmg/proc/get_scatter() var/total_scatter_angle = in_chamber.ammo.scatter if (shots_fired > 1) @@ -752,67 +752,25 @@ return total_scatter_angle /obj/structure/machinery/m56d_hmg/proc/handle_ammo_out(mob/user) - visible_message(SPAN_NOTICE("[icon2html(src, viewers(src))] \The [src] beeps steadily and its ammo light blinks red.")) + visible_message(SPAN_NOTICE("[icon2html(src, viewers(src))] [src] beeps steadily and its ammo light blinks red.")) playsound(loc, empty_alarm, 25, 1) update_icon() //final safeguard. -// New proc for MGs and stuff replaced handle_manual_fire(). Same arguements though, so alls good. -/obj/structure/machinery/m56d_hmg/handle_click(mob/living/carbon/human/user, atom/A, list/mods) - if(!operator) - return HANDLE_CLICK_UNHANDLED - if(operator != user) - return HANDLE_CLICK_UNHANDLED - if(istype(A,/atom/movable/screen)) - return HANDLE_CLICK_UNHANDLED - if(is_bursting) - return HANDLE_CLICK_UNHANDLED - if(user.lying || get_dist(user,src) > 1 || user.is_mob_incapacitated()) - user.unset_interaction() - return HANDLE_CLICK_UNHANDLED - if(user.get_active_hand() || user.get_inactive_hand()) - to_chat(usr, SPAN_WARNING("You need two free hands to shoot \the [src].")) - return HANDLE_CLICK_UNHANDLED - if(!user.allow_gun_usage) - to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!")) - return HANDLE_CLICK_UNHANDLED - - target = A - if(!istype(target)) - return HANDLE_CLICK_UNHANDLED - - if(target.z != src.z || target.z == 0 || src.z == 0 || isnull(operator.loc) || isnull(src.loc)) - return HANDLE_CLICK_UNHANDLED - - if(get_dist(target,src.loc) > 15) - return HANDLE_CLICK_UNHANDLED - - if(mods["middle"] || mods["shift"] || mods["alt"] || mods["ctrl"]) - handle_modded_clicks(user, mods) - return HANDLE_CLICK_PASS_THRU - - var/angle = get_dir(src, target) - //we can only fire in a 90 degree cone - if(target.loc != src.loc && target.loc != operator.loc) - if(dir & angle) - try_fire(user) - return HANDLE_CLICK_HANDLED - else if(handle_outside_cone(user)) - return HANDLE_CLICK_HANDLED - return HANDLE_CLICK_UNHANDLED - -/obj/structure/machinery/m56d_hmg/proc/try_fire(mob/living/carbon/human/user) +/obj/structure/machinery/m56d_hmg/proc/try_fire() if(!rounds) - to_chat(user, SPAN_WARNING("*click*")) + to_chat(operator, SPAN_WARNING("*click*")) playsound(src, 'sound/weapons/gun_empty.ogg', 25, 1, 5) - else - process_shot(user) + return + + if(operator.l_hand || operator.r_hand) + to_chat(operator, SPAN_WARNING("Your hands need to be free to fire [src]!")) + return + + return fire_shot() /obj/structure/machinery/m56d_hmg/proc/handle_outside_cone(mob/living/carbon/human/user) return FALSE -/obj/structure/machinery/m56d_hmg/proc/handle_modded_clicks(mob/living/carbon/human/user, list/mods) - return HANDLE_CLICK_PASS_THRU - /obj/structure/machinery/m56d_hmg/proc/muzzle_flash(angle) // Might as well keep this too. if(isnull(angle)) return @@ -886,11 +844,13 @@ to_chat(usr, SPAN_NOTICE("You are too far from the handles to man [src]!")) /obj/structure/machinery/m56d_hmg/on_set_interaction(mob/user) - RegisterSignal(user, COMSIG_MOB_RESISTED, PROC_REF(exit_interaction)) - RegisterSignal(user, COMSIG_MOB_MG_EXIT, PROC_REF(exit_interaction)) + RegisterSignal(user, list(COMSIG_MOB_MG_EXIT, COMSIG_MOB_RESISTED, COMSIG_MOB_DEATH, COMSIG_MOB_KNOCKED_DOWN), PROC_REF(exit_interaction)) flags_atom |= RELAY_CLICK user.status_flags |= IMMOBILE_ACTION user.visible_message(SPAN_NOTICE("[user] mans \the [src]."),SPAN_NOTICE("You man \the [src], locked and loaded!")) + RegisterSignal(user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire)) + RegisterSignal(user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target)) + RegisterSignal(user, COMSIG_MOB_MOUSEUP, PROC_REF(stop_fire)) user.forceMove(src.loc) user.setDir(dir) user_old_x = user.pixel_x @@ -904,7 +864,9 @@ user.status_flags &= ~IMMOBILE_ACTION user.visible_message(SPAN_NOTICE("[user] lets go of \the [src]."),SPAN_NOTICE("You let go of \the [src], letting the gun rest.")) user.unfreeze() + UnregisterSignal(user, list(COMSIG_MOB_MOUSEUP, COMSIG_MOB_MOUSEDOWN, COMSIG_MOB_MOUSEDRAG)) user.reset_view(null) + user.remove_temp_pass_flags(PASS_MOB_THRU) // this is necessary because being knocked over while using the gun makes you incorporeal user.Move(get_step(src, reverse_direction(src.dir))) user.setDir(dir) //set the direction of the player to the direction the gun is facing user_old_x = 0 //reset our x @@ -915,7 +877,9 @@ remove_action(user, /datum/action/human_action/mg_exit) UnregisterSignal(user, list( COMSIG_MOB_MG_EXIT, - COMSIG_MOB_RESISTED + COMSIG_MOB_RESISTED, + COMSIG_MOB_DEATH, + COMSIG_MOB_KNOCKED_DOWN, )) @@ -959,15 +923,15 @@ if(user.lying || get_dist(user,src) > 0 || user.is_mob_incapacitated() || !user.client) user.unset_interaction() -/obj/structure/machinery/m56d_hmg/clicked(mob/user, list/mods) //Making it possible to toggle burst fire. Perhaps have altclick be the safety on the gun? +/obj/structure/machinery/m56d_hmg/clicked(mob/user, list/mods) if (mods["ctrl"]) if(operator != user) return ..()//only the operatore can toggle fire mode if(!CAN_PICKUP(user, src)) return ..() - burst_fire = !burst_fire - to_chat(user, SPAN_NOTICE("You set [src] to [burst_fire ? "burst fire" : "single fire"] mode.")) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 25, 1) + + do_toggle_firemode(user) + playsound(src, 'sound/items/Deconstruct.ogg', 25, 1) return TRUE return ..() @@ -976,724 +940,167 @@ if(operator) to_chat(operator, SPAN_HIGHDANGER("You are knocked off the gun by the sheer force of the ram!")) operator.unset_interaction() - operator.apply_effect(M2C_CRUSHER_STUN, WEAKEN) + operator.apply_effect(3, WEAKEN) -/obj/structure/machinery/m56d_hmg/mg_turret //Our mapbound version with stupid amounts of ammo. - name = "\improper scoped M56D heavy machine gun nest" - desc = "A scoped M56D heavy machine gun mounted upon a small reinforced post with sandbags to provide a small machine gun nest for all your defensive needs. Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." - burst_fire = 1 - fire_delay = 2 - rounds = 1500 - rounds_max = 1500 - locked = 1 - projectile_coverage = PROJECTILE_COVERAGE_HIGH - icon = 'icons/turf/whiskeyoutpost.dmi' - zoom = 1 - -/obj/structure/machinery/m56d_hmg/mg_turret/dropship - name = "\improper scoped M56D heavy machine gun" - desc = "A scoped M56D heavy machine gun mounted behind a metal shield. Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." - icon_full = "towergun_folding" - icon_empty = "towergun_folding" - var/obj/structure/dropship_equipment/mg_holder/deployment_system - -/obj/structure/machinery/m56d_hmg/mg_turret/dropship/Destroy() - if(deployment_system) - deployment_system.deployed_mg = null - deployment_system = null - return ..() +/// Getter for burst_firing +/obj/structure/machinery/m56d_hmg/proc/get_burst_firing() + return burst_firing -/*M2C HEAVY MACHINEGUN AND ITS COMPONENTS */ -// AMMO -/obj/item/ammo_magazine/m2c - name = "M2C Ammunition Box (10x28mm tungsten rounds)" - desc = "A box of 125, 10x28mm tungsten rounds for the M2 Heavy Machinegun System. Click the heavy machinegun while there's no ammo box loaded to reload the M2C." - caliber = "10x28mm" - w_class = SIZE_LARGE - icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' - icon_state = "m56de" - item_state = "m56de" - max_rounds = 125 - default_ammo = /datum/ammo/bullet/machinegun/auto - gun_type = null - -//STORAGE BOX FOR THE MACHINEGUN -/obj/item/storage/box/m56d/m2c - name = "\improper M2C Assembly-Supply Crate" - desc = "A large case labelled 'M2C, 10x28mm caliber heavy machinegun', seems to be fairly heavy to hold. contains a deadly M2C Heavy Machinegun System and its ammunition." - icon = 'icons/turf/whiskeyoutpost.dmi' - icon_state = "M56D_case" - w_class = SIZE_HUGE - storage_slots = 5 +/// Setter for burst_firing +/obj/structure/machinery/m56d_hmg/proc/set_burst_firing(bursting = FALSE) + burst_firing = bursting -/obj/item/storage/box/m56d/m2c/fill_preset_inventory() - new /obj/item/device/m2c_gun(src) - new /obj/item/ammo_magazine/m2c(src) - new /obj/item/ammo_magazine/m2c(src) - new /obj/item/ammo_magazine/m2c(src) - new /obj/item/ammo_magazine/m2c(src) +/// Clean up the target, shots fired, and other things related to when you stop firing +/obj/structure/machinery/m56d_hmg/proc/reset_fire() + set_target(null) + set_auto_firing(FALSE) + shots_fired = 0 -// THE GUN ITSELF - -/obj/item/device/m2c_gun - name = "\improper M2C heavy machine gun" - desc = "The disassembled M2C HMG, with its telescopic tripods folded up and unable to fire." - w_class = SIZE_HUGE - flags_equip_slot = SLOT_BACK - icon = 'icons/turf/whiskeyoutpost.dmi' - icon_state = "M56DE_gun_mount" - item_state = "M56DE_gun_mount" - var/rounds = 0 - var/overheat_value = 0 - var/anti_cadehugger_range = 1 - var/broken_gun = FALSE - var/field_recovery = 130 - health = 230 - -/obj/item/device/m2c_gun/Initialize() - . = ..() - update_icon() - -/obj/item/device/m2c_gun/update_icon() //Lets generate the icon based on how much ammo it has. - var/icon_name = initial(icon_state) - if(broken_gun) - icon_name += "_broken" - if(!rounds) - icon_name += "_e" - - else if(!broken_gun && !rounds) - icon_name += "_e" - - icon_state = icon_name - -/obj/item/device/m2c_gun/proc/check_can_setup(mob/user, turf/rotate_check, turf/open/OT, list/ACR) - if(!ishuman(user)) - return FALSE - if(broken_gun) - to_chat(user, SPAN_WARNING("You can't set up \the [src], it's completely broken!")) - return FALSE - if(SSinterior.in_interior(user)) - to_chat(usr, SPAN_WARNING("It's too cramped in here to deploy \a [src].")) - return FALSE - if(OT.density || !isturf(OT) || !OT.allow_construction) - to_chat(user, SPAN_WARNING("You can't set up \the [src] here.")) - return FALSE - if(rotate_check.density) - to_chat(user, SPAN_WARNING("You can't set up \the [src] that way, there's a wall behind you!")) - return FALSE - for(var/obj/structure/potential_blocker in rotate_check) - if(potential_blocker.density) - to_chat(user, SPAN_WARNING("You can't set up \the [src] that way, there's \a [potential_blocker] behind you!")) - return FALSE - if((locate(/obj/structure/barricade) in ACR) || (locate(/obj/structure/window_frame) in ACR) || (locate(/obj/structure/window) in ACR) || (locate(/obj/structure/windoor_assembly) in ACR)) - to_chat(user, SPAN_WARNING("There are barriers nearby, you can't set up \the [src] here!")) - return FALSE - var/fail = FALSE - for(var/obj/X in OT.contents - src) - if(istype(X, /obj/structure/machinery/defenses)) - fail = TRUE - break - else if(istype(X, /obj/structure/machinery/door)) - fail = TRUE - break - else if(istype(X, /obj/structure/machinery/m56d_hmg)) - fail = TRUE - break - if(fail) - to_chat(user, SPAN_WARNING("You can't install \the [src] here, something is in the way.")) - return FALSE - - - if(!(user.alpha > 60)) - to_chat(user, SPAN_WARNING("You can't set this up while cloaked!")) - return FALSE - return TRUE - - -/obj/item/device/m2c_gun/attack_self(mob/user) - ..() - var/turf/rotate_check = get_step(user.loc, turn(user.dir, 180)) - var/turf/open/OT = usr.loc - var/list/ACR = range(anti_cadehugger_range, user.loc) - - if(!check_can_setup(user, rotate_check, OT, ACR)) +///Set the target and take care of hard delete +/obj/structure/machinery/m56d_hmg/proc/set_target(atom/object) + if(object == target || object == loc) return - - if(!do_after(user, M2C_SETUP_TIME, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - return - - if(!check_can_setup(user, rotate_check, OT, ACR)) - return - - var/obj/structure/machinery/m56d_hmg/auto/M = new /obj/structure/machinery/m56d_hmg/auto(user.loc) - transfer_label_component(M) - M.setDir(user.dir) // Make sure we face the right direction - M.anchored = TRUE - playsound(M, 'sound/items/m56dauto_setup.ogg', 75, TRUE) - to_chat(user, SPAN_NOTICE("You deploy \the [M].")) - if((rounds > 0) && !user.get_inactive_hand()) - user.set_interaction(M) - give_action(user, /datum/action/human_action/mg_exit) - M.rounds = rounds - M.overheat_value = overheat_value - M.health = health - M.update_icon() - qdel(src) - -/obj/item/device/m2c_gun/attackby(obj/item/O as obj, mob/user as mob) - if(!ishuman(user)) - return - - if(!iswelder(O) || user.action_busy) + if(target) + UnregisterSignal(target, COMSIG_PARENT_QDELETING) + target = object + if(target) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clean_target)) + +/// Setter for auto_firing +/obj/structure/machinery/m56d_hmg/proc/set_auto_firing(auto = FALSE) + auto_firing = auto + +/// Print how much ammo is left to chat +/obj/structure/machinery/m56d_hmg/proc/display_ammo() + if(!operator) return - if(!HAS_TRAIT(O, TRAIT_TOOL_BLOWTORCH)) - to_chat(user, SPAN_WARNING("You need a stronger blowtorch!")) - return + if(display_ammo) + var/chambered = in_chamber ? TRUE : FALSE + to_chat(operator, SPAN_DANGER("[rounds][chambered ? "+1" : ""] / [rounds_max] ROUNDS REMAINING")) - if(!broken_gun) - to_chat(user, SPAN_WARNING("\The [src] isn't critically broken, no need for field recovery operations.")) +/// Toggles the gun's firemode one down the list +/obj/structure/machinery/m56d_hmg/proc/do_toggle_firemode(mob/user, new_firemode) + if(get_burst_firing())//can't toggle mid burst return - var/obj/item/tool/weldingtool/WT = O + if(!length(gun_firemodes)) + CRASH("[src] called do_toggle_firemode() with an empty gun_firemodes") - if(WT.remove_fuel(2, user)) - user.visible_message(SPAN_NOTICE("[user] begins field recovering \the [src]."), \ - SPAN_NOTICE("You begin repairing the severe damages on \the [src] in an effort to restore its functions.")) - playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) - if(!do_after(user, field_recovery * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) - return - user.visible_message(SPAN_NOTICE("[user] field recovers \the [src], restoring it back to its original state."), \ - SPAN_NOTICE("You repair \the [src] back to a functional state.")) - broken_gun = FALSE - health = 110 - update_icon() + if(length(gun_firemodes) == 1) + to_chat(user, SPAN_NOTICE("[icon2html(src, user)] This gun only has one firemode.")) return - else - to_chat(user, SPAN_WARNING("You need more fuel in \the [WT] to start field recovery on [src].")) -// MACHINEGUN, AUTOMATIC -/obj/structure/machinery/m56d_hmg/auto - name = "\improper M2C Heavy Machinegun" - desc = "A deployable, heavy machine gun. The M2C 'Chimp' HB is a modified M2 HB reconfigured to fire 10x28 Caseless Tungsten rounds for USCM use. It is capable of recoilless fire and fast-rotating. However it has a debilitating overheating issue due to the poor quality of metals used in the parts, forcing it to be used in decisive, crushing engagements as a squad support weapon. Click its sprite while behind it without holding anything to man it. Click-drag on NON-GRAB intent to disassemble the gun, GRAB INTENT to remove ammo magazines." - icon = 'icons/turf/whiskeyoutpost.dmi' - icon_state = "M56DE" - icon_full = "M56DE" - icon_empty = "M56DE_e" - rounds_max = 125 - ammo = /datum/ammo/bullet/machinegun/auto - fire_delay = 1.1 - last_fired = 0 - var/grip_dir = null - var/fold_time = 1.5 SECONDS - var/repair_time = 5 SECONDS - density = TRUE - health = 230 - health_max = 230 - var/list/cadeblockers = list() - var/cadeblockers_range = 1 - - var/static/image/barrel_overheat_image - var/has_barrel_overlay = FALSE - - gun_noise = 'sound/weapons/gun_m56d_auto.ogg' - empty_alarm = 'sound/weapons/hmg_eject_mag.ogg' - - // OVERHEAT MECHANIC VARIABLES - var/overheat_value = 0 - var/overheat_threshold = 40 - var/emergency_cooling = FALSE - var/overheat_text_cooldown = 0 - var/force_cooldown_timer = 10 - var/rotate_timer = 0 - var/fire_stopper = FALSE - - // Muzzle Flash Offsets - north_x_offset = 0 - north_y_offset = 10 - east_x_offset = 0 - east_y_offset = 12 - south_x_offset = 0 - south_y_offset = 10 - west_x_offset = 0 - west_y_offset = 12 - -// ANTI-CADE EFFECT, CREDIT TO WALTERMELDRON - -/obj/structure/machinery/m56d_hmg/auto/Initialize() - . = ..() - for(var/turf/T in range(cadeblockers_range, src)) - var/obj/structure/blocker/anti_cade/CB = new(T) - CB.hmg = src - - cadeblockers.Add(CB) - - if(!barrel_overheat_image) - barrel_overheat_image = image('icons/turf/whiskeyoutpost.dmi', "+m56de_overheat") - -/obj/structure/machinery/m56d_hmg/auto/Destroy() - QDEL_NULL_LIST(cadeblockers) - return ..() - -/obj/structure/machinery/m56d_hmg/auto/process() - - var/mob/user = operator - overheat_value -= M2C_PASSIVE_COOLDOWN_AMOUNT - if(overheat_value <= 0) - overheat_value = 0 - STOP_PROCESSING(SSobj, src) - - if(overheat_value >= M2C_OVERHEAT_CRITICAL) - to_chat(user, SPAN_HIGHDANGER("[src]'s barrel is critically hot, it might start melting at this rate.")) - else if(overheat_value >= M2C_OVERHEAT_BAD) - to_chat(user, SPAN_DANGER("[src]'s barrel is terribly hot, but is still able to fire.")) - else if(overheat_value >= M2C_OVERHEAT_OK) - to_chat(user, SPAN_DANGER("[src]'s barrel is pretty hot, although it's still stable.")) - else if (overheat_value > 0) - to_chat(user, SPAN_WARNING("[src]'s barrel is mildly warm.")) - - update_icon() - -// ANTI-CADE EFFECT, CREDIT TO WALTERMELDRON -/obj/structure/blocker/anti_cade - health = INFINITY - anchored = TRUE - density = FALSE - unacidable = TRUE - indestructible = TRUE - invisibility = 101 // no looking at it with alt click - - var/obj/structure/machinery/m56d_hmg/auto/hmg - - alpha = 0 - -/obj/structure/blocker/anti_cade/BlockedPassDirs(atom/movable/AM, target_dir) - if(istype(AM, /obj/structure/barricade)) - return BLOCKED_MOVEMENT - else if(istype(AM, /obj/structure/window)) - return BLOCKED_MOVEMENT - else if(istype(AM, /obj/structure/windoor_assembly)) - return BLOCKED_MOVEMENT - else if(istype(AM, /obj/structure/machinery/door)) - return BLOCKED_MOVEMENT - return ..() - -/obj/structure/blocker/anti_cade/Destroy() - if(hmg) - hmg.cadeblockers.Remove(src) - hmg = null - - return ..() - -/obj/structure/machinery/m56d_hmg/auto/update_icon() //Lets generate the icon based on how much ammo it has. - if(!rounds) - icon_state = "[icon_empty]" + if(new_firemode) + if(!(new_firemode in gun_firemodes)) + CRASH("[src] called do_toggle_firemode() with [new_firemode] new_firemode, not on gun_firemodes") + gun_firemode = new_firemode else - icon_state = "[icon_full]" - - if(overheat_value >= M2C_OVERHEAT_OVERLAY) - if(has_barrel_overlay) - return - overlays += barrel_overheat_image - has_barrel_overlay = TRUE - else if(has_barrel_overlay) - overlays -= barrel_overheat_image - has_barrel_overlay = FALSE - -// DED - -/obj/structure/machinery/m56d_hmg/auto/update_health(amount) //Negative values restores health. - health -= amount - if(health <= 0) - playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) - visible_message(SPAN_WARNING("[src] has broken down completely!")) - var/obj/item/device/m2c_gun/HMG = new(src.loc) - HMG.rounds = rounds - HMG.broken_gun = TRUE - HMG.unacidable = FALSE - HMG.health = 0 - HMG.update_icon() - qdel(src) - return - - if(health > health_max) - health = health_max - update_damage_state() - update_icon() - -/obj/structure/machinery/m56d_hmg/auto/attackby(obj/item/O as obj, mob/user as mob) - if(!ishuman(user)) - return - // RELOADING - if(istype(O, /obj/item/ammo_magazine/m2c)) - var/obj/item/ammo_magazine/m2c/M = O - if(rounds) - to_chat(user, SPAN_WARNING("There's already an ammo box inside of the machinegun, remove it first!")) - return - if(user.action_busy) return - user.visible_message(SPAN_NOTICE(" [user] loads [src] with an ammo box! "),SPAN_NOTICE(" You load [src] with an ammo box!")) - playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1) - rounds = min(rounds + M.current_rounds, rounds_max) - update_icon() - user.temp_drop_inv_item(O) - qdel(O) - return - - // WELDER REPAIR - if(iswelder(O)) - if(!HAS_TRAIT(O, TRAIT_TOOL_BLOWTORCH)) - to_chat(user, SPAN_WARNING("You need a stronger blowtorch!")) - return - if(user.action_busy) - return - - var/obj/item/tool/weldingtool/WT = O - - if(health == health_max) - to_chat(user, SPAN_WARNING("[src] doesn't need repairs, it's well-maintained.")) - return - - if(WT.remove_fuel(2, user)) - user.visible_message(SPAN_NOTICE("[user] begins repairing damage on \the [src]."), \ - SPAN_NOTICE("You begin repairing the damage on \the [src].")) - playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) - if(!do_after(user, repair_time * user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) - return - user.visible_message(SPAN_NOTICE("[user] repairs some of the damage on [src]."), \ - SPAN_NOTICE("You repair [src].")) - update_health(-round(health_max*0.2)) - playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + var/mode_index = gun_firemodes.Find(gun_firemode) + if(++mode_index <= length(gun_firemodes)) + gun_firemode = gun_firemodes[mode_index] else - to_chat(user, SPAN_WARNING("You need more fuel in [WT] to repair damage to [src].")) - return - return + gun_firemode = gun_firemodes[1] -/obj/structure/machinery/m56d_hmg/auto/handle_modded_clicks(mob/living/carbon/human/user, list/mods) - if(mods["middle"]) - handle_rotating_gun(user) + playsound(user, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) - return ..() + to_chat(user, SPAN_NOTICE("[icon2html(src, user)] You switch to [gun_firemode].")) + SEND_SIGNAL(src, COMSIG_GUN_FIRE_MODE_TOGGLE, gun_firemode) -// AUTOMATIC FIRING - -/obj/structure/machinery/m56d_hmg/auto/proc/auto_fire_start(client/source, atom/A, params) +///Set the target to its turf, so we keep shooting even when it was qdeled +/obj/structure/machinery/m56d_hmg/proc/clean_target() SIGNAL_HANDLER - if(!(source.mob == operator) || !A) - return - var/mob/living/carbon/human/user = operator - target = A + target = get_turf(target) - if(params["shift"] || params["ctrl"] || params["alt"]) - return - - if(istype(A, /atom/movable/screen)) - return - - if(user.get_active_hand() || user.get_inactive_hand()) - return - - if(!rounds) - to_chat(user, SPAN_WARNING("*click*")) - playsound(src, 'sound/weapons/gun_empty.ogg', 30, 1, 5) +/obj/structure/machinery/m56d_hmg/proc/stop_fire() + SIGNAL_HANDLER + if(!target) return - params = params - target = A - - handle_rotating_gun(user) + if(gun_firemode == GUN_FIREMODE_AUTOMATIC) + reset_fire() + display_ammo() + SEND_SIGNAL(src, COMSIG_GUN_STOP_FIRE) - INVOKE_ASYNC(src, PROC_REF(auto_fire_repeat), user) - -/obj/structure/machinery/m56d_hmg/auto/proc/auto_fire_stop(client/source, atom/A, params) +///Update the target if you draged your mouse +/obj/structure/machinery/m56d_hmg/proc/change_target(datum/source, atom/src_object, atom/over_object, turf/src_location, turf/over_location, src_control, over_control, params) SIGNAL_HANDLER - target = null + set_target(get_turf_on_clickcatcher(over_object, operator, params)) + operator?.face_atom(target) -/obj/structure/machinery/m56d_hmg/auto/proc/auto_fire_new_target(client/source, atom/start, atom/hovered, params) +///Check if the gun can fire and add it to bucket auto_fire system if needed, or just fire the gun if not +/obj/structure/machinery/m56d_hmg/proc/start_fire(datum/source, atom/object, turf/location, control, params, bypass_checks = FALSE) SIGNAL_HANDLER - if(!(source.mob == operator)) - return - var/mob/user = operator - if(istype(hovered, /atom/movable/screen)) + var/list/modifiers = params2list(params) + if(modifiers["shift"] || modifiers["middle"] || modifiers["right"]) return - if(get_turf(hovered) == get_turf(user)) + // Don't allow doing anything else if inside a container of some sort, like a locker. + if(!isturf(operator.loc)) return - target = hovered - - handle_rotating_gun(user) - -/obj/structure/machinery/m56d_hmg/auto/proc/auto_fire_repeat(mob/living/carbon/human/user, atom/A) - if(!target) - return - if(operator != user) - return - if(fire_stopper) + if(istype(object, /atom/movable/screen)) return - if(user.get_active_hand() || user.get_inactive_hand()) - to_chat(usr, SPAN_WARNING("You need both your hands free to shoot [src].")) - return - if(!user.allow_gun_usage) - to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!")) - return - - var/angle = get_dir(src,target) - if((dir & angle) && target.loc != src.loc && target.loc != operator.loc) - - if(overheat_value >= overheat_threshold) - if(world.time > overheat_text_cooldown) - user.visible_message(SPAN_HIGHDANGER("[src] has overheated and has been shortly disabled!"),SPAN_HIGHDANGER("[src] has overheated! You have to wait for it to cooldown!")) - overheat_text_cooldown = world.time + 3 SECONDS - if(!emergency_cooling) - emergency_cooling = TRUE - to_chat(user, SPAN_DANGER("You wait for [src]'s barrel to cooldown to continue sustained fire.")) - fire_stopper = TRUE - STOP_PROCESSING(SSobj, src) - addtimer(CALLBACK(src, PROC_REF(force_cooldown)), force_cooldown_timer) - - else if(overheat_value < overheat_threshold) - fire_shot(1, user) - if(rounds) - overheat_value = overheat_value + 1 - START_PROCESSING(SSobj, src) - - addtimer(CALLBACK(src, PROC_REF(auto_fire_repeat), user), fire_delay) - -/obj/structure/machinery/m56d_hmg/auto/handle_ammo_out(mob/user) - visible_message(SPAN_NOTICE("[icon2html(src, viewers(src))] \The [src]'s ammo box drops onto the ground, now completely empty.")) - playsound(loc, empty_alarm, 70, 1) - update_icon() //final safeguard. - var/obj/item/ammo_magazine/m2c/AM = new /obj/item/ammo_magazine/m2c(src.loc) - AM.current_rounds = 0 - AM.update_icon() - -/obj/structure/machinery/m56d_hmg/auto/get_scatter() - return 0 - -// ACTIVE COOLING - -/obj/structure/machinery/m56d_hmg/auto/proc/force_cooldown(mob/user) - user = operator - - overheat_value = round((rand(M2C_LOW_COOLDOWN_ROLL,M2C_HIGH_COOLDOWN_ROLL) * overheat_threshold)) - playsound(src.loc, 'sound/weapons/hmg_cooling.ogg', 75, 1) - to_chat(user, SPAN_NOTICE("[src]'s barrel has cooled down enough to restart firing.")) - emergency_cooling = FALSE - fire_stopper = FALSE - fire_delay = initial(fire_delay) - update_health(M2C_OVERHEAT_DAMAGE) - START_PROCESSING(SSobj, src) - update_icon() - -// TOGGLE MODE - -/obj/structure/machinery/m56d_hmg/auto/clicked(mob/user, list/mods, atom/A) - if (mods["ctrl"]) - if(operator != user) - return ..() - if(!CAN_PICKUP(user, src)) - return ..() - to_chat(user, SPAN_NOTICE("You try to toggle a burst-mode on \the [src], but realize that it doesn't exist.")) - return TRUE - - return ..() - -/obj/structure/machinery/m56d_hmg/auto/fire_shot(shots_fired = 1, mob/user) - if(fire_stopper) return - - return ..() - -//ATTACK WITH BOTH HANDS COMBO - -/obj/structure/machinery/m56d_hmg/auto/attack_hand(mob/user) - ..() - - var/turf/user_turf = get_turf(user) - for(var/opp_dir in reverse_nearby_direction(src.dir)) - if(get_step(src, opp_dir) == user_turf) - if(operator) //If there is already a operator then they're manning it. - if(operator.interactee == null) - operator = null //this shouldn't happen, but just in case - else - to_chat(user, "Someone's already controlling it.") - return - if(!(user.alpha > 60)) - to_chat(user, SPAN_WARNING("You aren't going to be setting up while cloaked.")) - return - else - if(user.interactee) //Make sure we're not manning two guns at once, tentacle arms. - to_chat(user, "You're already manning something!") - return - - if(user.get_active_hand() == null && user.get_inactive_hand() == null) - user.freeze() - user.set_interaction(src) - give_action(user, /datum/action/human_action/mg_exit) - else - to_chat(usr, SPAN_NOTICE("Your hands are too busy holding things to grab the handles!")) - else - to_chat(usr, SPAN_NOTICE("You are too far from the handles to man [src]!")) - -// DISASSEMBLY - -/obj/structure/machinery/m56d_hmg/auto/MouseDrop(over_object, src_location, over_location) - if(!ishuman(usr)) return - var/mob/living/carbon/human/user = usr - - if(over_object == user && in_range(src, user)) - if((rounds > 0) && (user.a_intent & (INTENT_GRAB))) - playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1) - user.visible_message(SPAN_NOTICE(" [user] removes [src]'s ammo box."),SPAN_NOTICE(" You remove [src]'s ammo box, preparing the gun for disassembly.")) - var/obj/item/ammo_magazine/m2c/used_ammo = new(user.loc) - used_ammo.current_rounds = rounds - user.put_in_active_hand(used_ammo) - rounds = 0 - - else - if(!do_after(user, fold_time* user.get_skill_duration_multiplier(SKILL_ENGINEER), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, src)) // disassembly time reduced - return - user.visible_message(SPAN_NOTICE("[user] disassembles [src]."),SPAN_NOTICE("You fold up the tripod for [src], disassembling it.")) - playsound(src.loc, 'sound/items/m56dauto_setup.ogg', 75, 1) - var/obj/item/device/m2c_gun/HMG = new(src.loc) - transfer_label_component(HMG) - HMG.rounds = src.rounds - HMG.overheat_value = round(0.5 * src.overheat_value) - if (HMG.overheat_value <= 10) - HMG.overheat_value = 0 - HMG.update_icon() - HMG.health = health - user.put_in_active_hand(HMG) - if(user.equip_to_slot_if_possible(HMG, WEAR_BACK, disable_warning = TRUE)) - to_chat(user, SPAN_NOTICE("You quickly heave the machine gun onto your back!")) - qdel(src) - - update_icon() - -// MOUNT THE MG - -/obj/structure/machinery/m56d_hmg/auto/on_set_interaction(mob/user) - ..() - ADD_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) - if(user.client) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DOWN, PROC_REF(auto_fire_start)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_UP, PROC_REF(auto_fire_stop)) - RegisterSignal(user.client, COMSIG_CLIENT_LMB_DRAG, PROC_REF(auto_fire_new_target)) - RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(disable_interaction)) - RegisterSignal(user, COMSIG_MOB_POST_UPDATE_CANMOVE, PROC_REF(disable_canmove_interaction)) - -// DISMOUNT THE MG - -/obj/structure/machinery/m56d_hmg/auto/on_unset_interaction(mob/user) - REMOVE_TRAIT(user, TRAIT_OVERRIDE_CLICKDRAG, TRAIT_SOURCE_WEAPON) - UnregisterSignal(user, list( - COMSIG_MOVABLE_PRE_MOVE, - COMSIG_MOB_POST_UPDATE_CANMOVE - )) - ..() - -// GET ANIMATED - -/obj/structure/machinery/m56d_hmg/auto/update_pixels(mob/user, mounting = TRUE) - if(mounting) - var/diff_x = 0 - var/diff_y = 0 - var/tilesize = 32 - var/viewoffset = tilesize * 1 - - user.reset_view(src) - if(dir == EAST) - diff_x = -16 + user_old_x - user.client.pixel_x = viewoffset - user.client.pixel_y = 0 - if(dir == WEST) - diff_x = 16 + user_old_x - user.client.pixel_x = -viewoffset - user.client.pixel_y = 0 - if(dir == NORTH) - diff_y = -16 + user_old_y - user.client.pixel_x = 0 - user.client.pixel_y = viewoffset - if(dir == SOUTH) - diff_y = 16 + user_old_y - user.client.pixel_x = 0 - user.client.pixel_y = -viewoffset - - animate(user, pixel_x=diff_x, pixel_y=diff_y, 0.4 SECONDS) - else - if(user.client) - user.client.change_view(world_view_size) - user.client.pixel_x = 0 - user.client.pixel_y = 0 - UnregisterSignal(user.client, list( - COMSIG_CLIENT_LMB_DOWN, - COMSIG_CLIENT_LMB_UP, - COMSIG_CLIENT_LMB_DRAG, - )) - - animate(user, pixel_x=user_old_x, pixel_y=user_old_y, 4, 1) + if(!bypass_checks) + if(operator.throw_mode) + return -//ROTATE THE MACHINEGUN + if(operator.Adjacent(object)) //Dealt with by attack code + return -/obj/structure/machinery/m56d_hmg/auto/proc/rotate_to(mob/user, atom/A) - if(!A || !user.x || !user.y || !A.x || !A.y) + if(QDELETED(object)) return - var/dx = A.x - user.x - var/dy = A.y - user.y - if(!dx && !dy) - return - - var/direction - if(abs(dx) < abs(dy)) - if(dy > 0) - direction = NORTH - else - direction = SOUTH - else - if(dx > 0) - direction = EAST - else - direction = WEST - var/turf/rotate_check = get_step(src.loc, turn(direction,180)) - if(rotate_check.density) - to_chat(user, SPAN_WARNING("You can't rotate it that way.")) + set_target(get_turf_on_clickcatcher(object, operator, params)) + if((gun_firemode == GUN_FIREMODE_SEMIAUTO) && COOLDOWN_FINISHED(src, semiauto_fire_cooldown)) + COOLDOWN_START(src, semiauto_fire_cooldown, semiauto_cooldown_time) + fire_shot() + reset_fire() + display_ammo() return + SEND_SIGNAL(src, COMSIG_GUN_FIRE) - src.setDir(direction) - user.setDir(direction) - update_pixels(user) - playsound(src.loc, 'sound/items/m56dauto_rotate.ogg', 25, 1) - to_chat(user, SPAN_NOTICE("You rotate [src], using the tripod to support your pivoting movement.")) - +/// setter for fire_delay +/obj/structure/machinery/m56d_hmg/proc/set_fire_delay(value) + fire_delay = value + SEND_SIGNAL(src, COMSIG_GUN_AUTOFIREDELAY_MODIFIED, fire_delay) -/obj/structure/machinery/m56d_hmg/auto/proc/disable_interaction(mob/user, NewLoc, direction) - SIGNAL_HANDLER +/// getter for fire_delay +/obj/structure/machinery/m56d_hmg/proc/get_fire_delay(value) + return fire_delay - if(user.lying || get_dist(user,src) > 0 || user.is_mob_incapacitated() || !user.client) - user.unset_interaction() +/// setter for burst_amount +/obj/structure/machinery/m56d_hmg/proc/set_burst_amount(value, mob/user) + burst_amount = value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED, burst_amount) -/obj/structure/machinery/m56d_hmg/auto/proc/disable_canmove_interaction(mob/user, canmove, laid_down, lying) - SIGNAL_HANDLER +/// Setter for burst_delay +/obj/structure/machinery/m56d_hmg/proc/set_burst_fire_delay(value, mob/user) + burst_fire_delay = value + SEND_SIGNAL(src, COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED, burst_fire_delay) - if(laid_down) - user.unset_interaction() +/obj/structure/machinery/m56d_hmg/mg_turret //Our mapbound version with stupid amounts of ammo. + name = "\improper scoped M56D heavy machine gun nest" + desc = "A scoped M56D heavy machine gun mounted upon a small reinforced post with sandbags to provide a small machine gun nest for all your defensive needs. Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." + fire_delay = 2 + rounds = 1500 + rounds_max = 1500 + locked = 1 + projectile_coverage = PROJECTILE_COVERAGE_HIGH + icon = 'icons/turf/whiskeyoutpost.dmi' + zoom = 1 -/obj/structure/machinery/m56d_hmg/auto/proc/handle_rotating_gun(mob/user) - var/angle = get_dir(src, target) - if(world.time > rotate_timer && !((dir & angle) && target.loc != src.loc && target.loc != operator.loc)) - rotate_timer = world.time + 0.4 SECONDS - rotate_to(user, target) - return TRUE +/obj/structure/machinery/m56d_hmg/mg_turret/dropship + name = "\improper scoped M56D heavy machine gun" + desc = "A scoped M56D heavy machine gun mounted behind a metal shield. Drag its sprite onto yourself to man it. Ctrl-click it to toggle burst fire." + icon_full = "towergun_folding" + icon_empty = "towergun_folding" + var/obj/structure/dropship_equipment/mg_holder/deployment_system -#undef M2C_OVERHEAT_CRITICAL -#undef M2C_OVERHEAT_BAD -#undef M2C_OVERHEAT_OK -#undef M2C_SETUP_TIME -#undef M2C_OVERHEAT_DAMAGE -#undef M2C_LOW_COOLDOWN_ROLL -#undef M2C_HIGH_COOLDOWN_ROLL -#undef M2C_PASSIVE_COOLDOWN_AMOUNT -#undef M2C_OVERHEAT_OVERLAY -#undef M2C_CRUSHER_STUN +/obj/structure/machinery/m56d_hmg/mg_turret/dropship/Destroy() + if(deployment_system) + deployment_system.deployed_mg = null + deployment_system = null + return ..() diff --git a/code/modules/cm_preds/smartdisc.dm b/code/modules/cm_preds/smartdisc.dm index 068ff3550024..f0262f5f140a 100644 --- a/code/modules/cm_preds/smartdisc.dm +++ b/code/modules/cm_preds/smartdisc.dm @@ -163,7 +163,7 @@ /mob/living/simple_animal/hostile/smartdisc/Collided(atom/movable/AM) return -/mob/living/simple_animal/hostile/smartdisc/bullet_act(obj/item/projectile/Proj) +/mob/living/simple_animal/hostile/smartdisc/bullet_act(obj/projectile/Proj) if(prob(60 - Proj.damage)) return 0 diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index a94cde9887c3..4e8dbf9d711a 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -308,7 +308,7 @@ embedded_id.set_user_data(user) //Any projectile can decloak a predator. It does defeat one free bullet though. -/obj/item/clothing/gloves/yautja/hunter/proc/bullet_hit(mob/living/carbon/human/H, obj/item/projectile/P) +/obj/item/clothing/gloves/yautja/hunter/proc/bullet_hit(mob/living/carbon/human/H, obj/projectile/P) SIGNAL_HANDLER var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags @@ -677,6 +677,8 @@ if (exploding) return + notify_ghosts(header = "Yautja self destruct", message = "[victim] is self destructing to protect their honor!", source = victim, action = NOTIFY_ORBIT) + exploding = 1 var/turf/T = get_turf(src) if(explosion_type == SD_TYPE_BIG && victim.stat == CONSCIOUS && (is_ground_level(T.z) || MODE_HAS_TOGGLEABLE_FLAG(MODE_SHIPSIDE_SD))) diff --git a/code/modules/cm_preds/yaut_weapons.dm b/code/modules/cm_preds/yaut_weapons.dm index c1c5f8077f12..762ab9ecbb0f 100644 --- a/code/modules/cm_preds/yaut_weapons.dm +++ b/code/modules/cm_preds/yaut_weapons.dm @@ -874,7 +874,7 @@ update_icon() return TRUE -/obj/item/weapon/gun/launcher/spike/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/launcher/spike/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund) spikes++ return TRUE @@ -960,7 +960,7 @@ /obj/item/weapon/gun/energy/yautja/plasmarifle/load_into_chamber() ammo = GLOB.ammo_list[/datum/ammo/energy/yautja/rifle/bolt] charge_time -= 10 - var/obj/item/projectile/projectile = create_bullet(ammo, initial(name)) + var/obj/projectile/projectile = create_bullet(ammo, initial(name)) projectile.set_light(1) in_chamber = projectile return in_chamber @@ -972,7 +972,7 @@ update_icon() return TRUE -/obj/item/weapon/gun/energy/yautja/plasmarifle/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/energy/yautja/plasmarifle/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund) charge_time *= 2 return TRUE @@ -1057,7 +1057,7 @@ /obj/item/weapon/gun/energy/yautja/plasmapistol/load_into_chamber() if(charge_time < 1) return - var/obj/item/projectile/projectile = create_bullet(ammo, initial(name)) + var/obj/projectile/projectile = create_bullet(ammo, initial(name)) projectile.set_light(1) in_chamber = projectile charge_time -= shot_cost @@ -1070,7 +1070,7 @@ /obj/item/weapon/gun/energy/yautja/plasmapistol/reload_into_chamber() return TRUE -/obj/item/weapon/gun/energy/yautja/plasmapistol/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/energy/yautja/plasmapistol/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund) charge_time += shot_cost @@ -1259,7 +1259,7 @@ /obj/item/weapon/gun/energy/yautja/plasma_caster/reload_into_chamber() return TRUE -/obj/item/weapon/gun/energy/yautja/plasma_caster/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/energy/yautja/plasma_caster/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund) source.charge += charge_cost diff --git a/code/modules/cm_tech/implements/armor.dm b/code/modules/cm_tech/implements/armor.dm index de196647eaca..c08bf6d3c128 100644 --- a/code/modules/cm_tech/implements/armor.dm +++ b/code/modules/cm_tech/implements/armor.dm @@ -94,7 +94,7 @@ COMSIG_HUMAN_BULLET_ACT )) -/obj/item/clothing/accessory/health/proc/take_bullet_damage(mob/living/carbon/human/user, damage, ammo_flags, obj/item/projectile/P) +/obj/item/clothing/accessory/health/proc/take_bullet_damage(mob/living/carbon/human/user, damage, ammo_flags, obj/projectile/P) SIGNAL_HANDLER if(damage <= 0 || (ammo_flags & AMMO_IGNORE_ARMOR)) return diff --git a/code/modules/cm_tech/implements/medical_czsp.dm b/code/modules/cm_tech/implements/medical_czsp.dm index 3eed2fc9f619..30eda5b8af29 100644 --- a/code/modules/cm_tech/implements/medical_czsp.dm +++ b/code/modules/cm_tech/implements/medical_czsp.dm @@ -203,7 +203,7 @@ click_empty(user) return NONE - var/obj/item/projectile/pill/P = new /obj/item/projectile/pill(src, user, src) + var/obj/projectile/pill/P = new /obj/projectile/pill(src, user, src) P.generate_bullet(GLOB.ammo_list[/datum/ammo/pill], 0, 0) pill_to_use.forceMove(P) @@ -221,16 +221,16 @@ damage = 0 -/datum/ammo/pill/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/pill/on_hit_mob(mob/M, obj/projectile/P) . = ..() if(!ishuman(M)) return - if(!istype(P, /obj/item/projectile/pill)) + if(!istype(P, /obj/projectile/pill)) return - var/obj/item/projectile/pill/pill_projectile = P + var/obj/projectile/pill/pill_projectile = P if(QDELETED(pill_projectile.source_pill)) pill_projectile.source_pill = null @@ -240,9 +240,9 @@ pill_reagents.trans_to(M, pill_reagents.total_volume) -/obj/item/projectile/pill +/obj/projectile/pill var/obj/item/reagent_container/pill/source_pill -/obj/item/projectile/pill/Destroy() +/obj/projectile/pill/Destroy() . = ..() source_pill = null diff --git a/code/modules/cm_tech/implements/railgun.dm b/code/modules/cm_tech/implements/railgun.dm index b69f9a9d13a8..bef2f3d656ab 100644 --- a/code/modules/cm_tech/implements/railgun.dm +++ b/code/modules/cm_tech/implements/railgun.dm @@ -63,7 +63,7 @@ GLOBAL_DATUM(railgun_eye_location, /datum/coords) /obj/structure/machinery/computer/railgun/attackby(obj/I as obj, mob/user as mob) //Can't break or disassemble. return -/obj/structure/machinery/computer/railgun/bullet_act(obj/item/projectile/Proj) //Can't shoot it +/obj/structure/machinery/computer/railgun/bullet_act(obj/projectile/Proj) //Can't shoot it return FALSE /obj/structure/machinery/computer/railgun/proc/set_operator(mob/living/carbon/human/H) diff --git a/code/modules/cm_tech/implements/xeno_handler.dm b/code/modules/cm_tech/implements/xeno_handler.dm index 45cc99d7956e..cbafec7499ee 100644 --- a/code/modules/cm_tech/implements/xeno_handler.dm +++ b/code/modules/cm_tech/implements/xeno_handler.dm @@ -55,5 +55,6 @@ SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_ENGI, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_ENDURANCE = SKILL_ENDURANCE_EXPERT, ) diff --git a/code/modules/cm_tech/resources/resource.dm b/code/modules/cm_tech/resources/resource.dm index eda0af9f63b8..44af2234afd3 100644 --- a/code/modules/cm_tech/resources/resource.dm +++ b/code/modules/cm_tech/resources/resource.dm @@ -85,7 +85,7 @@ health = Clamp(health - damage, 0, max_health) healthcheck() -/obj/structure/resource_node/bullet_act(obj/item/projectile/P) +/obj/structure/resource_node/bullet_act(obj/projectile/P) take_damage(P.damage) /obj/structure/resource_node/ex_act(severity, direction) diff --git a/code/modules/cm_tech/techs/abstract/repeatable.dm b/code/modules/cm_tech/techs/abstract/repeatable.dm index 4b240814e0c6..62fa27540b7b 100644 --- a/code/modules/cm_tech/techs/abstract/repeatable.dm +++ b/code/modules/cm_tech/techs/abstract/repeatable.dm @@ -9,8 +9,6 @@ var/next_purchase = 0 var/increase_per_purchase = 0 - unlocked = TRUE - /datum/tech/repeatable/ui_static_data(mob/user) . = ..() if(increase_per_purchase) diff --git a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm new file mode 100644 index 000000000000..d6c849e883af --- /dev/null +++ b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm @@ -0,0 +1,24 @@ +/datum/tech/cryomarine + name = "Wake Up Additional Specialist" + desc = "Wakes up an additional specialist to fight against any threats." + icon_state = "overshield" + + announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" + announce_message = "An additional specialist is being taken out of cryo." + + required_points = 8 + + flags = TREE_FLAG_MARINE + tier = /datum/tier/three + +/datum/tech/cryomarine/can_unlock(mob/user) + . = ..() + if(!.) + return + if(!SSticker.mode) + to_chat(user, SPAN_WARNING("You can't do this right now!")) + return + +/datum/tech/cryomarine/on_unlock() + . = ..() + SSticker.mode.get_specific_call("Marine Cryo Reinforcement (Spec)", TRUE, FALSE, FALSE, announce_dispatch_message = FALSE) diff --git a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm index 84361baa618f..575ffe67b85b 100644 --- a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm +++ b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm @@ -7,8 +7,8 @@ announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" announce_message = "Additional troops are being taken out of cryo." - required_points = 10 - increase_per_purchase = 5 + required_points = 6 + increase_per_purchase = 6 flags = TREE_FLAG_MARINE tier = /datum/tier/three @@ -23,4 +23,4 @@ /datum/tech/repeatable/cryomarine/on_unlock() . = ..() - SSticker.mode.get_specific_call("Marine Cryo Reinforcements (Squad)", FALSE, FALSE, announce_dispatch_message = FALSE) + SSticker.mode.get_specific_call("Marine Cryo Reinforcements (Tech)", TRUE, FALSE, FALSE, announce_dispatch_message = FALSE) diff --git a/code/modules/cm_tech/techs/marine/tier4/nuke.dm b/code/modules/cm_tech/techs/marine/tier4/nuke.dm index 441c9aba69fc..f970f37a3fab 100644 --- a/code/modules/cm_tech/techs/marine/tier4/nuke.dm +++ b/code/modules/cm_tech/techs/marine/tier4/nuke.dm @@ -1,11 +1,11 @@ -#define NUKE_UNLOCK_TIME (120 MINUTES) +#define NUKE_UNLOCK_TIME (115 MINUTES) /datum/tech/nuke name = "Nuclear Device" - //desc = "Purchase a nuclear device. Only able to purchase after X minutes into the operation. It's the only way to be sure." //See New() + desc = "Purchase a nuclear device. It's the only way to be sure." icon_state = "nuke" - required_points = 20 + required_points = 5 tier = /datum/tier/four @@ -15,7 +15,7 @@ flags = TREE_FLAG_MARINE /datum/tech/nuke/New() - desc = "Purchase a nuclear device. Only able to purchase [NUKE_UNLOCK_TIME / (1 MINUTES)] minutes into the operation. It's the only way to be sure." + SSticker.OnRoundstart(CALLBACK(src, PROC_REF(handle_description))) /datum/tech/nuke/on_unlock() . = ..() @@ -41,4 +41,5 @@ return TRUE -#undef NUKE_UNLOCK_TIME +/datum/tech/nuke/proc/handle_description() + desc = "Purchase a nuclear device. Only purchasable [Ceiling((NUKE_UNLOCK_TIME + SSticker.round_start_time) / (1 MINUTES))] minutes into the operation. It's the only way to be sure." diff --git a/code/modules/defenses/defenses.dm b/code/modules/defenses/defenses.dm index f47ae3e4d77b..d2c5e63fee29 100644 --- a/code/modules/defenses/defenses.dm +++ b/code/modules/defenses/defenses.dm @@ -448,7 +448,7 @@ return update_health(severity) -/obj/structure/machinery/defenses/bullet_act(obj/item/projectile/P) +/obj/structure/machinery/defenses/bullet_act(obj/projectile/P) bullet_ping(P) visible_message(SPAN_WARNING("[src] is hit by the [P]!")) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm index cec51d0b1ac2..10d1b16dd9c3 100644 --- a/code/modules/defenses/sentry.dm +++ b/code/modules/defenses/sentry.dm @@ -308,7 +308,7 @@ low_ammo_timer = null /obj/structure/machinery/defenses/sentry/proc/actual_fire(atom/target) - var/obj/item/projectile/new_projectile = new(src, create_cause_data(initial(name), owner_mob, src)) + var/obj/projectile/new_projectile = new(src, create_cause_data(initial(name), owner_mob, src)) new_projectile.generate_bullet(new ammo.default_ammo) new_projectile.damage *= damage_mult new_projectile.accuracy *= accuracy_mult diff --git a/code/modules/defenses/sentry_flamer.dm b/code/modules/defenses/sentry_flamer.dm index 747435ccb285..9ae794e3c811 100644 --- a/code/modules/defenses/sentry_flamer.dm +++ b/code/modules/defenses/sentry_flamer.dm @@ -29,7 +29,7 @@ fire_delay = 0.5 /obj/structure/machinery/defenses/sentry/flamer/actual_fire(atom/A) - var/obj/item/projectile/P = new(create_cause_data(initial(name), owner_mob)) + var/obj/projectile/P = new(create_cause_data(initial(name), owner_mob)) P.generate_bullet(new ammo.default_ammo) GIVE_BULLET_TRAIT(P, /datum/element/bullet_trait_iff, faction_group) P.fire_at(A, src, owner_mob, P.ammo.max_range, P.ammo.shell_speed, null) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index ecf76b577c1d..2e9142dcef91 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -358,7 +358,7 @@ log transactions //stamp the paper var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-weyyu" if(!R.stamped) R.stamped = new R.stamped += /obj/item/tool/stamp @@ -400,7 +400,7 @@ log transactions //stamp the paper var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-weyyu" if(!R.stamped) R.stamped = new R.stamped += /obj/item/tool/stamp diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index fbaf1f52adea..a5b36fd0bf3e 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -47,12 +47,12 @@ //stamp the paper var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-rd" if(!R.stamped) R.stamped = new R.offset_x += 0 R.offset_y += 0 - R.ico += "paper_stamp-cent" + R.ico += "paper_stamp-rd" R.stamped += /obj/item/tool/stamp R.overlays += stampoverlay R.stamps += "
This paper has been stamped by the EFTPOS device." @@ -70,7 +70,7 @@ //stamp the paper var/image/stampoverlay = image('icons/obj/items/paper.dmi') - stampoverlay.icon_state = "paper_stamp-cent" + stampoverlay.icon_state = "paper_stamp-rd" if(!R.stamped) R.stamped = new R.stamped += /obj/item/tool/stamp diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 9d02cce8c5e9..4c3a4476d733 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -951,6 +951,22 @@ var/list/rebel_rifles = list( list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR) ) +/datum/equipment_preset/proc/load_upp_shotgun(mob/living/carbon/human/new_human) + var/random_shotgun = rand(1,3) + switch(random_shotgun) + if(1) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + if(2) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) + if(3) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) + /datum/equipment_preset/proc/add_upp_weapon(mob/living/carbon/human/new_human) var/random_gun = rand(1,5) switch(random_gun) diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index c42b1bf868f0..2c09b8c89b6d 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -344,6 +344,14 @@ new_human.equip_to_slot_or_del(new /obj/item/device/radio, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/red, WEAR_IN_BACK) +/datum/equipment_preset/cmb/liaison/black_market + name = "CMB - ICC Liaison - Black Market ERT" + skills = /datum/skills/civilian/icc_investigation + +/datum/equipment_preset/cmb/liaison/black_market/load_gear(mob/living/carbon/human/new_human) + . = ..() + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full, WEAR_WAIST) //Tool belt to open ASRS + new_human.equip_to_slot_or_del(new /obj/item/device/cmb_black_market_tradeband, WEAR_IN_BACK) //Tradeband to disable black market //*****************************************************************************************************/ @@ -433,7 +441,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/helmet_gasmask, WEAR_IN_HELMET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_HELMET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light, WEAR_JACKET) @@ -481,7 +489,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/sensor, WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/helmet_gasmask, WEAR_IN_HELMET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_HELMET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/lead, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader, WEAR_JACKET) @@ -523,7 +531,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/rto, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/helmet_gasmask, WEAR_IN_HELMET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_HELMET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior, WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl, WEAR_L_EAR) @@ -571,7 +579,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/medic, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/helmet_gasmask, WEAR_IN_HELMET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_HELMET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/med, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light, WEAR_JACKET) @@ -587,8 +595,8 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/adrenaline, WEAR_IN_BELT) new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/adrenaline, WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency/skillless, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_BELT) new_human.equip_to_slot_or_del(new /obj/item/bodybag/cryobag, WEAR_IN_BELT) if(new_human.disabilities & NEARSIGHTED) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription, WEAR_EYES) diff --git a/code/modules/gear_presets/corpses.dm b/code/modules/gear_presets/corpses.dm index 62782b77eae5..f0ad6f85a8b4 100644 --- a/code/modules/gear_presets/corpses.dm +++ b/code/modules/gear_presets/corpses.dm @@ -213,33 +213,6 @@ //*****************************************************************************************************/ -/datum/equipment_preset/corpse/clown - name = "Corpse - Clown" - assignment = "Clown" - uses_special_name = TRUE - -/datum/equipment_preset/corpse/clown/New() - . = ..() - //As a joke, clown has all access so they can clown everywhere... - access = get_access(ACCESS_LIST_DELIVERY) - -/datum/equipment_preset/corpse/clown/load_name(mob/living/carbon/human/new_human, randomise) - . = ..() //To load gender, randomise appearance, etc. - new_human.change_real_name(new_human, pick(clown_names)) //Picking a proper clown name! - -/datum/equipment_preset/corpse/clown/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/toy/bikehorn(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/clown(new_human), WEAR_BACK) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - -//*****************************************************************************************************/ - /datum/equipment_preset/corpse/scientist name = "Corpse - Scientist" assignment = "Scientist" diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm new file mode 100644 index 000000000000..373c41df49d8 --- /dev/null +++ b/code/modules/gear_presets/royal_marines.dm @@ -0,0 +1,339 @@ +/datum/equipment_preset/twe + name = "Three World Empire" + faction = FACTION_TWE + faction_group = list(FACTION_TWE, FACTION_USCM) + languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) + +/datum/equipment_preset/twe/royal_marine/load_name(mob/living/carbon/human/new_human, randomise) + new_human.gender = pick_weight(list(MALE = 80, FEMALE = 20,)) + var/datum/preferences/placeholder_pref = new() + placeholder_pref.randomize_appearance(new_human) + var/random_name + var/static/list/colors = list("BLACK" = list(15, 15, 25), "BROWN" = list(102, 51, 0), "AUBURN" = list(139, 62, 19)) + var/static/list/hair_colors = colors.Copy() + list("BLONDE" = list(197, 164, 30), "CARROT" = list(174, 69, 42)) + var/hair_color = pick(hair_colors) + new_human.r_hair = hair_colors[hair_color][1] + new_human.g_hair = hair_colors[hair_color][2] + new_human.b_hair = hair_colors[hair_color][3] + new_human.r_facial = hair_colors[hair_color][1] + new_human.g_facial = hair_colors[hair_color][2] + new_human.b_facial = hair_colors[hair_color][3] + var/eye_color = pick(colors) + new_human.r_eyes = colors[eye_color][1] + new_human.g_eyes = colors[eye_color][2] + new_human.b_eyes = colors[eye_color][3] + idtype = /obj/item/card/id/dogtag + if(new_human.gender == MALE) + random_name = "[pick(first_names_male)] [pick(last_names)]" + new_human.h_style = pick("Crewcut", "Shaved Head", "Buzzcut", "Undercut", "Side Undercut", "Pvt. Joker", "Marine Fade", "Low Fade", "Medium Fade", "High Fade", "No Fade", "Coffee House Cut", "Flat Top",) + new_human.f_style = pick("5 O'clock Shadow", "Shaved", "Full Beard", "3 O'clock Moustache", "5 O'clock Shadow", "5 O'clock Moustache", "7 O'clock Shadow", "7 O'clock Moustache",) + else + random_name = "[pick(first_names_female)] [pick(last_names)]" + new_human.h_style = pick("Ponytail 1", "Ponytail 2", "Ponytail 3", "Ponytail 4", "Pvt. Redding", "Pvt. Clarison", "Cpl. Dietrich", "Pvt. Vasquez", "Marine Bun", "Marine Bun 2", "Marine Flat Top",) + new_human.change_real_name(new_human, random_name) + new_human.age = rand(20,45) + new_human.r_hair = rand(15,35) + new_human.g_hair = rand(15,35) + new_human.b_hair = rand(25,45) + +/datum/equipment_preset/twe/royal_marine/load_id(mob/living/carbon/human/new_human, client/mob_client) + if(human_versus_human) + var/obj/item/clothing/under/uniform = new_human.w_uniform + if(istype(uniform)) + uniform.has_sensor = UNIFORM_HAS_SENSORS + uniform.sensor_faction = FACTION_TWE + return ..() + +//*****************************************************************************************************/ + +/datum/equipment_preset/twe/royal_marine + name = "Royal Marines Commando" + assignment = "Royal Marine" + rank = JOB_TWE_RMC_RIFLEMAN + var/human_versus_human = FALSE + ///Gives the Royal Marines their radios + var/headset_type = /obj/item/device/radio/headset/distress/royal_marine + idtype = /obj/item/card/id/dogtag + +//*****************************************************************************************************/ + +/datum/equipment_preset/twe/royal_marine/standard + name = "TWE Royal Marine Commando (Rifleman)" + paygrade = "RMC E1" + role_comm_title = "RMC" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Royal Marines Rifleman" + rank = JOB_TWE_RMC_RIFLEMAN + skills = /datum/skills/rmc + +/datum/equipment_preset/twe/royal_marine/standard/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/rmc/rmc_f90_ammo, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +/datum/equipment_preset/twe/royal_marine/standard/mre_pack + name = "TWE Royal Marine Commando (MRE Rifleman)" + +/datum/equipment_preset/twe/royal_marine/standard/mre_pack/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/frame, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/misc/mre, WEAR_IN_BACK) + ..() + +//*****************************************************************************************************/ +/datum/equipment_preset/twe/royal_marine/spec + paygrade = "RMC E2" + role_comm_title = "RMC SPC" + flags = EQUIPMENT_PRESET_EXTRA + skills = /datum/skills/rmc/specialist + +/datum/equipment_preset/twe/royal_marine/spec/marksman + name = "TWE Royal Marine Commando (Marksman)" + assignment = "Royal Marines Marksman" + rank = JOB_TWE_RMC_MARKSMAN + +/datum/equipment_preset/twe/royal_marine/spec/marksman/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90/scope, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/rmc/rmc_f90_ammo/marksman, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +//*****************************************************************************************************/ + +/datum/equipment_preset/twe/royal_marine/spec/breacher + name = "TWE Royal Marine Commando (Breacher)" + assignment = "Royal Marines Breacher" + rank = JOB_TWE_RMC_BREACHER + +/datum/equipment_preset/twe/royal_marine/spec/breacher/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine/breacher, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/pointman, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90/shotgun, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/general_belt/rmc, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BELT) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BELT) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/ballistic, WEAR_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +//*****************************************************************************************************/ +/datum/equipment_preset/twe/royal_marine/spec/machinegun + name = "TWE Royal Marine Commando (Smartgunner)" + role_comm_title = "RMC SG" + assignment = "Royal Marines Smartgunner" + rank = JOB_TWE_RMC_SMARTGUNNER + skills = /datum/skills/rmc/smartgun + +/datum/equipment_preset/twe/royal_marine/spec/machinegun/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot(new /obj/item/clothing/glasses/night/m56_goggles, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/smartgun, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smartgun/rmc, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/l905/full, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot(new /obj/item/smartgun_battery(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smartgun/holo_targetting, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smartgun/holo_targetting, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +//*****************************************************************************************************/ +/datum/equipment_preset/twe/royal_marine/team_leader + name = "TWE Royal Marine Commando (Teamleader)" + paygrade = "RMC E4" + role_comm_title = "RMC TL" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Royal Marines Team Leader" + rank = JOB_TWE_RMC_TEAMLEADER + skills = /datum/skills/rmc/leader + +/datum/equipment_preset/twe/royal_marine/team_leader/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine/team_leader, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine/tl, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light/team_leader, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90/a_grip, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/l905/full, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +//*****************************************************************************************************/ + +/datum/equipment_preset/twe/royal_marine/lieuteant //they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT + name = "TWE Royal Marine Commando (Officer)" + paygrade = "RMC O1" + role_comm_title = "RMC LT" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Royal Marines Team Commander" + rank = JOB_TWE_RMC_LIEUTENANT + skills = /datum/skills/rmc/leader + +/datum/equipment_preset/twe/royal_marine/lieuteant/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine/team_leader, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine/lt, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light/team_leader, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90/a_grip, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/l905/full, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + diff --git a/code/modules/gear_presets/survivors.dm b/code/modules/gear_presets/survivors.dm index 15fa02142727..919e67e7cbf9 100644 --- a/code/modules/gear_presets/survivors.dm +++ b/code/modules/gear_presets/survivors.dm @@ -371,6 +371,7 @@ /datum/equipment_preset/survivor/corporate/shiva/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) @@ -385,6 +386,7 @@ /datum/equipment_preset/survivor/corporate/solaris/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/outing/red(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) if(new_human.disabilities & NEARSIGHTED) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES) else @@ -457,6 +459,7 @@ /datum/equipment_preset/survivor/security/corsat/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) @@ -504,6 +507,7 @@ /datum/equipment_preset/survivor/security/lv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 8ef727fe5ad5..da56a285a961 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -127,22 +127,8 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/np92, WEAR_WAIST) + load_upp_shotgun(new_human) -/datum/equipment_preset/upp/soldier/proc/pick_ammotype(mob/living/carbon/human/new_human) - var/percentage = rand(1, 100) - switch(percentage) - if(1 to 33) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) - if(34 to 66) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) - else - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) /datum/equipment_preset/upp/soldier/proc/load_upp_double(mob/living/carbon/human/new_human, obj/item/clothing/under/marine/veteran/UPP/UPP) //back diff --git a/code/modules/hydroponics/hydro_tray.dm b/code/modules/hydroponics/hydro_tray.dm index 83824bcedaa6..463ce752308a 100644 --- a/code/modules/hydroponics/hydro_tray.dm +++ b/code/modules/hydroponics/hydro_tray.dm @@ -148,7 +148,7 @@ if (PF) PF.flags_can_pass_all = PASS_OVER|PASS_AROUND|PASS_TYPE_CRAWLER -/obj/structure/machinery/portable_atmospherics/hydroponics/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/portable_atmospherics/hydroponics/bullet_act(obj/projectile/Proj) //Don't act on seeds like dionaea that shouldn't change. if(seed && seed.immutable > 0) diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index 95c0d420b3e5..2a3ff577a245 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -14,9 +14,12 @@ var/flags_embryo = FALSE // Used in /ciphering/predator property /// The ckey of any player hugger that made this embryo var/hugger_ckey + /// The total time the person is hugged divided by stages until burst + var/per_stage_hugged_time = 90 //Set in Initialize due to config /obj/item/alien_embryo/Initialize(mapload, ...) . = ..() + per_stage_hugged_time = CONFIG_GET(number/embryo_burst_timer) / 5 if(istype(loc, /mob/living)) affected_mob = loc affected_mob.status_flags |= XENO_HOST @@ -76,8 +79,6 @@ /obj/item/alien_embryo/proc/process_growth(delta_time) var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] - /// The total time the person is hugged divided by stages until burst - var/per_stage_hugged_time = CONFIG_GET(number/embryo_burst_timer) / 5 //Low temperature seriously hampers larva growth (as in, way below livable), so does stasis if(!hive.hardcore) // Cannot progress if the hive has entered hardcore mode. if(affected_mob.in_stasis || affected_mob.bodytemperature < 170) diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm index 5571b122ecaa..65ae240e201d 100644 --- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm @@ -159,7 +159,7 @@ return die() -/obj/item/clothing/mask/facehugger/bullet_act(obj/item/projectile/P) +/obj/item/clothing/mask/facehugger/bullet_act(obj/projectile/P) ..() var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & (AMMO_XENO)) diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm index 37b0aa037cd1..fa9036bd8305 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm @@ -21,16 +21,17 @@ if(M && istype(M) && !M.stat && M.client && (!hivenumber || M.hivenumber == hivenumber)) //Only living and connected xenos to_chat(M, SPAN_XENODANGER(" [message]")) -//Sends a maptext alert to our currently selected squad. Does not make sound. +//Sends a maptext alert to xenos. /proc/xeno_maptext(text = "", title_text = "", hivenumber = XENO_HIVE_NORMAL) if(text == "" || !hivenumber) return //Logic if(SSticker.mode && SSticker.mode.xenomorphs.len) //Send to only xenos in our gamemode list. This is faster than scanning all mobs - for(var/datum/mind/L in SSticker.mode.xenomorphs) - var/mob/living/carbon/M = L.current - if(M && istype(M) && !M.stat && M.client && M.ally_of_hivenumber(hivenumber)) //Only living and connected xenos - M.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, "#b491c8") + for(var/datum/mind/living in SSticker.mode.xenomorphs) + var/mob/living/carbon/xenomorph/xeno = living.current + if(istype(xeno) && !xeno.stat && xeno.client && xeno.hivenumber == hivenumber) //Only living and connected xenos + playsound_client(xeno.client, 'sound/voice/alien_distantroar_3.ogg', xeno.loc, 25, FALSE) + xeno.play_screen_text("[title_text]
" + text, /atom/movable/screen/text/screen_text/command_order, "#b491c8") /proc/xeno_message_all(message = null, size = 3) xeno_message(message, size) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 5c1210f5c845..368dded9c17e 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -756,9 +756,6 @@ /mob/living/carbon/xenomorph/start_pulling(atom/movable/AM, lunge, no_msg) - if(next_move >= world.time) - return FALSE - if(SEND_SIGNAL(AM, COMSIG_MOVABLE_XENO_START_PULLING, src) & COMPONENT_ALLOW_PULL) return do_pull(AM, lunge, no_msg) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index dff6c82efbf8..6748b662b118 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -298,7 +298,7 @@ xeno.visible_message(SPAN_XENOWARNING("The [xeno] fires a blast of acid at [target]!"), SPAN_XENOWARNING("You fire a blast of acid at [target]!")) var/turf/target_turf = locate(target.x, target.y, target.z) - var/obj/item/projectile/proj = new(xeno.loc, create_cause_data("acid shotgun", xeno)) + var/obj/projectile/proj = new(xeno.loc, create_cause_data("acid shotgun", xeno)) var/datum/ammo/ammoDatum = new ammo_type() proj.generate_bullet(ammoDatum) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index a9cffb196cb3..7a8151d8aa02 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -778,7 +778,7 @@ SPAN_XENOWARNING("You spit a [xeno.ammo.name] at [atom]!") ) playsound(xeno.loc, sound_to_play, 25, 1) - var/obj/item/projectile/proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) + var/obj/projectile/proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) proj.generate_bullet(xeno.ammo) proj.permutated += xeno proj.def_zone = xeno.get_limbzone_target() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm index 70666e83bc74..3975a229bbc1 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm @@ -218,7 +218,7 @@ stabbing_xeno.visible_message(SPAN_XENODANGER("\The [stabbing_xeno] uncoils and wildly throws out its tail!"), SPAN_XENODANGER("You uncoil your tail wildly in front of you!")) - var/obj/item/projectile/hook_projectile = new /obj/item/projectile(stabbing_xeno.loc, create_cause_data(initial(stabbing_xeno.caste_type), stabbing_xeno)) + var/obj/projectile/hook_projectile = new /obj/projectile(stabbing_xeno.loc, create_cause_data(initial(stabbing_xeno.caste_type), stabbing_xeno)) var/datum/ammo/ammoDatum = GLOB.ammo_list[/datum/ammo/xeno/oppressor_tail] diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm index 9107a9670048..cd4533eabc83 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm @@ -521,7 +521,7 @@ X.visible_message(SPAN_XENOWARNING("The [X] fires their spikes at [A]!"), SPAN_XENOWARNING("You fire your spikes at [A]!")) var/turf/target = locate(A.x, A.y, A.z) - var/obj/item/projectile/P = new /obj/item/projectile(X.loc, create_cause_data(initial(X.caste_type), X)) + var/obj/projectile/P = new /obj/projectile(X.loc, create_cause_data(initial(X.caste_type), X)) var/datum/ammo/ammoDatum = GLOB.ammo_list[ammo_type] diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm index 6835fb724294..708334d31a96 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm @@ -15,7 +15,7 @@ X.visible_message(SPAN_XENOWARNING("[X] fires a burst of bone chips at [A]!"), SPAN_XENOWARNING("You fire a burst of bone chips at [A]!")) var/turf/target = locate(A.x, A.y, A.z) - var/obj/item/projectile/P = new /obj/item/projectile(X.loc, create_cause_data(initial(X.caste_type), X)) + var/obj/projectile/P = new /obj/projectile(X.loc, create_cause_data(initial(X.caste_type), X)) var/datum/ammo/ammoDatum = GLOB.ammo_list[ammo_type] @@ -146,30 +146,30 @@ /datum/action/xeno_action/activable/acider_for_the_hive/use_ability(atom/A) - var/mob/living/carbon/xenomorph/X = owner + var/mob/living/carbon/xenomorph/xeno = owner - if(!istype(X)) + if(!istype(xeno)) return - if(!isturf(X.loc)) - to_chat(X, SPAN_XENOWARNING("It is too cramped in here to activate this!")) + if(!isturf(xeno.loc)) + to_chat(xeno, SPAN_XENOWARNING("It is too cramped in here to activate this!")) return - var/area/xeno_area = get_area(X) + var/area/xeno_area = get_area(xeno) if(xeno_area.flags_area & AREA_CONTAINMENT) - to_chat(X, SPAN_XENOWARNING("You can't activate this here!")) + to_chat(xeno, SPAN_XENOWARNING("You can't activate this here!")) return - if(!X.check_state()) + if(!xeno.check_state()) return if(!action_cooldown_check()) return - if(X.mutation_type != RUNNER_ACIDER) + if(xeno.mutation_type != RUNNER_ACIDER) return - var/datum/behavior_delegate/runner_acider/BD = X.behavior_delegate + var/datum/behavior_delegate/runner_acider/BD = xeno.behavior_delegate if(!istype(BD)) return @@ -178,20 +178,22 @@ return if(BD.acid_amount < minimal_acid) - to_chat(X, SPAN_XENOWARNING("Not enough acid built up for an explosion.")) + to_chat(xeno, SPAN_XENOWARNING("Not enough acid built up for an explosion.")) return - to_chat(X, SPAN_XENOWARNING("Your stomach starts turning and twisting, getting ready to compress the built up acid.")) - X.color = "#22FF22" - X.set_light_color("#22FF22") - X.set_light_range(3) + notify_ghosts(header = "For the Hive!", message = "[xeno] is going to explode for the Hive!", source = xeno, action = NOTIFY_ORBIT) + + to_chat(xeno, SPAN_XENOWARNING("Your stomach starts turning and twisting, getting ready to compress the built up acid.")) + xeno.color = "#22FF22" + xeno.set_light_color("#22FF22") + xeno.set_light_range(3) BD.caboom_trigger = TRUE BD.caboom_left = BD.caboom_timer BD.caboom_last_proc = 0 - X.set_effect(BD.caboom_timer*2, SUPERSLOW) + xeno.set_effect(BD.caboom_timer*2, SUPERSLOW) - X.say(";FOR THE HIVE!!!") + xeno.say(";FOR THE HIVE!!!") return ..() /datum/action/xeno_action/activable/acider_for_the_hive/proc/cancel_ability() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm index 58384a01a3fa..b058756d3ef8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm @@ -21,7 +21,7 @@ playsound(xeno.loc, sound_to_play, 25, 1) xeno.ammo = GLOB.ammo_list[/datum/ammo/xeno/toxin] - var/obj/item/projectile/projectile = new /obj/item/projectile(current_turf, create_cause_data(initial(xeno.caste_type), xeno)) + var/obj/projectile/projectile = new /obj/projectile(current_turf, create_cause_data(initial(xeno.caste_type), xeno)) projectile.generate_bullet(xeno.ammo) projectile.permutated += xeno projectile.def_zone = xeno.get_limbzone_target() @@ -56,7 +56,7 @@ playsound(xeno.loc, sound_to_play, 25, 1) xeno.ammo = GLOB.ammo_list[/datum/ammo/xeno/toxin/shotgun] - var/obj/item/projectile/projectile = new /obj/item/projectile(current_turf, create_cause_data(initial(xeno.caste_type), xeno)) + var/obj/projectile/projectile = new /obj/projectile(current_turf, create_cause_data(initial(xeno.caste_type), xeno)) projectile.generate_bullet(xeno.ammo) projectile.permutated += xeno projectile.def_zone = xeno.get_limbzone_target() diff --git a/code/modules/mob/living/carbon/xenomorph/life.dm b/code/modules/mob/living/carbon/xenomorph/life.dm index 0542594f1ab6..65839e9c8caf 100644 --- a/code/modules/mob/living/carbon/xenomorph/life.dm +++ b/code/modules/mob/living/carbon/xenomorph/life.dm @@ -201,7 +201,8 @@ blinded = TRUE set_stat(UNCONSCIOUS) else - blinded = FALSE + if(!interference)//If their connection to hivemind is affected, their vision should be too. + blinded = FALSE set_stat(CONSCIOUS) if(regular_update && halloss > 0) if(resting) diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm index 7e5773e5aec5..e85a9f2c1700 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/carrier/eggsac.dm @@ -24,7 +24,6 @@ var/mob/living/carbon/xenomorph/carrier/carrier = mutator_set.xeno if(!istype(carrier)) return FALSE - carrier.mutation_type = CARRIER_EGGSAC carrier.plasma_types = list(PLASMA_EGG) carrier.phero_modifier += XENO_PHERO_MOD_LARGE // praetorian level pheremones carrier.plasmapool_modifier = 1.2 @@ -37,6 +36,7 @@ carrier.huggers_cur = 0 carrier.huggers_max = 0 carrier.update_hugger_overlays() + carrier.mutation_type = CARRIER_EGGSAC carrier.update_eggsac_overlays() carrier.eggs_max = 12 carrier.egg_planting_range = 2 diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index eddb22b4b416..45eb43c91773 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -22,6 +22,7 @@ var/list/department_radio_keys = list( ":o" = RADIO_CHANNEL_COLONY, ".o" = RADIO_CHANNEL_COLONY, "#o" = RADIO_CHANNEL_PMC_CCT, ":z" = RADIO_CHANNEL_HIGHCOM, ".z" = RADIO_CHANNEL_HIGHCOM, "#z" = RADIO_CHANNEL_PMC_CMD, ":k" = SQUAD_SOF, ".k" = SQUAD_SOF, "#k" = RADIO_CHANNEL_WY_WO, + ":q" = RADIO_CHANNEL_ROYAL_MARINE, ".q" = RADIO_CHANNEL_ROYAL_MARINE, ":r" = RADIO_CHANNEL_PROVOST, ".r" = RADIO_CHANNEL_PROVOST, "#r" = RADIO_CHANNEL_PROVOST, ":I" = RADIO_CHANNEL_INTERCOM, ".I" = RADIO_CHANNEL_INTERCOM, "#I" = RADIO_CHANNEL_INTERCOM, @@ -46,6 +47,7 @@ var/list/department_radio_keys = list( ":O" = RADIO_CHANNEL_COLONY, ".O" = RADIO_CHANNEL_COLONY, "#O" = RADIO_CHANNEL_PMC_CCT, ":Z" = RADIO_CHANNEL_HIGHCOM, ".Z" = RADIO_CHANNEL_HIGHCOM, "#Z" = RADIO_CHANNEL_PMC_CMD, ":K" = SQUAD_SOF, ".K" = SQUAD_SOF, "#K" = RADIO_CHANNEL_WY_WO, + ":Q" = RADIO_CHANNEL_ROYAL_MARINE, ".Q" = RADIO_CHANNEL_ROYAL_MARINE, ":R" = RADIO_CHANNEL_PROVOST, ".R" = RADIO_CHANNEL_PROVOST, "#R" = RADIO_CHANNEL_PROVOST, ) diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 1e1cef2b7a8e..a7109f491740 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -34,7 +34,7 @@ cameranet.updateVisibility(src) . = ..() -/obj/structure/Initialize() +/obj/structure/Initialize(mapload, ...) . = ..() if(z && SSatoms.initialized != INITIALIZATION_INSSATOMS) cameranet.updateVisibility(src) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6f68f94bcb5d..4ad29179daec 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -408,7 +408,7 @@ var/list/robot_verbs_default = list( /mob/living/silicon/robot/is_mob_restrained() return 0 -/mob/living/silicon/robot/bullet_act(obj/item/projectile/Proj) +/mob/living/silicon/robot/bullet_act(obj/projectile/Proj) ..(Proj) if(prob(75) && Proj.damage > 0) spark_system.start() return 2 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index 3bebedfc12c8..ffe85017bb28 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -122,7 +122,7 @@ else wound_icon_carrier.icon_state = "[caste_name]_walk_[health_threshold]" -/mob/living/simple_animal/hostile/alien/bullet_act(obj/item/projectile/P) +/mob/living/simple_animal/hostile/alien/bullet_act(obj/projectile/P) . = ..() if(P.damage) var/splatter_dir = get_dir(P.starting, loc)//loc is the xeno getting hit, P.starting is the turf of where the projectile got spawned @@ -187,8 +187,8 @@ // melee_damage_lower = 15 // melee_damage_upper = 15 // ranged = 1 -// projectiletype = /obj/item/projectile/neurotox +// projectiletype = /obj/projectile/neurotox // projectilesound = 'sound/weapons/pierce.ogg' -/obj/item/projectile/neurotox +/obj/projectile/neurotox damage = 30 icon_state = "toxin" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 9266e67db495..3d37f8ea57c1 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -20,7 +20,7 @@ health = 300 maxHealth = 300 speed = 8 - projectiletype = /obj/item/projectile/beam/drone + projectiletype = /obj/projectile/beam/drone projectilesound = 'sound/weapons/Laser3.ogg' destroy_surroundings = 0 var/datum/effect_system/ion_trail_follow/ion_trail @@ -52,7 +52,7 @@ /mob/living/simple_animal/hostile/retaliate/malf_drone/Initialize() . = ..() if(prob(5)) - projectiletype = /obj/item/projectile/beam/pulse/drone + projectiletype = /obj/projectile/beam/pulse/drone projectilesound = 'sound/weapons/pulse2.ogg' ion_trail = new ion_trail.set_up(src) @@ -215,8 +215,8 @@ return ..() -/obj/item/projectile/beam/drone +/obj/projectile/beam/drone damage = 15 -/obj/item/projectile/beam/pulse/drone +/obj/projectile/beam/pulse/drone damage = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index 9d13ae92bd1c..1394ec113e6b 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -40,7 +40,7 @@ corpse = /obj/effect/landmark/corpsespawner/russian/ranged weapon1 = /obj/item/weapon/gun/pistol ranged = 1 - projectiletype = /obj/item/projectile + projectiletype = /obj/projectile projectilesound = 'sound/weapons/Gunshot.ogg' casingtype = null @@ -84,7 +84,7 @@ /mob/living/simple_animal/hostile/UPP/ranged //weapon1 = /obj/item/weapon/gun/projectile/mateba ranged = 1 - projectiletype = /obj/item/projectile + projectiletype = /obj/projectile projectilesound = 'sound/weapons/Gunshot.ogg' casingtype = null diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 36dd6402f9b0..0f15bd1d8f7b 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -254,7 +254,7 @@ return //Bullets -/mob/living/simple_animal/parrot/bullet_act(obj/item/projectile/Proj) +/mob/living/simple_animal/parrot/bullet_act(obj/projectile/Proj) ..() if(!stat && !client) if(parrot_state == PARROT_PERCH) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 6eb32501512f..efd05f15c269 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -548,7 +548,7 @@ var/global/list/limb_types_by_name = list( track_link = " (Follow)" if (source && action == NOTIFY_JUMP) var/turf/T = get_turf(source) - track_link = " (Jump)" + track_link = " (Jump)" var/full_enter_link if (enter_link) full_enter_link = "[(enter_text) ? "[enter_text]" : "(Claim)"]" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 3b10c757f2f4..71d1090b20e0 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -257,6 +257,7 @@ t = replacetext(t, "\[wy\]", "") t = replacetext(t, "\[uscm\]", "") t = replacetext(t, "\[upp\]", "") + t = replacetext(t, "\[cmb\]", "") t = "[t]" else // If it is a crayon, and he still tries to use these, make them empty! @@ -427,7 +428,7 @@ var/image/stampoverlay = image('icons/obj/items/paper.dmi') var/x var/y - if(istype(P, /obj/item/tool/stamp/captain) || istype(P, /obj/item/tool/stamp/centcomm)) + if(istype(P, /obj/item/tool/stamp/captain) || istype(P, /obj/item/tool/stamp/weyyu)) x = rand(-2, 0) y = rand(-1, 2) else diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 9978b9f2c5b3..8f138d2c905f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -603,7 +603,7 @@ if(prob(max(0, exposed_temperature - 673))) //0% at <400C, 100% at >500C broken() -/obj/structure/machinery/light/bullet_act(obj/item/projectile/P) +/obj/structure/machinery/light/bullet_act(obj/projectile/P) src.bullet_ping(P) if(P.ammo.damage_type == BRUTE) if(P.damage > 10) diff --git a/code/modules/projectiles/ammo_boxes/grenade_packets.dm b/code/modules/projectiles/ammo_boxes/grenade_packets.dm index a0d16b621eb3..83c222a0a128 100644 --- a/code/modules/projectiles/ammo_boxes/grenade_packets.dm +++ b/code/modules/projectiles/ammo_boxes/grenade_packets.dm @@ -126,3 +126,15 @@ var/list/grenade_packets = list( desc = "It contains three M74 airburst smoke grenades. This end towards the enemy." icon_state = "agms_packet" content_type = /obj/item/explosive/grenade/smokebomb/airburst + +/obj/item/storage/box/packet/rmc/he + name = "\improper R2175/A HEDP grenade packet" + desc = "It contains three R2175/A HEDP grenades. Handle with care." + icon_state = "hedp_packet" + content_type = /obj/item/explosive/grenade/high_explosive/rmc + +/obj/item/storage/box/packet/rmc/incin + name = "\improper R2175/B HIDP grenade packet" + desc = "It contains three R2175/B HIDP grenades. Handle with care." + icon_state = "hidp_packet" + content_type = /obj/item/explosive/grenade/incendiary/rmc diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index 9315a1dd0c68..449ce574eb2c 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -59,7 +59,7 @@ /datum/ammo/New() set_bullet_traits() -/datum/ammo/proc/on_bullet_generation(obj/item/projectile/generated_projectile, mob/bullet_generator) //NOT used on New(), applied to the projectiles. +/datum/ammo/proc/on_bullet_generation(obj/projectile/generated_projectile, mob/bullet_generator) //NOT used on New(), applied to the projectiles. return /// Populate traits_to_give in this proc @@ -69,40 +69,40 @@ /datum/ammo/can_vv_modify() return FALSE -/datum/ammo/proc/do_at_half_range(obj/item/projectile/P) +/datum/ammo/proc/do_at_half_range(obj/projectile/P) SHOULD_NOT_SLEEP(TRUE) return /datum/ammo/proc/on_embed(mob/embedded_mob, obj/limb/target_organ) return -/datum/ammo/proc/do_at_max_range(obj/item/projectile/P) +/datum/ammo/proc/do_at_max_range(obj/projectile/P) SHOULD_NOT_SLEEP(TRUE) return -/datum/ammo/proc/on_shield_block(mob/M, obj/item/projectile/P) //Does it do something special when shield blocked? Ie. a flare or grenade that still blows up. +/datum/ammo/proc/on_shield_block(mob/M, obj/projectile/P) //Does it do something special when shield blocked? Ie. a flare or grenade that still blows up. return -/datum/ammo/proc/on_hit_turf(turf/T, obj/item/projectile/P) //Special effects when hitting dense turfs. +/datum/ammo/proc/on_hit_turf(turf/T, obj/projectile/P) //Special effects when hitting dense turfs. SHOULD_NOT_SLEEP(TRUE) return -/datum/ammo/proc/on_hit_mob(mob/M, obj/item/projectile/P, mob/user) //Special effects when hitting mobs. +/datum/ammo/proc/on_hit_mob(mob/M, obj/projectile/P, mob/user) //Special effects when hitting mobs. SHOULD_NOT_SLEEP(TRUE) return ///Special effects when pointblanking mobs. Ultimately called from /living/attackby(). Return TRUE to end the PB attempt. -/datum/ammo/proc/on_pointblank(mob/living/L, obj/item/projectile/P, mob/living/user, obj/item/weapon/gun/fired_from) +/datum/ammo/proc/on_pointblank(mob/living/L, obj/projectile/P, mob/living/user, obj/item/weapon/gun/fired_from) return -/datum/ammo/proc/on_hit_obj(obj/O, obj/item/projectile/P) //Special effects when hitting objects. +/datum/ammo/proc/on_hit_obj(obj/O, obj/projectile/P) //Special effects when hitting objects. SHOULD_NOT_SLEEP(TRUE) return -/datum/ammo/proc/on_near_target(turf/T, obj/item/projectile/P) //Special effects when passing near something. Range of things that triggers it is controlled by other ammo flags. +/datum/ammo/proc/on_near_target(turf/T, obj/projectile/P) //Special effects when passing near something. Range of things that triggers it is controlled by other ammo flags. return 0 //return 0 means it flies even after being near something. Return 1 means it stops -/datum/ammo/proc/knockback(mob/living/living_mob, obj/item/projectile/fired_projectile, max_range = 2) +/datum/ammo/proc/knockback(mob/living/living_mob, obj/projectile/fired_projectile, max_range = 2) if(!living_mob || living_mob == fired_projectile.firer) return if(fired_projectile.distance_travelled > max_range || living_mob.lying) @@ -115,7 +115,7 @@ knockback_effects(living_mob, fired_projectile) slam_back(living_mob, fired_projectile) -/datum/ammo/proc/slam_back(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/proc/slam_back(mob/living/living_mob, obj/projectile/fired_projectile) //Either knockback or slam them into an obstacle. var/direction = Get_Compass_Dir(fired_projectile.z ? fired_projectile : fired_projectile.firer, living_mob) //More precise than get_dir. if(!direction) //Same tile. @@ -128,7 +128,7 @@ living_mob.apply_damage(MELEE_FORCE_TIER_2) ///The applied effects for knockback(), overwrite to change slow/stun amounts for different ammo datums -/datum/ammo/proc/knockback_effects(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/proc/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob target.apply_effect(0.7, WEAKEN) // 0.9 seconds of stun, per agreement from Balance Team when switched from MC stuns to exact stuns @@ -138,7 +138,7 @@ else living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) -/datum/ammo/proc/pushback(mob/target_mob, obj/item/projectile/fired_projectile, max_range = 2) +/datum/ammo/proc/pushback(mob/target_mob, obj/projectile/fired_projectile, max_range = 2) if(!target_mob || target_mob == fired_projectile.firer || fired_projectile.distance_travelled > max_range || target_mob.lying) return @@ -148,7 +148,7 @@ to_chat(target_mob, isxeno(target_mob) ? SPAN_XENODANGER("You are pushed back by the sudden impact!") : SPAN_HIGHDANGER("You are pushed back by the sudden impact!"), null, 4, CHAT_TYPE_TAKING_HIT) slam_back(target_mob, fired_projectile, max_range) -/datum/ammo/proc/burst(atom/target, obj/item/projectile/P, damage_type = BRUTE, range = 1, damage_div = 2, show_message = SHOW_MESSAGE_VISIBLE) //damage_div says how much we divide damage +/datum/ammo/proc/burst(atom/target, obj/projectile/P, damage_type = BRUTE, range = 1, damage_div = 2, show_message = SHOW_MESSAGE_VISIBLE) //damage_div says how much we divide damage if(!target || !P) return for(var/mob/living/carbon/M in orange(range,target)) if(P.firer == M) @@ -174,7 +174,7 @@ else P.play_hit_effect(M) -/datum/ammo/proc/fire_bonus_projectiles(obj/item/projectile/original_P) +/datum/ammo/proc/fire_bonus_projectiles(obj/projectile/original_P) set waitfor = 0 var/turf/curloc = get_turf(original_P.shot_from) @@ -183,7 +183,7 @@ for(var/i in 1 to bonus_projectiles_amount) //Want to run this for the number of bonus projectiles. var/final_angle = initial_angle - var/obj/item/projectile/P = new /obj/item/projectile(curloc, original_P.weapon_cause_data) + var/obj/projectile/P = new /obj/projectile(curloc, original_P.weapon_cause_data) P.generate_bullet(GLOB.ammo_list[bonus_projectiles_type]) //No bonus damage or anything. P.accuracy = round(P.accuracy * original_P.accuracy/initial(original_P.accuracy)) //if the gun changes the accuracy of the main projectile, it also affects the bonus ones. original_P.give_bullet_traits(P) @@ -227,7 +227,7 @@ shrapnel_type = /obj/item/shard/shrapnel shell_speed = AMMO_SPEED_TIER_4 -/datum/ammo/bullet/proc/handle_battlefield_execution(datum/ammo/firing_ammo, mob/living/hit_mob, obj/item/projectile/firing_projectile, mob/living/user, obj/item/weapon/gun/fired_from) +/datum/ammo/bullet/proc/handle_battlefield_execution(datum/ammo/firing_ammo, mob/living/hit_mob, obj/projectile/firing_projectile, mob/living/user, obj/item/weapon/gun/fired_from) SIGNAL_HANDLER if(!user || hit_mob == user || user.zone_selected != "head" || user.a_intent != INTENT_HARM || !ishuman_strict(hit_mob)) @@ -247,7 +247,7 @@ return COMPONENT_CANCEL_AMMO_POINT_BLANK -/datum/ammo/bullet/proc/attempt_battlefield_execution(datum/ammo/firing_ammo, mob/living/carbon/human/execution_target, obj/item/projectile/firing_projectile, mob/living/user, obj/item/weapon/gun/fired_from) +/datum/ammo/bullet/proc/attempt_battlefield_execution(datum/ammo/firing_ammo, mob/living/carbon/human/execution_target, obj/projectile/firing_projectile, mob/living/user, obj/item/weapon/gun/fired_from) user.affected_message(execution_target, SPAN_HIGHDANGER("You aim \the [fired_from] at [execution_target]'s head!"), SPAN_HIGHDANGER("[user] aims \the [fired_from] directly at your head!"), @@ -348,16 +348,16 @@ var/acid_per_hit = 10 var/organic_damage_mult = 3 -/datum/ammo/bullet/pistol/ap/toxin/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/pistol/ap/toxin/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/toxic_buildup, acid_per_hit) -/datum/ammo/bullet/pistol/ap/toxin/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/pistol/ap/toxin/on_hit_turf(turf/T, obj/projectile/P) . = ..() if(T.flags_turf & TURF_ORGANIC) P.damage *= organic_damage_mult -/datum/ammo/bullet/pistol/ap/toxin/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/pistol/ap/toxin/on_hit_obj(obj/O, obj/projectile/P) . = ..() if(O.flags_obj & OBJ_ORGANIC) P.damage *= organic_damage_mult @@ -421,7 +421,7 @@ ..() RegisterSignal(src, COMSIG_AMMO_POINT_BLANK, PROC_REF(handle_battlefield_execution)) -/datum/ammo/bullet/pistol/heavy/super/highimpact/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/pistol/heavy/super/highimpact/on_hit_mob(mob/M, obj/projectile/P) knockback(M, P, 4) /datum/ammo/bullet/pistol/deagle @@ -479,16 +479,16 @@ var/acid_per_hit = 10 var/organic_damage_mult = 3 -/datum/ammo/bullet/pistol/squash/toxin/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/pistol/squash/toxin/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/toxic_buildup, acid_per_hit) -/datum/ammo/bullet/pistol/squash/toxin/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/pistol/squash/toxin/on_hit_turf(turf/T, obj/projectile/P) . = ..() if(T.flags_turf & TURF_ORGANIC) P.damage *= organic_damage_mult -/datum/ammo/bullet/pistol/squash/toxin/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/pistol/squash/toxin/on_hit_obj(obj/O, obj/projectile/P) . = ..() if(O.flags_obj & OBJ_ORGANIC) P.damage *= organic_damage_mult @@ -537,7 +537,7 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/bullet/pistol/mankey/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/pistol/mankey/on_hit_mob(mob/M,obj/projectile/P) if(P && P.loc && !M.stat && !istype(M,/mob/living/carbon/human/monkey)) P.visible_message(SPAN_DANGER("The [src] chimpers furiously!")) new /mob/living/carbon/human/monkey(P.loc) @@ -580,7 +580,7 @@ penetration = ARMOR_PENETRATION_TIER_4 accuracy = HIT_ACCURACY_TIER_3 -/datum/ammo/bullet/revolver/heavy/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/revolver/heavy/on_hit_mob(mob/M, obj/projectile/P) knockback(M, P, 4) /datum/ammo/bullet/revolver/incendiary @@ -598,16 +598,16 @@ var/acid_per_hit = 10 var/organic_damage_mult = 3 -/datum/ammo/bullet/revolver/marksman/toxin/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/revolver/marksman/toxin/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/toxic_buildup, acid_per_hit) -/datum/ammo/bullet/revolver/marksman/toxin/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/revolver/marksman/toxin/on_hit_turf(turf/T, obj/projectile/P) . = ..() if(T.flags_turf & TURF_ORGANIC) P.damage *= organic_damage_mult -/datum/ammo/bullet/revolver/marksman/toxin/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/revolver/marksman/toxin/on_hit_obj(obj/O, obj/projectile/P) . = ..() if(O.flags_obj & OBJ_ORGANIC) P.damage *= organic_damage_mult @@ -648,7 +648,7 @@ shrapnel_type = /obj/item/shard/shrapnel/upp //roughly 90 or so damage with the additional shrapnel, around 130 in total with primary round -/datum/ammo/bullet/revolver/upp/shrapnel/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/revolver/upp/shrapnel/on_hit_mob(mob/M, obj/projectile/P) pushback(M, P, 1) /datum/ammo/bullet/revolver/upp/shrapnel_bits @@ -701,7 +701,7 @@ ..() RegisterSignal(src, COMSIG_AMMO_POINT_BLANK, PROC_REF(handle_battlefield_execution)) -/datum/ammo/bullet/revolver/mateba/highimpact/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/revolver/mateba/highimpact/on_hit_mob(mob/M, obj/projectile/P) knockback(M, P, 4) /datum/ammo/bullet/revolver/mateba/highimpact/explosive //if you ever put this in normal gameplay, i am going to scream @@ -712,15 +712,15 @@ penetration = ARMOR_PENETRATION_TIER_10 flags_ammo_behavior = AMMO_EXPLOSIVE|AMMO_BALLISTIC -/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_mob(mob/M, obj/projectile/P) ..() cell_explosion(get_turf(M), 120, 30, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) -/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_obj(obj/O, obj/projectile/P) ..() cell_explosion(get_turf(O), 120, 30, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) -/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/revolver/mateba/highimpact/explosive/on_hit_turf(turf/T, obj/projectile/P) ..() cell_explosion(T, 120, 30, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) @@ -778,16 +778,16 @@ var/acid_per_hit = 5 var/organic_damage_mult = 3 -/datum/ammo/bullet/smg/ap/toxin/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/smg/ap/toxin/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/toxic_buildup, acid_per_hit) -/datum/ammo/bullet/smg/ap/toxin/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/smg/ap/toxin/on_hit_turf(turf/T, obj/projectile/P) . = ..() if(T.flags_turf & TURF_ORGANIC) P.damage *= organic_damage_mult -/datum/ammo/bullet/smg/ap/toxin/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/smg/ap/toxin/on_hit_obj(obj/O, obj/projectile/P) . = ..() if(O.flags_obj & OBJ_ORGANIC) P.damage *= organic_damage_mult @@ -904,7 +904,7 @@ damage = 30 var/holo_stacks = 10 -/datum/ammo/bullet/rifle/holo_target/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/rifle/holo_target/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time) @@ -922,13 +922,13 @@ shell_speed = AMMO_SPEED_TIER_4 damage_falloff = DAMAGE_FALLOFF_TIER_9 -/datum/ammo/bullet/rifle/explosive/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/rifle/explosive/on_hit_mob(mob/M, obj/projectile/P) cell_explosion(get_turf(M), 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) -/datum/ammo/bullet/rifle/explosive/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/rifle/explosive/on_hit_obj(obj/O, obj/projectile/P) cell_explosion(get_turf(O), 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) -/datum/ammo/bullet/rifle/explosive/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/rifle/explosive/on_hit_turf(turf/T, obj/projectile/P) if(T.density) cell_explosion(T, 80, 40, EXPLOSION_FALLOFF_SHAPE_LINEAR, P.dir, P.weapon_cause_data) @@ -944,16 +944,16 @@ var/acid_per_hit = 7 var/organic_damage_mult = 3 -/datum/ammo/bullet/rifle/ap/toxin/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/rifle/ap/toxin/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/toxic_buildup, acid_per_hit) -/datum/ammo/bullet/rifle/ap/toxin/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/rifle/ap/toxin/on_hit_turf(turf/T, obj/projectile/P) . = ..() if(T.flags_turf & TURF_ORGANIC) P.damage *= organic_damage_mult -/datum/ammo/bullet/rifle/ap/toxin/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/rifle/ap/toxin/on_hit_obj(obj/O, obj/projectile/P) . = ..() if(O.flags_obj & OBJ_ORGANIC) P.damage *= organic_damage_mult @@ -1049,10 +1049,10 @@ penetration = ARMOR_PENETRATION_TIER_10 shell_speed = AMMO_SPEED_TIER_6 -/datum/ammo/bullet/rifle/m4ra/impact/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/rifle/m4ra/impact/on_hit_mob(mob/M, obj/projectile/P) knockback(M, P, 32) // Can knockback basically at max range -/datum/ammo/bullet/rifle/m4ra/impact/knockback_effects(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/bullet/rifle/m4ra/impact/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) @@ -1110,10 +1110,10 @@ damage_armor_punch = 2 handful_state = "slug_shell" -/datum/ammo/bullet/shotgun/slug/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/slug/on_hit_mob(mob/M,obj/projectile/P) knockback(M, P, 6) -/datum/ammo/bullet/shotgun/slug/knockback_effects(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/bullet/shotgun/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) @@ -1143,7 +1143,7 @@ shell_speed = AMMO_SPEED_TIER_3 handful_state = "beanbag_slug" -/datum/ammo/bullet/shotgun/beanbag/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/shotgun/beanbag/on_hit_mob(mob/M, obj/projectile/P) if(!M || M == P.firer) return if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -1168,14 +1168,14 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/bullet/shotgun/incendiary/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/incendiary/on_hit_mob(mob/M,obj/projectile/P) burst(get_turf(M),P,damage_type) knockback(M,P) -/datum/ammo/bullet/shotgun/incendiary/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/incendiary/on_hit_obj(obj/O,obj/projectile/P) burst(get_turf(P),P,damage_type) -/datum/ammo/bullet/shotgun/incendiary/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/incendiary/on_hit_turf(turf/T,obj/projectile/P) burst(get_turf(T),P,damage_type) @@ -1242,7 +1242,7 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/bullet/shotgun/buckshot/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/buckshot/on_hit_mob(mob/M,obj/projectile/P) knockback(M,P) //buckshot variant only used by the masterkey shotgun attachment. @@ -1290,7 +1290,7 @@ damage_armor_punch = 0 pen_armor_punch = 0 -/datum/ammo/bullet/shotgun/heavy/buckshot/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/heavy/buckshot/on_hit_mob(mob/M,obj/projectile/P) knockback(M,P) /datum/ammo/bullet/shotgun/heavy/buckshot/spread @@ -1334,10 +1334,10 @@ penetration = ARMOR_PENETRATION_TIER_6 damage_armor_punch = 2 -/datum/ammo/bullet/shotgun/heavy/slug/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/shotgun/heavy/slug/on_hit_mob(mob/M,obj/projectile/P) knockback(M, P, 7) -/datum/ammo/bullet/shotgun/heavy/slug/knockback_effects(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/bullet/shotgun/heavy/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) @@ -1366,7 +1366,7 @@ accuracy = HIT_ACCURACY_TIER_2 shell_speed = AMMO_SPEED_TIER_2 -/datum/ammo/bullet/shotgun/heavy/beanbag/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/shotgun/heavy/beanbag/on_hit_mob(mob/M, obj/projectile/P) if(!M || M == P.firer) return if(ishuman(M)) @@ -1415,7 +1415,7 @@ effective_range_max = EFFECTIVE_RANGE_MAX_TIER_2 //Full damage up to this distance, then falloff for each tile beyond. var/hit_messages = list() -/datum/ammo/bullet/shotgun/twobore/on_hit_mob(mob/living/M, obj/item/projectile/P) +/datum/ammo/bullet/shotgun/twobore/on_hit_mob(mob/living/M, obj/projectile/P) var/mob/shooter = P.firer if(shooter && ismob(shooter) && HAS_TRAIT(shooter, TRAIT_TWOBORE_TRAINING) && M.stat != DEAD && prob(40)) //Death is handled by periodic life() checks so this should have a chance to fire on a killshot. if(!length(hit_messages)) //Pick and remove lines, refill on exhaustion. @@ -1439,7 +1439,7 @@ step(M, get_dir(P.firer, M)) -/datum/ammo/bullet/shotgun/twobore/knockback_effects(mob/living/living_mob, obj/item/projectile/fired_projectile) +/datum/ammo/bullet/shotgun/twobore/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) @@ -1473,7 +1473,7 @@ accuracy = HIT_ACCURACY_TIER_1 handful_state = "tracking_lever_action_bullet" -/datum/ammo/bullet/lever_action/tracker/on_hit_mob(mob/M, obj/item/projectile/P, mob/user) +/datum/ammo/bullet/lever_action/tracker/on_hit_mob(mob/M, obj/projectile/P, mob/user) //SEND_SIGNAL(user, COMSIG_BULLET_TRACKING, user, M) M.visible_message(SPAN_DANGER("You hear a faint beep under [M]'s [M.mob_size > MOB_SIZE_HUMAN ? "chitin" : "skin"].")) @@ -1542,7 +1542,7 @@ shell_speed = AMMO_SPEED_TIER_6 damage_falloff = 0 -/datum/ammo/bullet/sniper/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/sniper/on_hit_mob(mob/M,obj/projectile/P) if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) var/mob/living/L = M L.apply_armoured_damage(damage*2, ARMOR_BULLET, BRUTE, null, penetration) @@ -1564,7 +1564,7 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/bullet/sniper/incendiary/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/sniper/incendiary/on_hit_mob(mob/M,obj/projectile/P) if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) var/mob/living/L = M var/blind_duration = 5 @@ -1587,7 +1587,7 @@ damage_var_high = PROJECTILE_VARIANCE_TIER_8 //Documenting old code: This converts to a variance of 96-109% damage. -Kaga penetration = 0 -/datum/ammo/bullet/sniper/flak/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/sniper/flak/on_hit_mob(mob/M,obj/projectile/P) if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) var/slow_duration = 7 var/mob/living/L = M @@ -1602,7 +1602,7 @@ burst(get_turf(M),P,damage_type, 2 , 2) burst(get_turf(M),P,damage_type, 1 , 2 , 0) -/datum/ammo/bullet/sniper/flak/on_near_target(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/sniper/flak/on_near_target(turf/T, obj/projectile/P) burst(T,P,damage_type, 2 , 2) burst(T,P,damage_type, 1 , 2, 0) return 1 @@ -1612,7 +1612,7 @@ damage = 42 penetration = ARMOR_PENETRATION_TIER_6 -/datum/ammo/bullet/sniper/crude/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/sniper/crude/on_hit_mob(mob/M, obj/projectile/P) . = ..() pushback(M, P, 3) @@ -1629,7 +1629,7 @@ damage = 125 shell_speed = AMMO_SPEED_TIER_6 -/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/M,obj/projectile/P) if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) var/mob/living/L = M var/size_damage_mod = 0.8 @@ -1643,6 +1643,24 @@ // 180% damage to all targets (225), 240% (300) against non-Runner xenos, and 300% against Big xenos (375). -Kaga to_chat(P.firer, SPAN_WARNING("Bullseye!")) +/datum/ammo/bullet/sniper/anti_materiel/vulture + damage = 400 // Fully intended to vaporize anything smaller than a mini cooper + accurate_range_min = 10 + handful_state = "vulture_bullet" + sound_hit = 'sound/bullets/bullet_vulture_impact.ogg' + flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER|AMMO_IGNORE_COVER|AMMO_ANTIVEHICLE + +/datum/ammo/bullet/sniper/anti_materiel/vulture/on_hit_mob(mob/hit_mob, obj/projectile/bullet) + . = ..() + knockback(hit_mob, bullet, 30) + hit_mob.apply_effect(3, SLOW) + +/datum/ammo/bullet/sniper/anti_materiel/vulture/set_bullet_traits() + . = ..() + LAZYADD(traits_to_give, list( + BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating/heavy) + )) + /datum/ammo/bullet/sniper/elite name = "supersonic sniper bullet" @@ -1657,7 +1675,7 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating) )) -/datum/ammo/bullet/sniper/elite/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/sniper/elite/on_hit_mob(mob/M,obj/projectile/P) if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) var/mob/living/L = M var/size_damage_mod = 0.5 @@ -1689,20 +1707,20 @@ max_range = 32 shell_speed = AMMO_SPEED_TIER_6 -/datum/ammo/bullet/tank/flak/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/tank/flak/on_hit_mob(mob/M,obj/projectile/P) burst(get_turf(M),P,damage_type, 2 , 3) burst(get_turf(M),P,damage_type, 1 , 3 , 0) -/datum/ammo/bullet/tank/flak/on_near_target(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/tank/flak/on_near_target(turf/T, obj/projectile/P) burst(get_turf(T),P,damage_type, 2 , 3) burst(get_turf(T),P,damage_type, 1 , 3, 0) return 1 -/datum/ammo/bullet/tank/flak/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/bullet/tank/flak/on_hit_obj(obj/O,obj/projectile/P) burst(get_turf(P),P,damage_type, 2 , 3) burst(get_turf(P),P,damage_type, 1 , 3 , 0) -/datum/ammo/bullet/tank/flak/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/bullet/tank/flak/on_hit_turf(turf/T,obj/projectile/P) burst(get_turf(T),P,damage_type, 2 , 3) burst(get_turf(T),P,damage_type, 1 , 3 , 0) @@ -1721,23 +1739,23 @@ max_range = 12 shell_speed = AMMO_SPEED_TIER_5 -/datum/ammo/bullet/tank/dualcannon/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/bullet/tank/dualcannon/on_hit_mob(mob/M,obj/projectile/P) for(var/mob/living/carbon/L in get_turf(M)) if(L.stat == CONSCIOUS && L.mob_size <= MOB_SIZE_XENO) shake_camera(L, 1, 1) -/datum/ammo/bullet/tank/dualcannon/on_near_target(turf/T, obj/item/projectile/P) +/datum/ammo/bullet/tank/dualcannon/on_near_target(turf/T, obj/projectile/P) for(var/mob/living/carbon/L in T) if(L.stat == CONSCIOUS && L.mob_size <= MOB_SIZE_XENO) shake_camera(L, 1, 1) return 1 -/datum/ammo/bullet/tank/dualcannon/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/bullet/tank/dualcannon/on_hit_obj(obj/O,obj/projectile/P) for(var/mob/living/carbon/L in get_turf(O)) if(L.stat == CONSCIOUS && L.mob_size <= MOB_SIZE_XENO) shake_camera(L, 1, 1) -/datum/ammo/bullet/tank/dualcannon/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/bullet/tank/dualcannon/on_hit_turf(turf/T,obj/projectile/P) for(var/mob/living/carbon/L in T) if(L.stat == CONSCIOUS && L.mob_size <= MOB_SIZE_XENO) shake_camera(L, 1, 1) @@ -1787,6 +1805,26 @@ penetration = ARMOR_PENETRATION_TIER_7 damage_armor_punch = 3 +/datum/ammo/bullet/smartgun/holo_target //Royal marines smartgun bullet has only diff between regular ammo is this one does holostacks + name = "holo-targeting smartgun bullet" + damage = 30 +///Stuff for the HRP holotargetting stacks + var/holo_stacks = 15 + +/datum/ammo/bullet/smartgun/holo_target/on_hit_mob(mob/M, obj/projectile/P) + . = ..() + M.AddComponent(/datum/component/bonus_damage_stack, holo_stacks, world.time) + +/datum/ammo/bullet/smartgun/holo_target/ap + name = "armor-piercing smartgun bullet" + icon_state = "bullet" + + accurate_range = 12 + accuracy = HIT_ACCURACY_TIER_2 + damage = 20 + penetration = ARMOR_PENETRATION_TIER_8 + damage_armor_punch = 1 + /datum/ammo/bullet/smartgun/m56_fpw name = "\improper M56 FPW bullet" icon_state = "redbullet" @@ -1838,7 +1876,7 @@ accurate_range = 10 damage = 50 penetration = ARMOR_PENETRATION_TIER_6 - accuracy = HIT_ACCURACY_TIER_9 + HIT_ACCURACY_TIER_5 // 75 accuracy + accuracy = -HIT_ACCURACY_TIER_2 // 75 accuracy shell_speed = AMMO_SPEED_TIER_2 max_range = 15 effective_range_max = 7 @@ -1929,24 +1967,24 @@ smoke = null . = ..() -/datum/ammo/rocket/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/on_hit_mob(mob/M, obj/projectile/P) cell_explosion(get_turf(M), 150, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) smoke.set_up(1, get_turf(M)) if(ishuman_strict(M)) // No yautya or synths. Makes humans gib on direct hit. M.ex_act(350, P.dir, P.weapon_cause_data, 100) smoke.start() -/datum/ammo/rocket/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/on_hit_obj(obj/O, obj/projectile/P) cell_explosion(get_turf(O), 150, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) smoke.set_up(1, get_turf(O)) smoke.start() -/datum/ammo/rocket/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/on_hit_turf(turf/T, obj/projectile/P) cell_explosion(T, 150, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) smoke.set_up(1, T) smoke.start() -/datum/ammo/rocket/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/do_at_max_range(obj/projectile/P) cell_explosion(get_turf(P), 150, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) smoke.set_up(1, get_turf(P)) smoke.start() @@ -1963,7 +2001,7 @@ damage = 10 penetration= ARMOR_PENETRATION_TIER_10 -/datum/ammo/rocket/ap/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/ap/on_hit_mob(mob/M, obj/projectile/P) var/turf/T = get_turf(M) M.ex_act(150, P.dir, P.weapon_cause_data, 100) M.apply_effect(2, WEAKEN) @@ -1974,14 +2012,14 @@ smoke.set_up(1, T) smoke.start() -/datum/ammo/rocket/ap/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/ap/on_hit_obj(obj/O, obj/projectile/P) var/turf/T = get_turf(O) O.ex_act(150, P.dir, P.weapon_cause_data, 100) cell_explosion(T, 100, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) smoke.set_up(1, T) smoke.start() -/datum/ammo/rocket/ap/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/ap/on_hit_turf(turf/T, obj/projectile/P) var/hit_something = 0 for(var/mob/M in T) M.ex_act(150, P.dir, P.weapon_cause_data, 100) @@ -2002,7 +2040,7 @@ smoke.set_up(1, T) smoke.start() -/datum/ammo/rocket/ap/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/ap/do_at_max_range(obj/projectile/P) var/turf/T = get_turf(P) var/hit_something = 0 for(var/mob/M in T) @@ -2030,7 +2068,7 @@ shrapnel_chance = 5 shrapnel_type = /obj/item/large_shrapnel/at_rocket_dud -/datum/ammo/rocket/ap/anti_tank/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/ap/anti_tank/on_hit_obj(obj/O, obj/projectile/P) if(istype(O, /obj/vehicle/multitile)) var/obj/vehicle/multitile/M = O M.next_move = world.time + vehicle_slowdown_time @@ -2056,19 +2094,19 @@ damage = 25 shell_speed = AMMO_SPEED_TIER_3 -/datum/ammo/rocket/ltb/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/ltb/on_hit_mob(mob/M, obj/projectile/P) cell_explosion(get_turf(M), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) cell_explosion(get_turf(M), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/rocket/ltb/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/ltb/on_hit_obj(obj/O, obj/projectile/P) cell_explosion(get_turf(O), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) cell_explosion(get_turf(O), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/rocket/ltb/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/ltb/on_hit_turf(turf/T, obj/projectile/P) cell_explosion(get_turf(T), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) cell_explosion(get_turf(T), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/rocket/ltb/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/ltb/do_at_max_range(obj/projectile/P) cell_explosion(get_turf(P), 220, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) cell_explosion(get_turf(P), 200, 100, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) @@ -2101,16 +2139,16 @@ landingSmoke.start() landingSmoke = null -/datum/ammo/rocket/wp/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/wp/on_hit_mob(mob/M, obj/projectile/P) drop_flame(get_turf(M), P.weapon_cause_data) -/datum/ammo/rocket/wp/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/wp/on_hit_obj(obj/O, obj/projectile/P) drop_flame(get_turf(O), P.weapon_cause_data) -/datum/ammo/rocket/wp/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/wp/on_hit_turf(turf/T, obj/projectile/P) drop_flame(T, P.weapon_cause_data) -/datum/ammo/rocket/wp/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/wp/do_at_max_range(obj/projectile/P) drop_flame(get_turf(P), P.weapon_cause_data) /datum/ammo/rocket/wp/upp @@ -2137,16 +2175,16 @@ var/datum/reagent/napalm/upp/R = new() new /obj/flamer_fire(T, cause_data, R, 3) -/datum/ammo/rocket/wp/upp/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/wp/upp/on_hit_mob(mob/M, obj/projectile/P) drop_flame(get_turf(M), P.weapon_cause_data) -/datum/ammo/rocket/wp/upp/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/wp/upp/on_hit_obj(obj/O, obj/projectile/P) drop_flame(get_turf(O), P.weapon_cause_data) -/datum/ammo/rocket/wp/upp/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/wp/upp/on_hit_turf(turf/T, obj/projectile/P) drop_flame(T, P.weapon_cause_data) -/datum/ammo/rocket/wp/upp/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/wp/upp/do_at_max_range(obj/projectile/P) drop_flame(get_turf(P), P.weapon_cause_data) /datum/ammo/rocket/wp/quad @@ -2157,26 +2195,26 @@ max_range = 32 shell_speed = AMMO_SPEED_TIER_3 -/datum/ammo/rocket/wp/quad/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/wp/quad/on_hit_mob(mob/M, obj/projectile/P) drop_flame(get_turf(M), P.weapon_cause_data) explosion(P.loc, -1, 2, 4, 5, , , ,P.weapon_cause_data) -/datum/ammo/rocket/wp/quad/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/wp/quad/on_hit_obj(obj/O, obj/projectile/P) drop_flame(get_turf(O), P.weapon_cause_data) explosion(P.loc, -1, 2, 4, 5, , , ,P.weapon_cause_data) -/datum/ammo/rocket/wp/quad/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/wp/quad/on_hit_turf(turf/T, obj/projectile/P) drop_flame(T, P.weapon_cause_data) explosion(P.loc, -1, 2, 4, 5, , , ,P.weapon_cause_data) -/datum/ammo/rocket/wp/quad/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/wp/quad/do_at_max_range(obj/projectile/P) drop_flame(get_turf(P), P.weapon_cause_data) explosion(P.loc, -1, 2, 4, 5, , , ,P.weapon_cause_data) /datum/ammo/rocket/custom name = "custom rocket" -/datum/ammo/rocket/custom/proc/prime(atom/A, obj/item/projectile/P) +/datum/ammo/rocket/custom/proc/prime(atom/A, obj/projectile/P) var/obj/item/weapon/gun/launcher/rocket/launcher = P.shot_from var/obj/item/ammo_magazine/rocket/custom/rocket = launcher.current_mag if(rocket.locked && rocket.warhead && rocket.warhead.detonator) @@ -2188,16 +2226,16 @@ smoke.set_up(1, get_turf(A)) smoke.start() -/datum/ammo/rocket/custom/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/rocket/custom/on_hit_mob(mob/M, obj/projectile/P) prime(M, P) -/datum/ammo/rocket/custom/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/rocket/custom/on_hit_obj(obj/O, obj/projectile/P) prime(O, P) -/datum/ammo/rocket/custom/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/rocket/custom/on_hit_turf(turf/T, obj/projectile/P) prime(T, P) -/datum/ammo/rocket/custom/do_at_max_range(obj/item/projectile/P) +/datum/ammo/rocket/custom/do_at_max_range(obj/projectile/P) prime(null, P) /* @@ -2236,7 +2274,7 @@ shell_speed = AMMO_SPEED_TIER_1 // Slightly faster hit_effect_color = "#FFFF00" -/datum/ammo/energy/taser/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/energy/taser/on_hit_mob(mob/M, obj/projectile/P) if(ishuman(M)) var/mob/living/carbon/human/H = M H.disable_special_items() // Disables scout cloak @@ -2255,7 +2293,7 @@ stamina_damage = 25 //why not shell_speed = AMMO_SPEED_TIER_3 -/datum/ammo/energy/rxfm_eva/on_hit_mob(mob/living/M, obj/item/projectile/P) +/datum/ammo/energy/rxfm_eva/on_hit_mob(mob/living/M, obj/projectile/P) ..() if(prob(10)) //small chance for one to ignite on hit M.fire_act() @@ -2305,7 +2343,7 @@ icon_state = "shrapnel_plasma" damage_type = BURN -/datum/ammo/bullet/shrapnel/plasma/on_hit_mob(mob/hit_mob, obj/item/projectile/hit_projectile) +/datum/ammo/bullet/shrapnel/plasma/on_hit_mob(mob/hit_mob, obj/projectile/hit_projectile) hit_mob.apply_effect(2, WEAKEN) /datum/ammo/energy/yautja/caster @@ -2333,7 +2371,7 @@ damage = 0 flags_ammo_behavior = AMMO_ENERGY|AMMO_IGNORE_RESIST -/datum/ammo/energy/yautja/caster/bolt/stun/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/bolt/stun/on_hit_mob(mob/M, obj/projectile/P) var/mob/living/carbon/C = M var/stun_time = src.stun_time if(istype(C)) @@ -2366,13 +2404,13 @@ var/vehicle_slowdown_time = 5 SECONDS -/datum/ammo/energy/yautja/caster/sphere/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/on_hit_mob(mob/M, obj/projectile/P) cell_explosion(P, 170, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/energy/yautja/caster/sphere/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/on_hit_turf(turf/T, obj/projectile/P) cell_explosion(P, 170, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/energy/yautja/caster/sphere/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/on_hit_obj(obj/O, obj/projectile/P) if(istype(O, /obj/vehicle/multitile)) var/obj/vehicle/multitile/multitile_vehicle = O multitile_vehicle.next_move = world.time + vehicle_slowdown_time @@ -2382,7 +2420,7 @@ multitile_vehicle.ex_act(150, P.dir, P.weapon_cause_data, 100) cell_explosion(get_turf(P), 170, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) -/datum/ammo/energy/yautja/caster/sphere/do_at_max_range(obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/do_at_max_range(obj/projectile/P) cell_explosion(get_turf(P), 170, 50, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, P.weapon_cause_data) @@ -2396,19 +2434,19 @@ var/stun_range = 4 // Big var/stun_time = 6 -/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_mob(mob/M, obj/projectile/P) do_area_stun(P) -/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_turf(turf/T,obj/projectile/P) do_area_stun(P) -/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/stun/on_hit_obj(obj/O,obj/projectile/P) do_area_stun(P) -/datum/ammo/energy/yautja/caster/sphere/stun/do_at_max_range(obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/stun/do_at_max_range(obj/projectile/P) do_area_stun(P) -/datum/ammo/energy/yautja/caster/sphere/stun/proc/do_area_stun(obj/item/projectile/P) +/datum/ammo/energy/yautja/caster/sphere/stun/proc/do_area_stun(obj/projectile/P) playsound(P, 'sound/weapons/wave.ogg', 75, 1, 25) for (var/mob/living/carbon/M in view(src.stun_range, get_turf(P))) var/stun_time = src.stun_time @@ -2524,7 +2562,7 @@ M.apply_effect(0.7, WEAKEN) M.visible_message(SPAN_DANGER("[M] falls prone.")) -/datum/ammo/xeno/toxin/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/xeno/toxin/on_hit_mob(mob/M,obj/projectile/P) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.status_flags & XENO_HOST) @@ -2548,7 +2586,7 @@ accuracy = HIT_ACCURACY_TIER_5*2 max_range = 6 - 1 -/datum/ammo/xeno/toxin/queen/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/xeno/toxin/queen/on_hit_mob(mob/M,obj/projectile/P) neuro_callback.Invoke(M, effect_power, TRUE) /datum/ammo/xeno/toxin/shotgun @@ -2573,7 +2611,7 @@ bonus_projectiles_amount = 0 -/*proc/neuro_flak(turf/T, obj/item/projectile/P, datum/callback/CB, power, insta_neuro, radius) +/*proc/neuro_flak(turf/T, obj/projectile/P, datum/callback/CB, power, insta_neuro, radius) if(!T) return FALSE var/firer = P.firer var/hit_someone = FALSE @@ -2597,13 +2635,13 @@ spit_cost = 50 flags_ammo_behavior = AMMO_XENO|AMMO_IGNORE_RESIST -/datum/ammo/xeno/toxin/burst/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/toxin/burst/on_hit_mob(mob/M, obj/projectile/P) if(isxeno(M) && isxeno(P.firer) && M:hivenumber == P.firer:hivenumber) neuro_callback.Invoke(M, effect_power*1.5, TRUE) neuro_flak(get_turf(M), P, neuro_callback, effect_power, FALSE, 1) -/datum/ammo/xeno/toxin/burst/on_near_target(turf/T, obj/item/projectile/P) +/datum/ammo/xeno/toxin/burst/on_near_target(turf/T, obj/projectile/P) return neuro_flak(T, P, neuro_callback, effect_power, FALSE, 1) /datum/ammo/xeno/sticky @@ -2618,16 +2656,16 @@ accuracy_var_high = PROJECTILE_VARIANCE_TIER_4 max_range = 32 -/datum/ammo/xeno/sticky/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/xeno/sticky/on_hit_mob(mob/M,obj/projectile/P) drop_resin(get_turf(P)) -/datum/ammo/xeno/sticky/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/xeno/sticky/on_hit_obj(obj/O,obj/projectile/P) drop_resin(get_turf(P)) -/datum/ammo/xeno/sticky/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/xeno/sticky/on_hit_turf(turf/T,obj/projectile/P) drop_resin(T) -/datum/ammo/xeno/sticky/do_at_max_range(obj/item/projectile/P) +/datum/ammo/xeno/sticky/do_at_max_range(obj/projectile/P) drop_resin(get_turf(P)) /datum/ammo/xeno/sticky/proc/drop_resin(turf/T) @@ -2660,10 +2698,10 @@ penetration = ARMOR_PENETRATION_TIER_2 shell_speed = AMMO_SPEED_TIER_3 -/datum/ammo/xeno/acid/on_shield_block(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/acid/on_shield_block(mob/M, obj/projectile/P) burst(M,P,damage_type) -/datum/ammo/xeno/acid/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/acid/on_hit_mob(mob/M, obj/projectile/P) if(iscarbon(M)) var/mob/living/carbon/C = M if(C.status_flags & XENO_HOST && HAS_TRAIT(C, TRAIT_NESTED) || C.stat == DEAD) @@ -2676,7 +2714,7 @@ damage = 30 max_range = 6 -/datum/ammo/xeno/acid/spatter/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/acid/spatter/on_hit_mob(mob/M, obj/projectile/P) . = ..() if(. == FALSE) return @@ -2708,7 +2746,7 @@ apply_delegate = FALSE -/datum/ammo/xeno/acid/prae_nade/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/acid/prae_nade/on_hit_mob(mob/M, obj/projectile/P) if (!ishuman(M)) return @@ -2738,16 +2776,16 @@ shell_speed = AMMO_SPEED_TIER_1 scatter = SCATTER_AMOUNT_TIER_10 -/datum/ammo/xeno/prae_skillshot/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/prae_skillshot/on_hit_mob(mob/M, obj/projectile/P) acid_stacks_aoe(get_turf(P)) -/datum/ammo/xeno/prae_skillshot/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/xeno/prae_skillshot/on_hit_obj(obj/O, obj/projectile/P) acid_stacks_aoe(get_turf(P)) -/datum/ammo/xeno/prae_skillshot/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/xeno/prae_skillshot/on_hit_turf(turf/T, obj/projectile/P) acid_stacks_aoe(get_turf(P)) -/datum/ammo/xeno/prae_skillshot/do_at_max_range(obj/item/projectile/P) +/datum/ammo/xeno/prae_skillshot/do_at_max_range(obj/projectile/P) acid_stacks_aoe(get_turf(P)) /datum/ammo/xeno/prae_skillshot/proc/acid_stacks_aoe(turf/T) @@ -2799,7 +2837,7 @@ smoke_system = null . = ..() -/datum/ammo/xeno/boiler_gas/on_hit_mob(mob/moob, obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/on_hit_mob(mob/moob, obj/projectile/proj) if(iscarbon(moob)) var/mob/living/carbon/carbon = moob if(carbon.status_flags & XENO_HOST && HAS_TRAIT(carbon, TRAIT_NESTED) || carbon.stat == DEAD) @@ -2812,22 +2850,22 @@ to_chat(moob, SPAN_HIGHDANGER("Neurotoxic liquid spreads all over you and immediately soaks into your pores and orifices! Oh fuck!")) // Fucked up but have a chance to escape rather than being game-ended drop_nade(get_turf(proj), proj,TRUE) -/datum/ammo/xeno/boiler_gas/on_hit_obj(obj/outbacksteakhouse, obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/on_hit_obj(obj/outbacksteakhouse, obj/projectile/proj) drop_nade(get_turf(proj), proj) -/datum/ammo/xeno/boiler_gas/on_hit_turf(turf/Turf, obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/on_hit_turf(turf/Turf, obj/projectile/proj) if(Turf.density && isturf(proj.loc)) drop_nade(proj.loc, proj) //we don't want the gas globs to land on dense turfs, they block smoke expansion. else drop_nade(Turf, proj) -/datum/ammo/xeno/boiler_gas/do_at_max_range(obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/do_at_max_range(obj/projectile/proj) drop_nade(get_turf(proj), proj) -/datum/ammo/xeno/boiler_gas/proc/set_xeno_smoke(obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/proc/set_xeno_smoke(obj/projectile/proj) smoke_system = new /datum/effect_system/smoke_spread/xeno_weaken() -/datum/ammo/xeno/boiler_gas/proc/drop_nade(turf/turf, obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/proc/drop_nade(turf/turf, obj/projectile/proj) var/lifetime_mult = 1.0 var/datum/cause_data if(isboiler(proj.firer)) @@ -2846,10 +2884,10 @@ smokerange = 3 -/datum/ammo/xeno/boiler_gas/acid/set_xeno_smoke(obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/acid/set_xeno_smoke(obj/projectile/proj) smoke_system = new /datum/effect_system/smoke_spread/xeno_acid() -/datum/ammo/xeno/boiler_gas/acid/on_hit_mob(mob/moob, obj/item/projectile/proj) +/datum/ammo/xeno/boiler_gas/acid/on_hit_mob(mob/moob, obj/projectile/proj) if(iscarbon(moob)) var/mob/living/carbon/carbon = moob if(carbon.status_flags & XENO_HOST && HAS_TRAIT(carbon, TRAIT_NESTED) || carbon.stat == DEAD) @@ -2877,7 +2915,7 @@ shrapnel_type = /obj/item/shard/shrapnel/bone_chips shrapnel_chance = 60 -/datum/ammo/xeno/bone_chips/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/bone_chips/on_hit_mob(mob/M, obj/projectile/P) if(iscarbon(M)) var/mob/living/carbon/C = M if((HAS_FLAG(C.status_flags, XENO_HOST) && HAS_TRAIT(C, TRAIT_NESTED)) || C.stat == DEAD) @@ -2907,7 +2945,7 @@ damage = 10 shrapnel_chance = 0 -/datum/ammo/xeno/bone_chips/spread/runner/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/xeno/bone_chips/spread/runner/on_hit_mob(mob/M, obj/projectile/P) if(iscarbon(M)) var/mob/living/carbon/C = M if((HAS_FLAG(C.status_flags, XENO_HOST) && HAS_TRAIT(C, TRAIT_NESTED)) || C.stat == DEAD) @@ -2928,12 +2966,12 @@ max_range = 4 accuracy = HIT_ACCURACY_TIER_MAX -/datum/ammo/xeno/oppressor_tail/on_bullet_generation(obj/item/projectile/generated_projectile, mob/bullet_generator) +/datum/ammo/xeno/oppressor_tail/on_bullet_generation(obj/projectile/generated_projectile, mob/bullet_generator) //The projectile has no icon, so the overlay shows up in FRONT of the projectile, and the beam connects to it in the middle. var/image/hook_overlay = new(icon = 'icons/effects/beam.dmi', icon_state = "oppressor_tail_hook", layer = BELOW_MOB_LAYER) generated_projectile.overlays += hook_overlay -/datum/ammo/xeno/oppressor_tail/on_hit_mob(mob/target, obj/item/projectile/fired_proj) +/datum/ammo/xeno/oppressor_tail/on_hit_mob(mob/target, obj/projectile/fired_proj) var/mob/living/carbon/xenomorph/xeno_firer = fired_proj.firer if(xeno_firer.can_not_harm(target)) return @@ -2974,7 +3012,7 @@ shell_speed = AMMO_SPEED_TIER_2 shrapnel_chance = 5 -/datum/ammo/bullet/shrapnel/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/bullet/shrapnel/on_hit_obj(obj/O, obj/projectile/P) if(istype(O, /obj/structure/barricade)) var/obj/structure/barricade/B = O B.health -= rand(2, 5) @@ -2999,7 +3037,7 @@ shell_speed = AMMO_SPEED_TIER_3//she fast af boi penetration = ARMOR_PENETRATION_TIER_5 -/datum/ammo/bullet/shrapnel/hornet_rounds/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/shrapnel/hornet_rounds/on_hit_mob(mob/M, obj/projectile/P) . = ..() M.AddComponent(/datum/component/bonus_damage_stack, 10, world.time) @@ -3085,7 +3123,7 @@ shrapnel_chance = SHRAPNEL_CHANCE_TIER_2 accuracy = HIT_ACCURACY_TIER_MAX -/datum/ammo/bullet/shrapnel/jagged/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/bullet/shrapnel/jagged/on_hit_mob(mob/M, obj/projectile/P) if(isxeno(M)) M.apply_effect(0.4, SLOW) @@ -3097,7 +3135,8 @@ /datum/ammo/bullet/shrapnel/gau //for the GAU to have a impact bullet instead of firecrackers name = "30mm Multi-Purpose shell" - damage = 115 //More damaging, but 2x less shells and low AP + damage = 1 // ALL DAMAGE IS IN dropship_ammo SO WE CAN DEAL DAMAGE TO RESTING MOBS, these will still remain however so that we can get cause_data and status effects. + damage_type = BRUTE penetration = ARMOR_PENETRATION_TIER_2 accuracy = HIT_ACCURACY_TIER_MAX max_range = 0 @@ -3106,7 +3145,7 @@ /datum/ammo/bullet/shrapnel/gau/at name = "30mm Anti-Tank shell" - damage = 80 //Standard AP vs standard. (more AP for less damage) + damage = 1 // ALL DAMAGE IS IN dropship_ammo SO WE CAN DEAL DAMAGE TO RESTING MOBS, these will still remain however so that we can get cause_data and status effects. penetration = ARMOR_PENETRATION_TIER_8 accuracy = HIT_ACCURACY_TIER_MAX /* @@ -3147,16 +3186,16 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/flamethrower/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/flamethrower/on_hit_mob(mob/M, obj/projectile/P) drop_flame(get_turf(M), P.weapon_cause_data) -/datum/ammo/flamethrower/on_hit_obj(obj/O, obj/item/projectile/P) +/datum/ammo/flamethrower/on_hit_obj(obj/O, obj/projectile/P) drop_flame(get_turf(O), P.weapon_cause_data) -/datum/ammo/flamethrower/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/flamethrower/on_hit_turf(turf/T, obj/projectile/P) drop_flame(T, P.weapon_cause_data) -/datum/ammo/flamethrower/do_at_max_range(obj/item/projectile/P) +/datum/ammo/flamethrower/do_at_max_range(obj/projectile/P) drop_flame(get_turf(P), P.weapon_cause_data) /datum/ammo/flamethrower/tank_flamer @@ -3227,22 +3266,22 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary) )) -/datum/ammo/flare/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/flare/on_hit_mob(mob/M,obj/projectile/P) drop_flare(get_turf(M), P, P.firer) -/datum/ammo/flare/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/flare/on_hit_obj(obj/O,obj/projectile/P) drop_flare(get_turf(P), P, P.firer) -/datum/ammo/flare/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/flare/on_hit_turf(turf/T, obj/projectile/P) if(T.density && isturf(P.loc)) drop_flare(P.loc, P, P.firer) else drop_flare(T, P, P.firer) -/datum/ammo/flare/do_at_max_range(obj/item/projectile/P, mob/firer) +/datum/ammo/flare/do_at_max_range(obj/projectile/P, mob/firer) drop_flare(get_turf(P), P, P.firer) -/datum/ammo/flare/proc/drop_flare(turf/T, obj/item/projectile/fired_projectile, mob/firer) +/datum/ammo/flare/proc/drop_flare(turf/T, obj/projectile/fired_projectile, mob/firer) var/obj/item/device/flashlight/flare/G = new flare_type(T) var/matrix/rotation = matrix() rotation.Turn(fired_projectile.angle - 90) @@ -3256,7 +3295,7 @@ flare_type = /obj/item/device/flashlight/flare/signal/gun handful_type = /obj/item/device/flashlight/flare/signal -/datum/ammo/flare/signal/drop_flare(turf/T, obj/item/projectile/fired_projectile, mob/firer) +/datum/ammo/flare/signal/drop_flare(turf/T, obj/projectile/fired_projectile, mob/firer) var/obj/item/device/flashlight/flare/signal/gun/signal_flare = ..() signal_flare.activate_signal(firer) if(istype(fired_projectile.shot_from, /obj/item/weapon/gun/flare)) @@ -3294,7 +3333,7 @@ if(istype(target_organ)) target_organ.embed(new can_type) -/datum/ammo/souto/on_hit_mob(mob/M, obj/item/projectile/P) +/datum/ammo/souto/on_hit_mob(mob/M, obj/projectile/P) if(!M || M == P.firer) return if(M.throw_mode && !M.get_active_hand()) //empty active hand and we're in throw mode. If so we catch the can. if(!M.is_mob_incapacitated()) // People who are not able to catch cannot catch. @@ -3315,25 +3354,25 @@ if(P.contents.len) drop_can(P.loc, P) //We make a can at the location. -/datum/ammo/souto/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/souto/on_hit_obj(obj/O,obj/projectile/P) drop_can(P.loc, P) //We make a can at the location. -/datum/ammo/souto/on_hit_turf(turf/T, obj/item/projectile/P) +/datum/ammo/souto/on_hit_turf(turf/T, obj/projectile/P) drop_can(P.loc, P) //We make a can at the location. -/datum/ammo/souto/do_at_max_range(obj/item/projectile/P) +/datum/ammo/souto/do_at_max_range(obj/projectile/P) drop_can(P.loc, P) //We make a can at the location. -/datum/ammo/souto/on_shield_block(mob/M, obj/item/projectile/P) +/datum/ammo/souto/on_shield_block(mob/M, obj/projectile/P) drop_can(P.loc, P) //We make a can at the location. -/datum/ammo/souto/proc/drop_can(loc, obj/item/projectile/P) +/datum/ammo/souto/proc/drop_can(loc, obj/projectile/P) if(P.contents.len) for(var/obj/item/I in P.contents) I.forceMove(loc) randomize_projectile(P) -/datum/ammo/souto/proc/randomize_projectile(obj/item/projectile/P) +/datum/ammo/souto/proc/randomize_projectile(obj/projectile/P) shrapnel_type = pick(typesof(/obj/item/reagent_container/food/drinks/cans/souto)-/obj/item/reagent_container/food/drinks/cans/souto) /datum/ammo/grenade_container @@ -3348,19 +3387,19 @@ accuracy = HIT_ACCURACY_TIER_3 max_range = 6 -/datum/ammo/grenade_container/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/grenade_container/on_hit_mob(mob/M,obj/projectile/P) drop_nade(P) -/datum/ammo/grenade_container/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/grenade_container/on_hit_obj(obj/O,obj/projectile/P) drop_nade(P) -/datum/ammo/grenade_container/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/grenade_container/on_hit_turf(turf/T,obj/projectile/P) drop_nade(P) -/datum/ammo/grenade_container/do_at_max_range(obj/item/projectile/P) +/datum/ammo/grenade_container/do_at_max_range(obj/projectile/P) drop_nade(P) -/datum/ammo/grenade_container/proc/drop_nade(obj/item/projectile/P) +/datum/ammo/grenade_container/proc/drop_nade(obj/projectile/P) var/turf/T = get_turf(P) var/obj/item/explosive/grenade/G = new nade_type(T) G.visible_message(SPAN_WARNING("\A [G] lands on [T]!")) @@ -3387,16 +3426,16 @@ accuracy = HIT_ACCURACY_TIER_3 max_range = 6 -/datum/ammo/hugger_container/on_hit_mob(mob/M,obj/item/projectile/P) +/datum/ammo/hugger_container/on_hit_mob(mob/M,obj/projectile/P) spawn_hugger(get_turf(P)) -/datum/ammo/hugger_container/on_hit_obj(obj/O,obj/item/projectile/P) +/datum/ammo/hugger_container/on_hit_obj(obj/O,obj/projectile/P) spawn_hugger(get_turf(P)) -/datum/ammo/hugger_container/on_hit_turf(turf/T,obj/item/projectile/P) +/datum/ammo/hugger_container/on_hit_turf(turf/T,obj/projectile/P) spawn_hugger(get_turf(P)) -/datum/ammo/hugger_container/do_at_max_range(obj/item/projectile/P) +/datum/ammo/hugger_container/do_at_max_range(obj/projectile/P) spawn_hugger(get_turf(P)) /datum/ammo/hugger_container/proc/spawn_hugger(turf/T) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 0b54d973549a..88250e6a77ea 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -54,7 +54,7 @@ Ammo will be replaced on New() for things that do not use mags.**/ var/datum/ammo/ammo = null ///What is currently in the chamber. Most guns will want something in the chamber upon creation. - var/obj/item/projectile/in_chamber = null + var/obj/projectile/in_chamber = null /*Ammo mags may or may not be internal, though the difference is a few additional variables. If they are not internal, don't call on those unique vars. This is done for quicker pathing. Just keep in mind most mags aren't internal, though some are. This is also the default magazine path loaded into a projectile weapon for reverse lookups on New(). Leave this null to do your own thing.*/ @@ -229,6 +229,8 @@ VAR_PROTECTED/start_semiauto = TRUE /// If this gun should spawn with automatic fire. Protected due to it never needing to be edited. VAR_PROTECTED/start_automatic = FALSE + /// The type of projectile that this gun should shoot + var/projectile_type = /obj/projectile /// The multiplier for how much slower this should fire in automatic mode. 1 is normal, 1.2 is 20% slower, 2 is 100% slower, etc. Protected due to it never needing to be edited. VAR_PROTECTED/autofire_slow_mult = 1 @@ -501,8 +503,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time if(fire_delay_group && delay_left > 0) - for(var/group in fire_delay_group) - LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) + LAZYSET(user.fire_delay_next_fire, src, world.time + delay_left) if(slot in list(WEAR_L_HAND, WEAR_R_HAND)) set_gun_user(user) @@ -521,8 +522,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time if(fire_delay_group && delay_left > 0) - for(var/group in fire_delay_group) - LAZYSET(user.fire_delay_next_fire, group, world.time + delay_left) + LAZYSET(user.fire_delay_next_fire, src, world.time + delay_left) unwield(user) set_gun_user(null) @@ -952,7 +952,7 @@ and you're good to go. if(active_attachable.current_rounds > 0) //If it's still got ammo and stuff. active_attachable.current_rounds-- - var/obj/item/projectile/bullet = create_bullet(active_attachable.ammo, initial(name)) + var/obj/projectile/bullet = create_bullet(active_attachable.ammo, initial(name)) // For now, only bullet traits from the attachment itself will apply to its projectiles for(var/entry in active_attachable.traits_to_give_attached) var/list/L @@ -972,7 +972,7 @@ and you're good to go. else return ready_in_chamber()//We're not using the active attachable, we must use the active mag if there is one. -/obj/item/weapon/gun/proc/apply_traits(obj/item/projectile/P) +/obj/item/weapon/gun/proc/apply_traits(obj/projectile/P) // Apply bullet traits from gun for(var/entry in traits_to_give) var/list/L @@ -1019,7 +1019,7 @@ and you're good to go. if(isliving(loc)) var/mob/M = loc weapon_source_mob = M - var/obj/item/projectile/P = new /obj/item/projectile(src, create_cause_data(bullet_source, weapon_source_mob)) + var/obj/projectile/P = new projectile_type(src, create_cause_data(bullet_source, weapon_source_mob)) P.generate_bullet(chambered, 0, NO_FLAGS) return P @@ -1053,14 +1053,14 @@ and you're good to go. return in_chamber //Returns the projectile if it's actually successful. -/obj/item/weapon/gun/proc/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/proc/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) if(active_attachable) //Attachables don't chamber rounds, so we want to delete it right away. qdel(projectile_to_fire) //Getting rid of it. Attachables only use ammo after the cycle is over. if(refund) active_attachable.current_rounds++ //Refund the bullet. return 1 -/obj/item/weapon/gun/proc/clear_jam(obj/item/projectile/projectile_to_fire, mob/user as mob) //Guns jamming, great. +/obj/item/weapon/gun/proc/clear_jam(obj/projectile/projectile_to_fire, mob/user as mob) //Guns jamming, great. flags_gun_features &= ~GUN_BURST_FIRING // Also want to turn off bursting, in case that was on. It probably was. delete_bullet(projectile_to_fire, 1) //We're going to clear up anything inside if we need to. //If it's a regular bullet, we're just going to keep it chambered. @@ -1109,27 +1109,20 @@ and you're good to go. if(PB_burst_bullets_fired) //Has a burst been carried over from a PB? PB_burst_bullets_fired = 0 //Don't need this anymore. The torch is passed. - //Dual wielding. Do we have a gun in the other hand, is it loaded, and is it the same category? + //Dual wielding. Do we have a gun in the other hand and is it the same category? + var/obj/item/weapon/gun/akimbo = user.get_inactive_hand() if(!reflex && !dual_wield && user) - var/obj/item/weapon/gun/akimbo = user.get_inactive_hand() if(istype(akimbo) && akimbo.gun_category == gun_category && !(akimbo.flags_gun_features & GUN_WIELDED_FIRING_ONLY)) - /*Does the offhand weapon have a loaded selected attachable gun or ammo? This doesn't necessarily mean the offhand gun can be *fired*, - an unpumped shotgun or opened double-barrel or a revolver with a spun cylinder would pass it, but it's less indiscrimate than it used to be.*/ - if(akimbo.active_attachable?.current_rounds || akimbo.has_ammunition()) - dual_wield = TRUE //increases recoil, increases scatter, and reduces accuracy. - if(user?.client?.prefs?.toggle_prefs & TOGGLE_ALTERNATING_DUAL_WIELD) - user.swap_hand() - else - akimbo.Fire(target,user,params, 0, TRUE) + dual_wield = TRUE //increases recoil, increases scatter, and reduces accuracy. - var/fire_return = handle_fire(target, user, params, reflex, dual_wield, check_for_attachment_fire) + var/fire_return = handle_fire(target, user, params, reflex, dual_wield, check_for_attachment_fire, akimbo) if(!fire_return) return fire_return flags_gun_features &= ~GUN_BURST_FIRING // We always want to turn off bursting when we're done, mainly for when we break early mid-burstfire. return AUTOFIRE_CONTINUE -/obj/item/weapon/gun/proc/handle_fire(atom/target, mob/living/user, params, reflex = FALSE, dual_wield, check_for_attachment_fire) +/obj/item/weapon/gun/proc/handle_fire(atom/target, mob/living/user, params, reflex = FALSE, dual_wield, check_for_attachment_fire, akimbo) var/turf/curloc = get_turf(user) //In case the target or we are expired. var/turf/targloc = get_turf(target) @@ -1139,7 +1132,7 @@ and you're good to go. return TRUE //The gun should return the bullet that it already loaded from the end cycle of the last Fire(). - var/obj/item/projectile/projectile_to_fire = load_into_chamber(user) //Load a bullet in or check for existing one. + var/obj/projectile/projectile_to_fire = load_into_chamber(user) //Load a bullet in or check for existing one. if(!projectile_to_fire) //If there is nothing to fire, click. click_empty(user) flags_gun_features &= ~GUN_BURST_FIRING @@ -1200,7 +1193,7 @@ and you're good to go. //This is where the projectile leaves the barrel and deals with projectile code only. //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv in_chamber = null // It's not in the gun anymore - INVOKE_ASYNC(projectile_to_fire, TYPE_PROC_REF(/obj/item/projectile, fire_at), target, user, src, projectile_to_fire?.ammo?.max_range, bullet_velocity, original_target) + INVOKE_ASYNC(projectile_to_fire, TYPE_PROC_REF(/obj/projectile, fire_at), target, user, src, projectile_to_fire?.ammo?.max_range, bullet_velocity, original_target) projectile_to_fire = null // Important: firing might have made projectile collide early and ALREADY have deleted it. We clear it too. //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1208,11 +1201,20 @@ and you're good to go. active_attachable.last_fired = world.time else last_fired = world.time + var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time + if(fire_delay_group && delay_left > 0) + LAZYSET(user.fire_delay_next_fire, src, world.time + delay_left) SEND_SIGNAL(user, COMSIG_MOB_FIRED_GUN, src) . = TRUE shots_fired++ + if(dual_wield) + if(user?.client?.prefs?.toggle_prefs & TOGGLE_ALTERNATING_DUAL_WIELD) + user.swap_hand() + else + INVOKE_ASYNC(akimbo, PROC_REF(Fire), target, user, params, 0, TRUE) + else return TRUE @@ -1238,7 +1240,7 @@ and you're good to go. return TRUE -/obj/item/weapon/gun/attack(mob/living/attacked_mob, mob/living/user) +/obj/item/weapon/gun/attack(mob/living/attacked_mob, mob/living/user, dual_wield) if(active_attachable && (active_attachable.flags_attach_features & ATTACH_MELEE)) //this is expected to do something in melee. active_attachable.last_fired = world.time active_attachable.fire_attachment(attacked_mob, src, user) @@ -1268,7 +1270,7 @@ and you're good to go. if(active_attachable && !(active_attachable.flags_attach_features & ATTACH_PROJECTILE)) active_attachable.activate_attachment(src, null, TRUE)//We're not firing off a nade into our mouth. - var/obj/item/projectile/projectile_to_fire = load_into_chamber(user) + var/obj/projectile/projectile_to_fire = load_into_chamber(user) if(projectile_to_fire) //We actually have a projectile, let's move on. user.visible_message(SPAN_WARNING("[user] pulls the trigger!")) var/actual_sound @@ -1350,6 +1352,11 @@ and you're good to go. else active_attachable.activate_attachment(src, null, TRUE)//No way. + //Dual wielding. Do we have a gun in the other hand and is it the same category? + var/obj/item/weapon/gun/akimbo = user.get_inactive_hand() + if(!dual_wield && user) + if(istype(akimbo) && akimbo.gun_category == gun_category && !(akimbo.flags_gun_features & GUN_WIELDED_FIRING_ONLY)) + dual_wield = TRUE //increases recoil, increases scatter, and reduces accuracy. var/bullets_to_fire = 1 @@ -1368,7 +1375,7 @@ and you're good to go. if(QDELETED(attacked_mob)) //Target deceased. break - var/obj/item/projectile/projectile_to_fire = load_into_chamber(user) + var/obj/projectile/projectile_to_fire = load_into_chamber(user) if(!projectile_to_fire) click_empty(user) break @@ -1392,16 +1399,16 @@ and you're good to go. SPAN_WARNING("You fire [src] point blank at [attacked_mob]!"), null, null, CHAT_TYPE_WEAPON_USE) user.track_shot(initial(name)) - apply_bullet_effects(projectile_to_fire, user, bullets_fired) //We add any damage effects that we need. + apply_bullet_effects(projectile_to_fire, user, bullets_fired, dual_wield) //We add any damage effects that we need. SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) SEND_SIGNAL(user, COMSIG_BULLET_DIRECT_HIT, attacked_mob) simulate_recoil(1, user) if(projectile_to_fire.ammo.bonus_projectiles_amount) - var/obj/item/projectile/BP + var/obj/projectile/BP for(var/i in 1 to projectile_to_fire.ammo.bonus_projectiles_amount) - BP = new /obj/item/projectile(attacked_mob.loc, create_cause_data(initial(name), user)) + BP = new /obj/projectile(attacked_mob.loc, create_cause_data(initial(name), user)) BP.generate_bullet(GLOB.ammo_list[projectile_to_fire.ammo.bonus_projectiles_type], 0, NO_FLAGS) BP.accuracy = round(BP.accuracy * projectile_to_fire.accuracy/initial(projectile_to_fire.accuracy)) //Modifies accuracy of pellets per fire_bonus_projectiles. BP.damage *= damage_buff @@ -1434,9 +1441,18 @@ and you're good to go. active_attachable.last_fired = world.time else last_fired = world.time + var/delay_left = (last_fired + fire_delay + additional_fire_group_delay) - world.time + if(fire_delay_group && delay_left > 0) + LAZYSET(user.fire_delay_next_fire, src, world.time + delay_left) SEND_SIGNAL(user, COMSIG_MOB_FIRED_GUN, src) + if(dual_wield) + if(user?.client?.prefs?.toggle_prefs & TOGGLE_ALTERNATING_DUAL_WIELD) + user.swap_hand() + else + INVOKE_ASYNC(akimbo, PROC_REF(attack), attacked_mob, user, TRUE) + if(EXECUTION_CHECK) //Continue execution if on the correct intent. Accounts for change via the earlier do_after user.visible_message(SPAN_DANGER("[user] has executed [attacked_mob] with [src]!"), SPAN_DANGER("You have executed [attacked_mob] with [src]!"), message_flags = CHAT_TYPE_WEAPON_USE) attacked_mob.death() @@ -1546,9 +1562,20 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed if(fire_delay_group) for(var/group in fire_delay_group) - var/group_next_fire = LAZYACCESS(user.fire_delay_next_fire, group) - if(!isnull(group_next_fire) && world.time < group_next_fire) - return + for(var/obj/item/weapon/gun/cycled_gun in user.fire_delay_next_fire) + if(cycled_gun == src) + continue + + for(var/cycled_gun_group in cycled_gun.fire_delay_group) + if(group != cycled_gun_group) + continue + + if(user.fire_delay_next_fire[cycled_gun] < world.time) + user.fire_delay_next_fire -= cycled_gun + continue + + return + return TRUE /obj/item/weapon/gun/proc/click_empty(mob/user) @@ -1572,7 +1599,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed to_chat(user, SPAN_DANGER("[current_mag.current_rounds][chambered ? "+1" : ""] / [current_mag.max_rounds] ROUNDS REMAINING")) //This proc applies some bonus effects to the shot/makes the message when a bullet is actually fired. -/obj/item/weapon/gun/proc/apply_bullet_effects(obj/item/projectile/projectile_to_fire, mob/user, reflex = 0, dual_wield = 0) +/obj/item/weapon/gun/proc/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, reflex = 0, dual_wield = 0) var/actual_sound = fire_sound if(isnull(fire_sound)) actual_sound = pick(fire_sounds) @@ -1649,7 +1676,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed return 1 -/obj/item/weapon/gun/proc/simulate_scatter(obj/item/projectile/projectile_to_fire, atom/target, turf/curloc, turf/targloc, mob/user, bullets_fired = 1) +/obj/item/weapon/gun/proc/simulate_scatter(obj/projectile/projectile_to_fire, atom/target, turf/curloc, turf/targloc, mob/user, bullets_fired = 1) var/fire_angle = Get_Angle(curloc, targloc) var/total_scatter_angle = projectile_to_fire.scatter @@ -1916,8 +1943,14 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed target = src.target if(!user) user = gun_user + if(!target || !user) + return NONE return Fire(target, user, params, reflex, dual_wield) /// Setter proc for fa_firing /obj/item/weapon/gun/proc/set_auto_firing(auto = FALSE) fa_firing = auto + +/// Getter for gun_user +/obj/item/weapon/gun/proc/get_gun_user() + return gun_user diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 19da628c7922..698ea8ef5957 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -331,6 +331,17 @@ Defined in conflicts.dm of the #defines folder. attach_icon = "co2_bayonet_a" var/filled = FALSE +/obj/item/attachable/bayonet/rmc + name = "\improper L5 bayonet" + desc = "The standard-issue bayonet of the RMC, the L5 is balanced to also function as an effective throwing knife." + icon_state = "upp_bayonet" // PLACEHOLDER PLEASE REPLACE + item_state = "combat_knife" + attach_icon = "upp_bayonet_a" // PLACEHOLDER PLEASE REPLACE + throwforce = MELEE_FORCE_TIER_10 //doubled by throwspeed to 100 + throw_speed = SPEED_REALLY_FAST + throw_range = 7 + pry_delay = 1 SECONDS + /obj/item/attachable/bayonet/co2/update_icon() icon_state = "co2_knife[filled ? "-f" : ""]" attach_icon = "co2_bayonet[filled ? "-f" : ""]_a" @@ -437,6 +448,39 @@ Defined in conflicts.dm of the #defines folder. accuracy_mod = HIT_ACCURACY_MULT_TIER_1 scatter_mod = -SCATTER_AMOUNT_TIER_8 +/obj/item/attachable/f90_dmr_barrel + name = "f90 barrel" + desc = "This isn't supposed to be seperated from the gun, how'd this happen?" + icon_state = "aug_dmr_barrel_a" + attach_icon = "aug_dmr_barrel_a" + slot = "muzzle" + wield_delay_mod = WIELD_DELAY_NONE + flags_attach_features = NO_FLAGS + melee_mod = 0 //Integrated attachment for visuals, stats handled on main gun. + size_mod = 0 + +/obj/item/attachable/f90_shotgun_barrel + name = "f90 barrel" + desc = "This isn't supposed to be seperated from the gun, how'd this happen?" + icon_state = "aug_mkey_barrel_a" + attach_icon = "aug_mkey_barrel_a" + slot = "muzzle" + wield_delay_mod = WIELD_DELAY_NONE + flags_attach_features = NO_FLAGS + melee_mod = 0 //Integrated attachment for visuals, stats handled on main gun. + size_mod = 0 + +/obj/item/attachable/l56a2_smartgun + name = "l56a2 barrel" + desc = "This isn't supposed to be seperated from the gun, how'd this happen?" + icon_state = "magsg_barrel_a" + attach_icon = "magsg_barrel_a" + slot = "muzzle" + wield_delay_mod = WIELD_DELAY_NONE + flags_attach_features = NO_FLAGS + melee_mod = 0 //Integrated attachment for visuals, stats handled on main gun. + size_mod = 0 + /obj/item/attachable/sniperbarrel name = "sniper barrel" icon = 'icons/obj/items/weapons/guns/attachments/barrel.dmi' @@ -451,6 +495,11 @@ Defined in conflicts.dm of the #defines folder. accuracy_mod = HIT_ACCURACY_MULT_TIER_3 scatter_mod = -SCATTER_AMOUNT_TIER_8 +/obj/item/attachable/sniperbarrel/vulture + name = "\improper M707 barrel" + icon_state = "vulture_barrel" + hud_offset_mod = -1 + /obj/item/attachable/m60barrel name = "M60 barrel" icon = 'icons/obj/items/weapons/guns/attachments/barrel.dmi' @@ -1043,6 +1092,9 @@ Defined in conflicts.dm of the #defines folder. wield_delay_mod = 0 dynamic_aim_slowdown = SLOWDOWN_ADS_MINISCOPE_DYNAMIC +/obj/item/attachable/scope/mini/f90 + dynamic_aim_slowdown = SLOWDOWN_ADS_NONE + /obj/item/attachable/scope/mini/flaregun/New() ..() delay_mod = 0 @@ -1125,7 +1177,474 @@ Defined in conflicts.dm of the #defines folder. attach_icon = "slavicscope" desc = "Oppa! How did you get this off glorious Stalin weapon? Blyat, put back on and do job tovarish. Yankee is not shoot self no?" +/obj/item/attachable/vulture_scope // not a subtype of scope because it uses basically none of the scope's features + name = "\improper M707 \"Vulture\" scope" + icon = 'icons/obj/items/weapons/guns/attachments/rail.dmi' + icon_state = "vulture_scope" + attach_icon = "vulture_scope" + desc = "A powerful yet obtrusive sight for the M707 anti-materiel rifle." // Can't be seen normally, anyway + slot = "rail" + aim_speed_mod = SLOWDOWN_ADS_SCOPE //Extra slowdown when wielded + wield_delay_mod = WIELD_DELAY_FAST + flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attachment_action_type = /datum/action/item_action/toggle + /// Weakref to the user of the scope + var/datum/weakref/scope_user + /// If the scope is currently in use + var/scoping = FALSE + /// How far out the player should see by default + var/start_scope_range = 12 + /// The bare minimum distance the scope can be from the player + var/min_scope_range = 12 + /// The maximum distance the scope can be from the player + var/max_scope_range = 25 + /// How far in the perpendicular axis the scope can move in either direction + var/perpendicular_scope_range = 7 + /// How far in each direction the scope should see. Default human view size is 7 + var/scope_viewsize = 7 + /// The current X position of the scope within the sniper's view box. 0 is center + var/scope_offset_x = 0 + /// The current Y position of the scope within the sniper's view box. 0 is center + var/scope_offset_y = 0 + /// How far in any given direction the scope can drift + var/scope_drift_max = 2 + /// The current X coord position of the scope camera + var/scope_x = 0 + /// The current Y coord position of the scope camera + var/scope_y = 0 + /// Ref to the scope screen element + var/atom/movable/screen/vulture_scope/scope_element + /// If the gun should experience scope drift + var/scope_drift = TRUE + /// % chance for the scope to drift on process with a spotter using their scope + var/spotted_drift_chance = 33 + /// % chance for the scope to drift on process without a spotter using their scope + var/unspotted_drift_chance = 100 + /// If the scope should use do_afters for adjusting and moving the sight + var/slow_use = TRUE + /// Cooldown for interacting with the scope's adjustment or position + COOLDOWN_DECLARE(scope_interact_cd) + /// If the user is currently holding their breath + var/holding_breath = FALSE + /// Cooldown for after holding your breath + COOLDOWN_DECLARE(hold_breath_cd) + /// How long you can hold your breath for + var/breath_time = 4 SECONDS + /// How long the cooldown for holding your breath is, only starts after breath_time finishes + var/breath_cooldown_time = 12 SECONDS + /// The initial dir of the scope user when scoping in + var/scope_user_initial_dir + /// How much to increase darkness view by + var/darkness_view = 12 + /// If there is currently a spotter using the linked spotting scope + var/spotter_spotting = FALSE + +/obj/item/attachable/vulture_scope/Initialize(mapload, ...) + . = ..() + START_PROCESSING(SSobj, src) + select_gamemode_skin(type) + +/obj/item/attachable/vulture_scope/Destroy() + STOP_PROCESSING(SSobj, src) + on_unscope() + QDEL_NULL(scope_element) + return ..() +/obj/item/attachable/vulture_scope/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "VultureScope", name) + ui.open() + +/obj/item/attachable/vulture_scope/ui_state(mob/user) + return GLOB.not_incapacitated_state + +/obj/item/attachable/vulture_scope/ui_data(mob/user) + var/list/data = list() + data["offset_x"] = scope_offset_x + data["offset_y"] = scope_offset_y + data["valid_offset_dirs"] = get_offset_dirs() + data["scope_cooldown"] = !COOLDOWN_FINISHED(src, scope_interact_cd) + data["valid_adjust_dirs"] = get_adjust_dirs() + data["breath_cooldown"] = !COOLDOWN_FINISHED(src, hold_breath_cd) + data["breath_recharge"] = get_breath_recharge() + data["spotter_spotting"] = spotter_spotting + data["current_scope_drift"] = get_scope_drift_chance() + data["time_to_fire_remaining"] = 1 - (get_time_to_fire() / FIRE_DELAY_TIER_VULTURE) + return data + +/obj/item/attachable/vulture_scope/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + + switch(action) + if("adjust_dir") + var/direction = params["offset_dir"] + if(!(direction in alldirs) || !scoping || !scope_user) + return + + var/mob/scoper = scope_user.resolve() + if(slow_use) + if(!COOLDOWN_FINISHED(src, scope_interact_cd)) + return + to_chat(scoper, SPAN_NOTICE("You begin adjusting [src]...")) + COOLDOWN_START(src, scope_interact_cd, 0.5 SECONDS) + if(!do_after(scoper, 0.5 SECONDS)) + return + + adjust_offset(direction) + . = TRUE + + if("adjust_position") + var/direction = params["position_dir"] + if(!(direction in alldirs) || !scoping || !scope_user) + return + + var/mob/scoper = scope_user.resolve() + if(slow_use) + if(!COOLDOWN_FINISHED(src, scope_interact_cd)) + return + + to_chat(scoper, SPAN_NOTICE("You begin moving [src]...")) + COOLDOWN_START(src, scope_interact_cd, 1 SECONDS) + if(!do_after(scoper, 1 SECONDS)) + return + + adjust_position(direction) + . = TRUE + + if("hold_breath") + if(!COOLDOWN_FINISHED(src, hold_breath_cd) || holding_breath) + return + + hold_breath() + . = TRUE + +/obj/item/attachable/vulture_scope/process() + if(scope_element && prob(get_scope_drift_chance())) //every 6 seconds when unspotted, on average + scope_drift() + +/// Returns a number between 0 and 100 for the chance of the scope drifting on process() +/obj/item/attachable/vulture_scope/proc/get_scope_drift_chance() + if(!scope_drift || holding_breath) + return 0 + + if(spotter_spotting) + return spotted_drift_chance + + else + return unspotted_drift_chance + +/// Returns how many deciseconds until the gun is able to fire again +/obj/item/attachable/vulture_scope/proc/get_time_to_fire() + if(!istype(loc, /obj/item/weapon/gun/boltaction/vulture)) + return 0 + + var/obj/item/weapon/gun/boltaction/vulture/rifle = loc + if(!rifle.last_fired) + return 0 + + return (rifle.last_fired + rifle.get_fire_delay()) - world.time + +/obj/item/attachable/vulture_scope/activate_attachment(obj/item/weapon/gun/gun, mob/living/carbon/user, turn_off) + if(turn_off || scoping) + on_unscope() + return TRUE + + if(!scoping) + if(!(gun.flags_item & WIELDED)) + to_chat(user, SPAN_WARNING("You must hold [gun] with two hands to use [src].")) + return FALSE + + if(!HAS_TRAIT(gun, TRAIT_GUN_BIPODDED)) + to_chat(user, SPAN_WARNING("You must have a deployed bipod to use [src].")) + return FALSE + + on_scope() + return TRUE + +/obj/item/attachable/vulture_scope/proc/get_offset_dirs() + var/list/possible_dirs = alldirs.Copy() + if(scope_offset_x >= scope_drift_max) + possible_dirs -= list(NORTHEAST, EAST, SOUTHEAST) + else if(scope_offset_x <= -scope_drift_max) + possible_dirs -= list(NORTHWEST, WEST, SOUTHWEST) + + if(scope_offset_y >= scope_drift_max) + possible_dirs -= list(NORTHWEST, NORTH, NORTHEAST) + else if(scope_offset_y <= -scope_drift_max) + possible_dirs -= list(SOUTHWEST, SOUTH, SOUTHEAST) + + return possible_dirs + +/// Gets a list of valid directions to be able to adjust the reticle in +/obj/item/attachable/vulture_scope/proc/get_adjust_dirs() + if(!scoping) + return list() + var/list/possible_dirs = alldirs.Copy() + var/turf/current_turf = get_turf(src) + var/turf/scope_tile = locate(scope_x, scope_y, current_turf.z) + var/mob/scoper = scope_user.resolve() + if(!scoper) + return list() + + var/user_dir = scoper.dir + var/distance = get_dist(current_turf, scope_tile) + if(distance >= max_scope_range) + possible_dirs -= get_related_directions(user_dir) + + else if(distance <= min_scope_range) + possible_dirs -= get_related_directions(REVERSE_DIR(user_dir)) + + if((user_dir == EAST) || (user_dir == WEST)) + if(scope_y - current_turf.y >= perpendicular_scope_range) + possible_dirs -= get_related_directions(NORTH) + + else if(current_turf.y - scope_y >= perpendicular_scope_range) + possible_dirs -= get_related_directions(SOUTH) + + else + if(scope_x - current_turf.x >= perpendicular_scope_range) + possible_dirs -= get_related_directions(EAST) + + else if(current_turf.x - scope_x >= perpendicular_scope_range) + possible_dirs -= get_related_directions(WEST) + + return possible_dirs + +/// Adjusts the position of the reticle by a tile in a given direction +/obj/item/attachable/vulture_scope/proc/adjust_offset(direction = NORTH) + var/old_x = scope_offset_x + var/old_y = scope_offset_y + if((direction == NORTHEAST) || (direction == EAST) || (direction == SOUTHEAST)) + scope_offset_x = min(scope_offset_x + 1, scope_drift_max) + else if((direction == NORTHWEST) || (direction == WEST) || (direction == SOUTHWEST)) + scope_offset_x = max(scope_offset_x - 1, -scope_drift_max) + + if((direction == NORTHWEST) || (direction == NORTH) || (direction == NORTHEAST)) + scope_offset_y = min(scope_offset_y + 1, scope_drift_max) + else if((direction == SOUTHWEST) || (direction == SOUTH) || (direction == SOUTHEAST)) + scope_offset_y = max(scope_offset_y - 1, -scope_drift_max) + + recalculate_scope_offset(old_x, old_y) + +/// Adjusts the position of the scope by a tile in a given direction +/obj/item/attachable/vulture_scope/proc/adjust_position(direction = NORTH) + var/perpendicular_axis = "x" + var/mob/user = scope_user.resolve() + var/turf/user_turf = get_turf(user) + if((user.dir == EAST) || (user.dir == WEST)) + perpendicular_axis = "y" + + if((direction == NORTHEAST) || (direction == EAST) || (direction == SOUTHEAST)) + scope_x++ + scope_x = user_turf.x + axis_math(user, perpendicular_axis, "x", direction) + else if((direction == NORTHWEST) || (direction == WEST) || (direction == SOUTHWEST)) + scope_x-- + scope_x = user_turf.x + axis_math(user, perpendicular_axis, "x", direction) + if((direction == NORTHWEST) || (direction == NORTH) || (direction == NORTHEAST)) + scope_y++ + scope_y = user_turf.y + axis_math(user, perpendicular_axis, "y", direction) + else if((direction == SOUTHWEST) || (direction == SOUTH) || (direction == SOUTHEAST)) + scope_y-- + scope_y = user_turf.y + axis_math(user, perpendicular_axis, "y", direction) + + SEND_SIGNAL(src, COMSIG_VULTURE_SCOPE_MOVED) + + recalculate_scope_pos() + +/// Figures out which direction the scope should move based on user direction and their input +/obj/item/attachable/vulture_scope/proc/axis_math(mob/user, perpendicular_axis = "x", modifying_axis = "x", direction = NORTH) + var/turf/user_turf = get_turf(user) + var/inverse = FALSE + if((user.dir == SOUTH) || (user.dir == WEST)) + inverse = TRUE + var/user_offset + if(modifying_axis == "x") + user_offset = scope_x - user_turf.x + + else + user_offset = scope_y - user_turf.y + + if(perpendicular_axis == modifying_axis) + return clamp(user_offset, -perpendicular_scope_range, perpendicular_scope_range) + + else + return clamp(abs(user_offset), min_scope_range, max_scope_range) * (inverse ? -1 : 1) + +/// Recalculates where the reticle should be inside the scope +/obj/item/attachable/vulture_scope/proc/recalculate_scope_offset(old_x = 0, old_y = 0) + var/mob/scoper = scope_user.resolve() + if(!scoper.client) + return + + var/x_to_set = (scope_offset_x >= 0 ? "+" : "") + "[scope_offset_x]" + var/y_to_set = (scope_offset_y >= 0 ? "+" : "") + "[scope_offset_y]" + scope_element.screen_loc = "CENTER[x_to_set],CENTER[y_to_set]" + +/// Recalculates where the scope should be in relation to the user +/obj/item/attachable/vulture_scope/proc/recalculate_scope_pos() + if(!scope_user) + return + var/turf/current_turf = get_turf(src) + var/x_off = scope_x - current_turf.x + var/y_off = scope_y - current_turf.y + var/pixels_per_tile = 32 + var/mob/scoper = scope_user.resolve() + if(!scoper.client) + return + + if(scoping) + scoper.client.pixel_x = x_off * pixels_per_tile + scoper.client.pixel_y = y_off * pixels_per_tile + else + scoper.client.pixel_x = 0 + scoper.client.pixel_y = 0 + +/// Handler for when the user begins scoping +/obj/item/attachable/vulture_scope/proc/on_scope() + var/turf/gun_turf = get_turf(src) + scope_x = gun_turf.x + scope_y = gun_turf.y + scope_offset_x = 0 + scope_offset_y = 0 + holding_breath = FALSE + + if(!isgun(loc)) + return + + var/obj/item/weapon/gun/gun = loc + var/mob/living/gun_user = gun.get_gun_user() + if(!gun_user) + return + + switch(gun_user.dir) + if(NORTH) + scope_y += start_scope_range + if(EAST) + scope_x += start_scope_range + if(SOUTH) + scope_y -= start_scope_range + if(WEST) + scope_x -= start_scope_range + + scope_user = WEAKREF(gun_user) + scope_user_initial_dir = gun_user.dir + scoping = TRUE + recalculate_scope_pos() + gun_user.overlay_fullscreen("vulture", /atom/movable/screen/fullscreen/vulture) + scope_element = new(src) + gun_user.client.screen += scope_element + gun_user.see_in_dark += darkness_view + gun_user.lighting_alpha = 127 + gun_user.sync_lighting_plane_alpha() + RegisterSignal(gun, list( + COMSIG_ITEM_DROPPED, + COMSIG_ITEM_UNWIELD, + ), PROC_REF(on_unscope)) + RegisterSignal(gun_user, COMSIG_MOB_UNDEPLOYED_BIPOD, PROC_REF(on_unscope)) + RegisterSignal(gun_user, COMSIG_MOB_MOVE_OR_LOOK, PROC_REF(on_mob_move_look)) + RegisterSignal(gun_user.client, COMSIG_PARENT_QDELETING, PROC_REF(on_unscope)) + +/// Handler for when the scope is deleted, dropped, etc. +/obj/item/attachable/vulture_scope/proc/on_unscope() + SIGNAL_HANDLER + if(!scope_user) + return + + var/mob/scoper = scope_user.resolve() + if(isgun(loc)) + UnregisterSignal(loc, list( + COMSIG_ITEM_DROPPED, + COMSIG_ITEM_UNWIELD, + )) + UnregisterSignal(scoper, list(COMSIG_MOB_UNDEPLOYED_BIPOD, COMSIG_MOB_MOVE_OR_LOOK)) + UnregisterSignal(scoper.client, COMSIG_PARENT_QDELETING) + stop_holding_breath() + scope_user_initial_dir = null + scoper.clear_fullscreen("vulture") + scoper.client.screen -= scope_element + scoper.see_in_dark -= darkness_view + scoper.lighting_alpha = 127 + scoper.sync_lighting_plane_alpha() + QDEL_NULL(scope_element) + recalculate_scope_pos() + scope_user = null + scoping = FALSE + if(scoper.client) + scoper.client.pixel_x = 0 + scoper.client.pixel_y = 0 + +/// Handler for if the mob moves or changes look direction +/obj/item/attachable/vulture_scope/proc/on_mob_move_look(mob/living/mover, actually_moving, direction, specific_direction) + SIGNAL_HANDLER + + if(actually_moving || (mover.dir != scope_user_initial_dir)) + on_unscope() + +/// Causes the scope to drift in a random direction by 1 tile +/obj/item/attachable/vulture_scope/proc/scope_drift(forced_dir) + var/dir_picked + if(!forced_dir) + dir_picked = pick(get_offset_dirs()) + else + dir_picked = forced_dir + + adjust_offset(dir_picked) + +/// Returns the turf that the sniper scope + reticle is currently focused on +/obj/item/attachable/vulture_scope/proc/get_viewed_turf() + RETURN_TYPE(/turf) + if(!scoping) + return null + var/turf/gun_turf = get_turf(src) + return locate(scope_x + scope_offset_x, scope_y + scope_offset_y, gun_turf.z) + +/// Lets the user start holding their breath, stopping gun sway for a short time +/obj/item/attachable/vulture_scope/proc/hold_breath() + if(!scope_user) + return + + var/mob/scoper = scope_user.resolve() + to_chat(scoper, SPAN_NOTICE("You hold your breath, steadying your scope...")) + holding_breath = TRUE + INVOKE_ASYNC(src, PROC_REF(tick_down_breath_scope)) + addtimer(CALLBACK(src, PROC_REF(stop_holding_breath)), breath_time) + +/// Slowly empties out the crosshair as the user's breath runs out +/obj/item/attachable/vulture_scope/proc/tick_down_breath_scope() + scope_element.icon_state = "vulture_steady_4" + sleep(breath_time * 0.25) + scope_element.icon_state = "vulture_steady_3" + sleep(breath_time * 0.25) + scope_element.icon_state = "vulture_steady_2" + sleep(breath_time * 0.25) + scope_element.icon_state = "vulture_steady_1" + +/// Stops the user from holding their breath, starting the cooldown +/obj/item/attachable/vulture_scope/proc/stop_holding_breath() + if(!scope_user || !holding_breath) + return + + var/mob/scoper = scope_user.resolve() + to_chat(scoper, SPAN_NOTICE("You breathe out, letting your scope sway.")) + holding_breath = FALSE + scope_element.icon_state = "vulture_unsteady" + COOLDOWN_START(src, hold_breath_cd, breath_cooldown_time) + +/// Returns a % of how much time until the user can still their breath again +/obj/item/attachable/vulture_scope/proc/get_breath_recharge() + return 1 - (COOLDOWN_TIMELEFT(src, hold_breath_cd) / breath_cooldown_time) + +/datum/action/item_action/vulture + +/datum/action/item_action/vulture/action_activate() + var/obj/item/weapon/gun/gun_holder = holder_item + var/obj/item/attachable/vulture_scope/scope = gun_holder.attachments["rail"] + if(!istype(scope)) + return + scope.tgui_interact(owner) // ======== Stock attachments ======== // @@ -1271,6 +1790,16 @@ Defined in conflicts.dm of the #defines folder. recoil_unwielded_mod = RECOIL_AMOUNT_TIER_5 scatter_unwielded_mod = SCATTER_AMOUNT_TIER_4 +/obj/item/attachable/stock/vulture + name = "\improper M707 heavy stock" + icon_state = "vulture_stock" + hud_offset_mod = 3 + +/obj/item/attachable/stock/vulture/Initialize(mapload, ...) + . = ..() + select_gamemode_skin(type) + // Doesn't give any stat additions due to the gun already having really good ones, and this is unremovable from the gun itself + /obj/item/attachable/stock/tactical name = "\improper MK221 tactical stock" desc = "A metal stock made for the MK221 tactical shotgun." @@ -2613,7 +3142,7 @@ Defined in conflicts.dm of the #defines folder. gun.last_fired = world.time gun.current_mag.reagents.remove_reagent(flamer_reagent.id, FLAME_REAGENT_USE_AMOUNT * fuel_per_projectile) - var/obj/item/projectile/P = new(src, create_cause_data(initial(name), user, src)) + var/obj/projectile/P = new(src, create_cause_data(initial(name), user, src)) var/datum/ammo/flamethrower/ammo_datum = new projectile_type ammo_datum.flamer_reagent_type = flamer_reagent.type P.generate_bullet(ammo_datum) @@ -2762,6 +3291,7 @@ Defined in conflicts.dm of the #defines folder. user.apply_effect(2, SLOW) /obj/item/attachable/bipod/proc/undeploy_bipod(obj/item/weapon/gun/G) + REMOVE_TRAIT(G, TRAIT_GUN_BIPODDED, "attached_bipod") bipod_deployed = FALSE accuracy_mod = -HIT_ACCURACY_MULT_TIER_5 scatter_mod = SCATTER_AMOUNT_TIER_9 @@ -2773,6 +3303,7 @@ Defined in conflicts.dm of the #defines folder. var/mob/living/user if(isliving(G.loc)) user = G.loc + SEND_SIGNAL(user, COMSIG_MOB_UNDEPLOYED_BIPOD) UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) if(G.flags_gun_features & GUN_SUPPORT_PLATFORM) @@ -2796,7 +3327,9 @@ Defined in conflicts.dm of the #defines folder. bipod_deployed = !bipod_deployed if(user) if(bipod_deployed) + ADD_TRAIT(G, TRAIT_GUN_BIPODDED, "attached_bipod") to_chat(user, SPAN_NOTICE("You deploy [src] [support ? "on [support]" : "on the ground"].")) + SEND_SIGNAL(user, COMSIG_MOB_DEPLOYED_BIPOD) playsound(user,'sound/items/m56dauto_rotate.ogg', 55, 1) accuracy_mod = HIT_ACCURACY_MULT_TIER_5 scatter_mod = -SCATTER_AMOUNT_TIER_10 @@ -2858,6 +3391,11 @@ Defined in conflicts.dm of the #defines folder. flags_attach_features = ATTACH_ACTIVATION +/obj/item/attachable/bipod/vulture + name = "heavy bipod" + desc = "A set of rugged telescopic poles to keep a weapon stabilized during firing." + icon_state = "bipod_m60" + attach_icon = "vulture_bipod" /obj/item/attachable/burstfire_assembly name = "burst fire assembly" diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index d58385d3edc0..6c94973997f5 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -693,15 +693,15 @@ DEFINES in setup.dm, referenced here. var/old_firemode = gun_firemode gun_firemode_list.len = 0 + if(start_automatic) + gun_firemode_list |= GUN_FIREMODE_AUTOMATIC + if(start_semiauto) gun_firemode_list |= GUN_FIREMODE_SEMIAUTO if(burst_amount > BURST_AMOUNT_TIER_1) gun_firemode_list |= GUN_FIREMODE_BURSTFIRE - if(start_automatic) - gun_firemode_list |= GUN_FIREMODE_AUTOMATIC - if(!length(gun_firemode_list)) CRASH("[src] called setup_firemodes() with an empty gun_firemode_list") diff --git a/code/modules/projectiles/guns/boltaction.dm b/code/modules/projectiles/guns/boltaction.dm index a558d3dd7969..69ce3a8de53e 100644 --- a/code/modules/projectiles/guns/boltaction.dm +++ b/code/modules/projectiles/guns/boltaction.dm @@ -33,9 +33,13 @@ aim_slowdown = SLOWDOWN_ADS_RIFLE wield_delay = WIELD_DELAY_NORMAL civilian_usable_override = TRUE + unacidable = TRUE // Like other 1-of-a-kind weapons, it can't be gotten rid of that fast + indestructible = TRUE var/bolted = TRUE // FALSE IS OPEN, TRUE IS CLOSE var/bolt_delay var/recent_cycle //world.time to see when they last bolted it. + /// If this gun should change icon states when the bolt is open + var/has_openbolt_icon = TRUE /obj/item/weapon/gun/boltaction/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 17,"rail_x" = 5, "rail_y" = 18, "under_x" = 25, "under_y" = 14, "stock_x" = 18, "stock_y" = 10) @@ -49,7 +53,7 @@ ..() var/new_icon_state = icon_state - if(!bolted) + if(!bolted && has_openbolt_icon) new_icon_state += "_o" icon_state = new_icon_state @@ -111,3 +115,163 @@ SPAN_NOTICE("You load [magazine] into [src]!"), null, 3, CHAT_TYPE_COMBAT_ACTION) if(reload_sound) playsound(user, reload_sound, 25, 1, 5) + + +/obj/item/weapon/gun/boltaction/vulture + name = "\improper M707 \"Vulture\" anti-materiel rifle" + desc = "The M707 is a crude but highly powerful rifle, designed for disabling lightly armored vehicles and hitting targets inside buildings. Its unwieldy scope and caliber necessitates a spotter to be fully effective, suffering severe scope drift without one." + desc_lore = {" + Put into production in 2175 as an economical answer to rising militancy in the Outer Rim, the M707 was derived from jury-rigged anti-materiel rifles that were captured during the Linna 349 campaign. + + The rebels (colloquially known among the USCMC as bug-boys and beebops) had achieved extensive success at Neusheune using the aforementioned rifles to pick off incinerator-wielding marines by detonating their napthal fuel tank in the midst of squad formations, subsequently leading to the USCMC designating users of those rifles as high-priority targets, as well as changes in USCMC patrol tactics. + + Some of the failings and quirks of the beebops' jury-rigged rifle were quickly noticed by vehicle crews early on in the campaign, as in multiple memoirs the crews mention that: "Once the rain starts, that's when you know you've got an ambush." + + The 'pitter-patter' of 'rain' that the crews heard was in fact multiple rifles failing to penetrate through the vehicle's external armor. Once a number of the anti-materiel rifles were examined, it was deemed a high priority to produce a Corps version. In the process, the rifles were designed for a higher calibre then that of the rebel versions, so the M707 would be capable of penetrating the light vehicle armor of their UPP peers in the event of another Dog War or Tientsin."} + + icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' // overriden with camos + icon_state = "vulture" + item_state = "vulture" + cocked_sound = 'sound/weapons/gun_cocked2.ogg' + fire_sound = 'sound/weapons/gun_vulture_fire.ogg' + open_bolt_sound ='sound/weapons/handling/gun_vulture_bolt_eject.ogg' + close_bolt_sound ='sound/weapons/handling/gun_vulture_bolt_close.ogg' + flags_equip_slot = SLOT_BACK|SLOT_BLOCK_SUIT_STORE + w_class = SIZE_LARGE + force = 5 + flags_gun_features = NONE + gun_category = GUN_CATEGORY_HEAVY + aim_slowdown = SLOWDOWN_ADS_SPECIALIST // Consider SUPERWEAPON, but it's not like you can fire this without being bipodded + wield_delay = WIELD_DELAY_VERY_SLOW + map_specific_decoration = TRUE + current_mag = /obj/item/ammo_magazine/rifle/boltaction/vulture + attachable_allowed = list( + /obj/item/attachable/sniperbarrel/vulture, + /obj/item/attachable/vulture_scope, + /obj/item/attachable/bipod/vulture, + /obj/item/attachable/stock/vulture, + ) + starting_attachment_types = list( + /obj/item/attachable/sniperbarrel/vulture, + /obj/item/attachable/vulture_scope, + /obj/item/attachable/bipod/vulture, + /obj/item/attachable/stock/vulture, + ) + civilian_usable_override = FALSE + projectile_type = /obj/projectile/vulture + actions_types = list( + /datum/action/item_action/vulture, + ) + has_openbolt_icon = FALSE + bolt_delay = 1 SECONDS + /// How far out people can tell the direction of the shot + var/fire_message_range = 25 + /// If the gun should bypass the trait requirement + var/bypass_trait = FALSE + +/obj/item/weapon/gun/boltaction/vulture/update_icon() + ..() + if(!bolted) + overlays += "vulture_bolt_open" + + +/obj/item/weapon/gun/boltaction/vulture/set_gun_config_values() //check that these work + ..() + set_fire_delay(FIRE_DELAY_TIER_VULTURE) + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_7 + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 + scatter = SCATTER_AMOUNT_TIER_10 + burst_scatter_mult = SCATTER_AMOUNT_TIER_6 + scatter_unwielded = SCATTER_AMOUNT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT + recoil = RECOIL_AMOUNT_TIER_4 + recoil_unwielded = RECOIL_AMOUNT_TIER_2 + damage_falloff_mult = 0 + +/obj/item/weapon/gun/boltaction/vulture/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19, "rail_x" = 11, "rail_y" = 24, "under_x" = 25, "under_y" = 14, "stock_x" = 11, "stock_y" = 15) + +/obj/item/weapon/gun/boltaction/vulture/able_to_fire(mob/user) + . = ..() + if(!.) + return + + if(!bypass_trait && !HAS_TRAIT(user, TRAIT_VULTURE_USER)) + to_chat(user, SPAN_WARNING("You don't know how to use this!")) + return + +/obj/item/weapon/gun/boltaction/vulture/Fire(atom/target, mob/living/user, params, reflex, dual_wield) + var/obj/item/attachable/vulture_scope/scope = attachments["rail"] + if(istype(scope) && scope.scoping) + var/turf/viewed_turf = scope.get_viewed_turf() + target = viewed_turf + var/mob/living/living_mob = locate(/mob/living) in viewed_turf + if(living_mob) + target = living_mob + + . = ..() + if(!.) + return . + + for(var/mob/current_mob as anything in get_mobs_in_z_level_range(get_turf(user), fire_message_range) - user) + var/relative_dir = get_dir(current_mob, user) + var/final_dir = dir2text(relative_dir) + to_chat(current_mob, SPAN_HIGHDANGER("You hear a massive boom coming from [final_dir ? "the [final_dir]" : "nearby"]!")) + if(current_mob.client) + playsound_client(current_mob.client, 'sound/weapons/gun_vulture_report.ogg', src, 25) + + if(!HAS_TRAIT(src, TRAIT_GUN_BIPODDED)) + fired_without_bipod(user) + else + shake_camera(user, 3, 4) // equivalent to getting hit with a heavy round + + return . + +/// Someone tried to fire this without using a bipod, so we break their arm along with sending them flying backwards +/obj/item/weapon/gun/boltaction/vulture/proc/fired_without_bipod(mob/living/user) + SEND_SIGNAL(src, COMSIG_GUN_VULTURE_FIRED_ONEHAND) + to_chat(user, SPAN_HIGHDANGER("You get flung backwards as you fire [src], breaking your firing arm in the process!")) + user.apply_effect(0.7, WEAKEN) + user.apply_effect(1, SUPERSLOW) + user.apply_effect(2, SLOW) + + if(ishuman(user)) + if(user.hand) + break_arm(user, RIGHT) + else + break_arm(user, LEFT) + + //Either knockback or slam them into an obstacle. + var/direction = REVERSE_DIR(user.dir) + if(direction && !step(user, direction)) + user.animation_attack_on(get_step(user, direction)) + user.visible_message(SPAN_DANGER("[user] slams into an obstacle!"), SPAN_HIGHDANGER("You slam into an obstacle!"), null, 4, CHAT_TYPE_TAKING_HIT) + user.apply_damage(MELEE_FORCE_TIER_2) + + shake_camera(user, 7, 6) // Around 2x worse than getting hit with a heavy round + +/// The code that takes care of breaking a person's firing arm +/obj/item/weapon/gun/boltaction/vulture/proc/break_arm(mob/living/carbon/human/user, arm = LEFT) + var/obj/limb/arm/found_limb + var/obj/limb/hand/found_hand + if(arm == LEFT) + found_limb = locate(/obj/limb/arm/l_arm) in user.limbs + found_hand = locate(/obj/limb/hand/l_hand) in user.limbs + else + found_limb = locate(/obj/limb/arm/r_arm) in user.limbs + found_hand = locate(/obj/limb/hand/r_hand) in user.limbs + + if(!found_limb || !found_hand) + return + found_limb.take_damage((found_limb.status & LIMB_BROKEN) ? rand(25, 30) : rand(10, 15)) + found_hand.take_damage((found_hand.status & LIMB_BROKEN) ? rand(25, 30) : rand(10, 15)) + found_limb.fracture(100) + found_hand.fracture(100) + + for(var/obj/limb/limb as anything in list(found_limb, found_hand)) + if(!(limb.status & LIMB_SPLINTED_INDESTRUCTIBLE) && (limb.status & LIMB_SPLINTED)) //If they have it splinted, the splint won't hold. + limb.status &= ~LIMB_SPLINTED + playsound(user, 'sound/items/splintbreaks.ogg', 20) + to_chat(user, SPAN_DANGER("The splint on your [limb.display_name] comes apart under the recoil!")) + user.pain.apply_pain(PAIN_BONE_BREAK_SPLINTED) + user.update_med_icon() diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 5733b01195ff..adca6a7cce6f 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -96,7 +96,7 @@ update_icon() return TRUE -/obj/item/weapon/gun/energy/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/energy/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund) cell.charge += charge_cost return TRUE diff --git a/code/modules/projectiles/guns/flare_gun.dm b/code/modules/projectiles/guns/flare_gun.dm new file mode 100644 index 000000000000..407ecdf00066 --- /dev/null +++ b/code/modules/projectiles/guns/flare_gun.dm @@ -0,0 +1,158 @@ +/obj/item/weapon/gun/flare + name = "\improper M82-F flare gun" + desc = "A flare gun issued to JTAC operators to use with flares. Comes with a miniscope. One shot, one... life saved?" + icon_state = "m82f" + item_state = "m82f" + current_mag = /obj/item/ammo_magazine/internal/flare + reload_sound = 'sound/weapons/gun_shotgun_shell_insert.ogg' + fire_sound = 'sound/weapons/gun_flare.ogg' + aim_slowdown = 0 + flags_equip_slot = SLOT_WAIST + wield_delay = WIELD_DELAY_VERY_FAST + movement_onehanded_acc_penalty_mult = MOVEMENT_ACCURACY_PENALTY_MULT_TIER_4 + flags_gun_features = GUN_INTERNAL_MAG|GUN_CAN_POINTBLANK + gun_category = GUN_CATEGORY_HANDGUN + attachable_allowed = list(/obj/item/attachable/scope/mini/flaregun) + + var/last_signal_flare_name + + +/obj/item/weapon/gun/flare/Initialize(mapload, spawn_empty) + . = ..() + if(spawn_empty) + update_icon() + +/obj/item/weapon/gun/flare/handle_starting_attachment() + ..() + var/obj/item/attachable/scope/mini/flaregun/scope = new(src) + scope.hidden = TRUE + scope.flags_attach_features &= ~ATTACH_REMOVABLE + scope.Attach(src) + update_attachables() + + +/obj/item/weapon/gun/flare/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 18,"rail_x" = 12, "rail_y" = 20, "under_x" = 19, "under_y" = 14, "stock_x" = 19, "stock_y" = 14) + +/obj/item/weapon/gun/flare/set_gun_config_values() + ..() + set_fire_delay(FIRE_DELAY_TIER_12) + accuracy_mult = BASE_ACCURACY_MULT + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 + scatter = 0 + recoil = RECOIL_AMOUNT_TIER_4 + recoil_unwielded = RECOIL_AMOUNT_TIER_4 + +/obj/item/weapon/gun/flare/set_bullet_traits() + LAZYADD(traits_to_give, list( + BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff) + )) + +/obj/item/weapon/gun/flare/reload_into_chamber(mob/user) + . = ..() + to_chat(user, SPAN_WARNING("You pop out [src]'s tube!")) + update_icon() + +/obj/item/weapon/gun/flare/attackby(obj/item/attacking_item, mob/user) + if(istype(attacking_item, /obj/item/device/flashlight/flare)) + var/obj/item/device/flashlight/flare/attacking_flare = attacking_item + if(attacking_flare.on) + to_chat(user, SPAN_WARNING("You can't put a lit flare in [src]!")) + return + if(!attacking_flare.fuel) + to_chat(user, SPAN_WARNING("You can't put a burnt out flare in [src]!")) + return + if(current_mag && current_mag.current_rounds == 0) + ammo = GLOB.ammo_list[attacking_flare.ammo_datum] + playsound(user, reload_sound, 25, 1) + to_chat(user, SPAN_NOTICE("You load [attacking_flare] into [src].")) + current_mag.current_rounds++ + qdel(attacking_flare) + update_icon() + else + to_chat(user, SPAN_WARNING("[src] is already loaded!")) + else + to_chat(user, SPAN_WARNING("That's not a flare!")) + +/obj/item/weapon/gun/flare/unload(mob/user) + if(flags_gun_features & GUN_BURST_FIRING) + return + unload_flare(user) + +/obj/item/weapon/gun/flare/proc/unload_flare(mob/user) + if(!current_mag) + return + if(current_mag.current_rounds) + var/obj/item/device/flashlight/flare/unloaded_flare = new ammo.handful_type(get_turf(src)) + playsound(user, reload_sound, 25, TRUE) + current_mag.current_rounds-- + if(user) + to_chat(user, SPAN_NOTICE("You unload [unloaded_flare] from \the [src].")) + user.put_in_hands(unloaded_flare) + update_icon() + +/obj/item/weapon/gun/flare/unique_action(mob/user) + if(!user || !isturf(user.loc) || !current_mag || !current_mag.current_rounds) + return + + var/turf/flare_turf = user.loc + var/area/flare_area = flare_turf.loc + + if(flare_area.ceiling > CEILING_GLASS) + to_chat(user, SPAN_NOTICE("The roof above you is too dense.")) + return + + if(!istype(ammo, /datum/ammo/flare)) + to_chat(user, SPAN_NOTICE("[src] jams as it is somehow loaded with incorrect ammo!")) + return + + if(user.action_busy) + return + + if(!do_after(user, 1 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC)) + return + + if(!current_mag || !current_mag.current_rounds) + return + + current_mag.current_rounds-- + + flare_turf.ceiling_debris() + + var/datum/ammo/flare/explicit_ammo = ammo + + var/obj/item/device/flashlight/flare/fired_flare = new explicit_ammo.flare_type(get_turf(src)) + to_chat(user, SPAN_NOTICE("You fire [fired_flare] into the air!")) + fired_flare.visible_message(SPAN_WARNING("\A [fired_flare] bursts into brilliant light in the sky!")) + fired_flare.invisibility = INVISIBILITY_MAXIMUM + fired_flare.mouse_opacity = FALSE + playsound(user.loc, fire_sound, 50, 1) + + var/obj/effect/flare_light/light_effect = new (fired_flare, fired_flare.light_range, fired_flare.light_power, fired_flare.light_color) + light_effect.RegisterSignal(fired_flare, COMSIG_ATOM_SET_LIGHT_ON, TYPE_PROC_REF(/obj/effect/flare_light, flare_light_change)) + + if(fired_flare.activate_signal(user)) + last_signal_flare_name = fired_flare.name + + update_icon() + +/obj/item/weapon/gun/flare/get_examine_text(mob/user) + . = ..() + if(last_signal_flare_name) + . += SPAN_NOTICE("The last signal flare fired has the designation: [last_signal_flare_name]") + +/obj/effect/flare_light + name = "flare light" + desc = "You are not supposed to see this. Please report it." + icon_state = "" //No sprite + invisibility = INVISIBILITY_MAXIMUM + light_system = STATIC_LIGHT + +/obj/effect/flare_light/Initialize(mapload, light_range, light_power, light_color) + . = ..() + set_light(light_range, light_power, light_color) + +/obj/effect/flare_light/proc/flare_light_change(original_flare, new_light_value) + if(!new_light_value) + qdel(original_flare) + qdel(src) diff --git a/code/modules/projectiles/guns/lever_action.dm b/code/modules/projectiles/guns/lever_action.dm index 73d9330e2a53..81d7dc166cd3 100644 --- a/code/modules/projectiles/guns/lever_action.dm +++ b/code/modules/projectiles/guns/lever_action.dm @@ -495,7 +495,7 @@ their unique feature is that a direct hit will buff your damage and firerate if(!able_to_fire(user) || !target) //checks here since we don't want to fuck up applying the increase return NONE if(floating_penetration && in_chamber) //has to go before actual firing - var/obj/item/projectile/P = in_chamber + var/obj/projectile/P = in_chamber switch(floating_penetration) if(FLOATING_PENETRATION_TIER_1) P.ammo = GLOB.ammo_list[/datum/ammo/bullet/lever_action/xm88/pen20] @@ -525,7 +525,7 @@ their unique feature is that a direct hit will buff your damage and firerate wield_delay = initial(wield_delay) cur_onehand_chance = initial(cur_onehand_chance) if(in_chamber) - var/obj/item/projectile/P = in_chamber + var/obj/projectile/P = in_chamber P.ammo = GLOB.ammo_list[/datum/ammo/bullet/lever_action/xm88] floating_penetration = FLOATING_PENETRATION_TIER_0 //these are init configs and so cannot be initial() diff --git a/code/modules/projectiles/guns/revolvers.dm b/code/modules/projectiles/guns/revolvers.dm index 7f89e652ef4e..4eaedf11ef11 100644 --- a/code/modules/projectiles/guns/revolvers.dm +++ b/code/modules/projectiles/guns/revolvers.dm @@ -182,7 +182,7 @@ rotate_cylinder() return 1 -/obj/item/weapon/gun/revolver/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/revolver/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(refund && current_mag) current_mag.current_rounds++ diff --git a/code/modules/projectiles/guns/rifles.dm b/code/modules/projectiles/guns/rifles.dm index 167fb2c66809..4723ad882368 100644 --- a/code/modules/projectiles/guns/rifles.dm +++ b/code/modules/projectiles/guns/rifles.dm @@ -1724,3 +1724,143 @@ ) random_under_chance = 50 random_spawn_under = list(/obj/item/attachable/flashlight/grip) + +//=ROYAL MARINES=\\ + +/obj/item/weapon/gun/rifle/rmc_f90 + name = "\improper F903A1 Rifle" + desc = "The standard issue rifle of the royal marines. Uniquely the royal marines are the only modern military to not use a pulse weapon. Uses 10x24mm caseless ammunition." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi' + icon_state = "aug" + item_state = "aug" + fire_sound = "gun_pulse" + reload_sound = 'sound/weapons/handling/m41_reload.ogg' + unload_sound = 'sound/weapons/handling/m41_unload.ogg' + current_mag = /obj/item/ammo_magazine/rifle/rmc_f90 + flags_equip_slot = NO_FLAGS + attachable_allowed = list( + /obj/item/attachable/suppressor, + /obj/item/attachable/bayonet, + /obj/item/attachable/bayonet/upp, + /obj/item/attachable/bayonet/co2, + /obj/item/attachable/reddot, + /obj/item/attachable/reflex, + /obj/item/attachable/flashlight, + /obj/item/attachable/extended_barrel, + /obj/item/attachable/heavy_barrel, + /obj/item/attachable/magnetic_harness, + ) + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER + map_specific_decoration = FALSE + aim_slowdown = SLOWDOWN_ADS_QUICK + +/obj/item/weapon/gun/rifle/rmc_f90/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 16,"rail_x" = 15, "rail_y" = 21, "under_x" = 24, "under_y" = 13, "stock_x" = 24, "stock_y" = 13) + + +/obj/item/weapon/gun/rifle/rmc_f90/set_gun_config_values() + ..() + fire_delay = FIRE_DELAY_TIER_8 + burst_amount = BURST_AMOUNT_TIER_3 + burst_delay = FIRE_DELAY_TIER_8 + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + 2*HIT_ACCURACY_MULT_TIER_1 + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 + scatter = SCATTER_AMOUNT_TIER_8 + burst_scatter_mult = SCATTER_AMOUNT_TIER_10 + scatter_unwielded = SCATTER_AMOUNT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 + recoil_unwielded = RECOIL_AMOUNT_TIER_2 + +/obj/item/weapon/gun/rifle/rmc_f90/a_grip + name = "\improper F903A2 Rifle" + desc = "A non-standard issue rifle of the royal marines the F903A2 is currently being phased into the royal marines as their new mainline rifle but currently only sees use by unit leaders. Uniquely the royal marines are the only modern military to not use a pulse weapon. Uses 10x24mm caseless ammunition." + icon_state = "aug_com" + item_state = "aug_com" + attachable_allowed = list( + /obj/item/attachable/suppressor, + /obj/item/attachable/reddot, + /obj/item/attachable/reflex, + /obj/item/attachable/extended_barrel, + ) + +/obj/item/weapon/gun/rifle/rmc_f90/a_grip/handle_starting_attachment() + ..() + var/obj/item/attachable/angledgrip/f90_agrip = new(src) + f90_agrip.flags_attach_features &= ~ATTACH_REMOVABLE + f90_agrip.hidden = TRUE + f90_agrip.Attach(src) + update_attachable(f90_agrip.slot) + +/obj/item/weapon/gun/rifle/rmc_f90/scope + name = "\improper F903A1 Marksman Rifle" + desc = "A variation of the F903 rifle used by the royal marines commando. This weapon only accepts the smaller 20 round magazines of 10x24mm." + icon_state = "aug_dmr" + item_state = "aug_dmr" + attachable_allowed = null + current_mag = /obj/item/ammo_magazine/rifle/rmc_f90/marksman + +/obj/item/weapon/gun/rifle/rmc_f90/scope/set_gun_config_values() + ..() + fire_delay = FIRE_DELAY_TIER_7 + burst_amount = 0 + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + 2*HIT_ACCURACY_MULT_TIER_1 + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 + scatter = SCATTER_AMOUNT_TIER_8 + scatter_unwielded = SCATTER_AMOUNT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_6 + recoil_unwielded = RECOIL_AMOUNT_TIER_2 + damage_falloff_mult = 0 + +/obj/item/weapon/gun/rifle/rmc_f90/scope/handle_starting_attachment() + ..() + var/obj/item/attachable/scope/mini/f90/f90_scope = new(src) + var/obj/item/attachable/angledgrip/f90_agrip = new(src) + var/obj/item/attachable/f90_dmr_barrel/f90_dmr_barrel = new(src) + f90_scope.flags_attach_features &= ~ATTACH_REMOVABLE + f90_agrip.flags_attach_features &= ~ATTACH_REMOVABLE + f90_dmr_barrel.flags_attach_features &= ~ATTACH_REMOVABLE + f90_scope.hidden = TRUE + f90_agrip.hidden = TRUE + f90_dmr_barrel.hidden = FALSE + f90_agrip.Attach(src) + f90_scope.Attach(src) + f90_dmr_barrel.Attach(src) + update_attachable(f90_agrip.slot) + update_attachable(f90_scope.slot) + update_attachable(f90_dmr_barrel.slot) + +/obj/item/weapon/gun/rifle/rmc_f90/shotgun + name = "\improper F903A1/B 'Breacher' Rifle" + desc = "A variation of the F903 rifle used by the royal marines commando. Modified to be used in one hand with a shield. Uses 10x24mm caseless ammunition." + icon_state = "aug_mkey" + item_state = "aug_mkey" + attachable_allowed = list( + /obj/item/attachable/reddot, + /obj/item/attachable/reflex, + ) + +/obj/item/weapon/gun/rifle/rmc_f90/shotgun/set_gun_config_values() + ..() + fire_delay = FIRE_DELAY_TIER_8 + burst_amount = BURST_AMOUNT_TIER_3 + burst_delay = FIRE_DELAY_TIER_8 + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + 2*HIT_ACCURACY_MULT_TIER_1 + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_2 + scatter = SCATTER_AMOUNT_TIER_8 + burst_scatter_mult = SCATTER_AMOUNT_TIER_10 + scatter_unwielded = SCATTER_AMOUNT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 + recoil_unwielded = RECOIL_OFF + +/obj/item/weapon/gun/rifle/rmc_f90/shotgun/handle_starting_attachment() + ..() + var/obj/item/attachable/attached_gun/shotgun/f90_shotgun = new(src) + var/obj/item/attachable/f90_dmr_barrel/f90_shotgun_barrel = new(src) + f90_shotgun.flags_attach_features &= ~ATTACH_REMOVABLE + f90_shotgun_barrel.flags_attach_features &= ~ATTACH_REMOVABLE + f90_shotgun_barrel.hidden = FALSE + f90_shotgun.hidden = TRUE + f90_shotgun.Attach(src) + f90_shotgun_barrel.Attach(src) + update_attachable(f90_shotgun.slot) + update_attachable(f90_shotgun_barrel.slot) diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index 1cf35623408c..9a4b1551736c 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -515,6 +515,7 @@ can cause issues with ammo types getting mixed up during the burst. burst_delay = 0 //So doubleshotty can doubleshot has_open_icon = TRUE civilian_usable_override = TRUE // Come on. It's THE survivor shotgun. + additional_fire_group_delay = 1.5 SECONDS /obj/item/weapon/gun/shotgun/double/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 19,"rail_x" = 11, "rail_y" = 20, "under_x" = 15, "under_y" = 14, "stock_x" = 13, "stock_y" = 14) @@ -590,7 +591,7 @@ can cause issues with ammo types getting mixed up during the burst. //We can't make a projectile without a mag or active attachable. -/obj/item/weapon/gun/shotgun/double/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/shotgun/double/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) qdel(projectile_to_fire) if(!current_mag) return @@ -761,7 +762,6 @@ can cause issues with ammo types getting mixed up during the burst. reload_sound = 'sound/weapons/handling/gun_mou_reload.ogg'//unique shell insert flags_equip_slot = SLOT_BACK flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG - additional_fire_group_delay = 1.5 SECONDS current_mag = /obj/item/ammo_magazine/internal/shotgun/double/mou53 //Take care, she comes loaded! attachable_allowed = list( /obj/item/attachable/bayonet, diff --git a/code/modules/projectiles/guns/smartgun.dm b/code/modules/projectiles/guns/smartgun.dm index 2a88c9766ed8..22f10cafb35b 100644 --- a/code/modules/projectiles/guns/smartgun.dm +++ b/code/modules/projectiles/guns/smartgun.dm @@ -735,3 +735,20 @@ . = ..() . += SPAN_NOTICE("The power indicator reads [power_cell.charge] charge out of [power_cell.maxcharge] total.") + +/obj/item/weapon/gun/smartgun/rmc + name = "\improper L56A2 smartgun" + desc = "The actual firearm in the 2-piece L56A2 Smartgun System. This Variant is used by the Three World Empires Royal Marines Commando units.\nYou may toggle firing restrictions by using a special action.\nAlt-click it to open the feed cover and allow for reloading." + current_mag = /obj/item/ammo_magazine/smartgun/holo_targetting + ammo = /obj/item/ammo_magazine/smartgun/holo_targetting + ammo_primary = /datum/ammo/bullet/smartgun/holo_target //Toggled ammo type + ammo_secondary = /datum/ammo/bullet/smartgun/holo_target/ap ///Toggled ammo type + flags_gun_features = GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY + icon = 'icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi' + icon_state = "magsg" + item_state = "magsg" + starting_attachment_types = list(/obj/item/attachable/l56a2_smartgun) + +/obj/item/weapon/gun/smartgun/rmc/Initialize(mapload, ...) + . = ..() + MD.iff_signal = FACTION_TWE diff --git a/code/modules/projectiles/guns/specialist.dm b/code/modules/projectiles/guns/specialist.dm index d93080bbbc99..78d1fca2cf24 100644 --- a/code/modules/projectiles/guns/specialist.dm +++ b/code/modules/projectiles/guns/specialist.dm @@ -155,7 +155,7 @@ if(!check_can_use(target, TRUE)) return - var/obj/item/projectile/aimed_proj = sniper_rifle.in_chamber + var/obj/projectile/aimed_proj = sniper_rifle.in_chamber aimed_proj.projectile_flags |= PROJECTILE_BULLSEYE aimed_proj.AddComponent(/datum/component/homing_projectile, target, human) sniper_rifle.Fire(target, human) @@ -183,7 +183,7 @@ to_chat(H, SPAN_WARNING("\The [M] is too close to get a proper shot!")) return FALSE - var/obj/item/projectile/P = sniper_rifle.in_chamber + var/obj/projectile/P = sniper_rifle.in_chamber // TODO: Make the below logic only occur in certain circumstances. Check goggles, maybe? -Kaga if(check_shot_is_blocked(H, M, P)) to_chat(H, SPAN_WARNING("Something is in the way, or you're out of range!")) @@ -195,7 +195,7 @@ COOLDOWN_START(sniper_rifle, aimed_shot_cooldown, sniper_rifle.aimed_shot_cooldown_delay) return TRUE -/datum/action/item_action/specialist/aimed_shot/proc/check_shot_is_blocked(mob/firer, mob/target, obj/item/projectile/P) +/datum/action/item_action/specialist/aimed_shot/proc/check_shot_is_blocked(mob/firer, mob/target, obj/projectile/P) var/list/turf/path = getline2(firer, target, include_from_atom = FALSE) if(!path.len || get_dist(firer, target) > P.ammo.max_range) return TRUE @@ -1083,7 +1083,7 @@ /obj/item/weapon/gun/launcher/rocket/reload_into_chamber(mob/user) return TRUE -/obj/item/weapon/gun/launcher/rocket/delete_bullet(obj/item/projectile/projectile_to_fire, refund = 0) +/obj/item/weapon/gun/launcher/rocket/delete_bullet(obj/projectile/projectile_to_fire, refund = 0) if(!current_mag) return qdel(projectile_to_fire) @@ -1177,7 +1177,7 @@ current_mag.current_rounds = 0 //Adding in the rocket backblast. The tile behind the specialist gets blasted hard enough to down and slightly wound anyone -/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/item/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) var/mob/living/carbon/human/huser = user @@ -1353,7 +1353,7 @@ Integrated.Attach(src) update_attachable(Integrated.slot) -/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/item/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) return @@ -1368,146 +1368,3 @@ C.apply_effect(4, STUN) //For good measure C.apply_effect(6, STUTTER) C.emote("pain") - -//------------------------------------------------------- -//Flare gun. Close enough to a specialist gun? - -/obj/item/weapon/gun/flare - name = "\improper M82-F flare gun" - desc = "A flare gun issued to JTAC operators to use with flares. Comes with a miniscope. One shot, one... life saved?" - icon_state = "m82f" - item_state = "m82f" - current_mag = /obj/item/ammo_magazine/internal/flare - reload_sound = 'sound/weapons/gun_shotgun_shell_insert.ogg' - fire_sound = 'sound/weapons/gun_flare.ogg' - aim_slowdown = 0 - flags_equip_slot = SLOT_WAIST - wield_delay = WIELD_DELAY_VERY_FAST - movement_onehanded_acc_penalty_mult = MOVEMENT_ACCURACY_PENALTY_MULT_TIER_4 - flags_gun_features = GUN_INTERNAL_MAG|GUN_CAN_POINTBLANK - gun_category = GUN_CATEGORY_HANDGUN - attachable_allowed = list(/obj/item/attachable/scope/mini/flaregun) - - var/last_signal_flare_name - - -/obj/item/weapon/gun/flare/Initialize(mapload, spawn_empty) - . = ..() - if(spawn_empty) - update_icon() - -/obj/item/weapon/gun/flare/handle_starting_attachment() - ..() - var/obj/item/attachable/scope/mini/flaregun/S = new(src) - S.hidden = TRUE - S.flags_attach_features &= ~ATTACH_REMOVABLE - S.Attach(src) - update_attachables() - - -/obj/item/weapon/gun/flare/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 18,"rail_x" = 12, "rail_y" = 20, "under_x" = 19, "under_y" = 14, "stock_x" = 19, "stock_y" = 14) - -/obj/item/weapon/gun/flare/set_gun_config_values() - ..() - set_fire_delay(FIRE_DELAY_TIER_12) - accuracy_mult = BASE_ACCURACY_MULT - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 - scatter = 0 - recoil = RECOIL_AMOUNT_TIER_4 - recoil_unwielded = RECOIL_AMOUNT_TIER_4 - -/obj/item/weapon/gun/flare/set_bullet_traits() - LAZYADD(traits_to_give, list( - BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff) - )) - -/obj/item/weapon/gun/flare/reload_into_chamber(mob/user) - . = ..() - to_chat(user, SPAN_WARNING("You pop out [src]'s tube!")) - update_icon() - -/obj/item/weapon/gun/flare/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/device/flashlight/flare)) - var/obj/item/device/flashlight/flare/F = I - if(F.on) - to_chat(user, SPAN_WARNING("You can't put a lit flare in [src]!")) - return - if(!F.fuel) - to_chat(user, SPAN_WARNING("You can't put a burnt out flare in [src]!")) - return - if(current_mag && current_mag.current_rounds == 0) - ammo = GLOB.ammo_list[F.ammo_datum] - playsound(user, reload_sound, 25, 1) - to_chat(user, SPAN_NOTICE("You load \the [F] into [src].")) - current_mag.current_rounds++ - qdel(I) - update_icon() - else - to_chat(user, SPAN_WARNING("\The [src] is already loaded!")) - else - to_chat(user, SPAN_WARNING("That's not a flare!")) - -/obj/item/weapon/gun/flare/unload(mob/user) - if(flags_gun_features & GUN_BURST_FIRING) - return - unload_flare(user) - -/obj/item/weapon/gun/flare/proc/unload_flare(mob/user) - if(!current_mag) - return - if(current_mag.current_rounds) - var/obj/item/device/flashlight/flare/unloaded_flare = new ammo.handful_type(get_turf(src)) - playsound(user, reload_sound, 25, TRUE) - current_mag.current_rounds-- - if(user) - to_chat(user, SPAN_NOTICE("You unload \the [unloaded_flare] from \the [src].")) - user.put_in_hands(unloaded_flare) - update_icon() - -/obj/item/weapon/gun/flare/unique_action(mob/user) - if(!user || !isturf(user.loc) || !current_mag || !current_mag.current_rounds) - return - - var/turf/flare_turf = user.loc - var/area/flare_area = flare_turf.loc - - if(flare_area.ceiling > CEILING_GLASS) - to_chat(user, SPAN_NOTICE("The roof above you is too dense.")) - return - - if(!istype(ammo, /datum/ammo/flare)) - to_chat(user, SPAN_NOTICE("\The [src] jams as it is somehow loaded with incorrect ammo!")) - return - - if(user.action_busy) - return - - if(!do_after(user, 1 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC)) - return - - if(!current_mag || !current_mag.current_rounds) - return - - current_mag.current_rounds-- - - flare_turf.ceiling_debris() - - var/datum/ammo/flare/explicit_ammo = ammo - - var/obj/item/device/flashlight/flare/fired_flare = new explicit_ammo.flare_type(get_turf(src)) - to_chat(user, SPAN_NOTICE("You fire \the [fired_flare] into the air!")) - fired_flare.visible_message(SPAN_WARNING("\A [fired_flare] bursts into brilliant light in the sky!")) - fired_flare.invisibility = INVISIBILITY_MAXIMUM - fired_flare.mouse_opacity = FALSE - playsound(user.loc, fire_sound, 50, 1) - - if(fired_flare.activate_signal(user)) - last_signal_flare_name = fired_flare.name - - update_icon() - -/obj/item/weapon/gun/flare/get_examine_text(mob/user) - . = ..() - if(last_signal_flare_name) - . += SPAN_NOTICE("The last signal flare fired has the designation: [last_signal_flare_name]") diff --git a/code/modules/projectiles/homing_projectile_component.dm b/code/modules/projectiles/homing_projectile_component.dm index 92e803de10b1..8fd36fd67f31 100644 --- a/code/modules/projectiles/homing_projectile_component.dm +++ b/code/modules/projectiles/homing_projectile_component.dm @@ -3,7 +3,7 @@ var/atom/homing_target /datum/component/homing_projectile/Initialize(atom/homing_target, mob/shooter) - if(!istype(parent, /obj/item/projectile)) + if(!istype(parent, /obj/projectile)) return COMPONENT_INCOMPATIBLE if(isliving(homing_target)) @@ -13,7 +13,7 @@ if(shooter && ishuman(homing_target)) // Don't track friendlies var/mob/living/carbon/human/human_target = homing_target - var/obj/item/projectile/projectile = parent + var/obj/projectile/projectile = parent if(SEND_SIGNAL(parent, COMSIG_BULLET_CHECK_MOB_SKIPPING, human_target) & COMPONENT_SKIP_MOB\ || projectile.runtime_iff_group && human_target.get_target_lock(projectile.runtime_iff_group)\ ) @@ -33,7 +33,7 @@ return ..() /datum/component/homing_projectile/proc/terminal_retarget() - var/obj/item/projectile/projectile = parent + var/obj/projectile/projectile = parent var/turf/homing_turf = get_turf(homing_target) projectile.speed *= 2 // Double speed to ensure hitting next tick despite eventual movement projectile.retarget(homing_turf, keep_angle = FALSE) diff --git a/code/modules/projectiles/magazines/rifles.dm b/code/modules/projectiles/magazines/rifles.dm index f960cc82535b..42c79fdab858 100644 --- a/code/modules/projectiles/magazines/rifles.dm +++ b/code/modules/projectiles/magazines/rifles.dm @@ -445,3 +445,41 @@ max_rounds = 10 gun_type = /obj/item/weapon/gun/boltaction w_class = SIZE_SMALL + +/obj/item/ammo_magazine/rifle/boltaction/vulture + name = "\improper M707 \"Vulture\" magazine (20x102mm)" + desc = "A magazine for the M707 \"Vulture\" anti-matieriel rifle. Contains up to 4 massively oversized rounds." + caliber = "20x102mm" + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' + icon_state = "vulture" + handful_state = "vulture_bullet" + default_ammo = /datum/ammo/bullet/sniper/anti_materiel/vulture + max_rounds = 4 + gun_type = /obj/item/weapon/gun/boltaction/vulture + w_class = SIZE_MEDIUM // maybe small? This shit's >4 inches long mind you + +//=ROYAL MARINES=\\ + +/obj/item/ammo_magazine/rifle/rmc_f90 + name = "\improper F903 magazine (10x24mm)" + desc = "A 10mm assault rifle magazine used by the royal marines." + caliber = "10x24mm" + icon = 'icons/obj/items/weapons/guns/ammo_by_faction/twe_ammo.dmi' + icon_state = "aug" + item_state = "aug" + w_class = SIZE_MEDIUM + default_ammo = /datum/ammo/bullet/rifle + max_rounds = 30 + gun_type = /obj/item/weapon/gun/rifle/rmc_f90 + ammo_band_icon = "+m41a_band" + ammo_band_icon_empty = "+m41a_band_e" + +/obj/item/ammo_magazine/rifle/rmc_f90/marksman + name = "\improper F903A1 Marksman magazine (10x24mm)" + desc = "A 10mm armor-piercing assault rifle magazine used by the royal marines." + icon_state = "aug_dmr" + item_state = "aug_dmr" + default_ammo = /datum/ammo/bullet/rifle/ap + gun_type = /obj/item/weapon/gun/rifle/rmc_f90/scope + max_rounds = 20 + ammo_band_color = AMMO_BAND_COLOR_AP diff --git a/code/modules/projectiles/magazines/specialist.dm b/code/modules/projectiles/magazines/specialist.dm index 2730563e2cbb..821273247f66 100644 --- a/code/modules/projectiles/magazines/specialist.dm +++ b/code/modules/projectiles/magazines/specialist.dm @@ -107,6 +107,12 @@ default_ammo = /datum/ammo/bullet/smartgun/dirty gun_type = /obj/item/weapon/gun/smartgun/dirty +/obj/item/ammo_magazine/smartgun/holo_targetting + name = "holotargetting smartgun drum" + desc = "Holotargetting rounds for use in the royal marines commando L56A2 smartgun." + icon_state = "m56_drum" + default_ammo = /datum/ammo/bullet/smartgun/holo_target + gun_type = /obj/item/weapon/gun/smartgun/rmc //------------------------------------------------------- //Flare gun. Close enough? /obj/item/ammo_magazine/internal/flare diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index eccba14a442a..b01203d0f4d8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -4,7 +4,7 @@ #define DEBUG_XENO_DEFENSE 0 //The actual bullet objects. -/obj/item/projectile +/obj/projectile name = "projectile" icon = 'icons/obj/items/weapons/projectiles.dmi' icon_state = "bullet" @@ -69,15 +69,17 @@ /// The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all. var/hit_effect_color = "#FF0000" + /// How much to make the bullet fall off by accuracy-wise when closer than the ideal range + var/accuracy_range_falloff = 10 -/obj/item/projectile/Initialize(mapload, datum/cause_data/cause_data) +/obj/projectile/Initialize(mapload, datum/cause_data/cause_data) . = ..() path = list() permutated = list() weapon_cause_data = istype(cause_data) ? cause_data : create_cause_data(cause_data) firer = cause_data?.resolve_mob() -/obj/item/projectile/Destroy() +/obj/projectile/Destroy() speed = 0 ammo = null shot_from = null @@ -92,22 +94,22 @@ SSprojectiles.stop_projectile(src) return ..() -/obj/item/projectile/proc/apply_bullet_trait(list/entry) +/obj/projectile/proc/apply_bullet_trait(list/entry) bullet_traits += list(entry.Copy()) // Need to use the proc instead of the wrapper because each entry is a list _AddElement(entry) -/obj/item/projectile/proc/give_bullet_traits(obj/item/projectile/to_give) +/obj/projectile/proc/give_bullet_traits(obj/projectile/to_give) for(var/list/entry in bullet_traits) to_give.apply_bullet_trait(entry.Copy()) -/obj/item/projectile/Collided(atom/movable/AM) +/obj/projectile/Collided(atom/movable/AM) if(AM && !(AM in permutated)) if(scan_a_turf(AM.loc)) SSprojectiles.stop_projectile(src) qdel(src) -/obj/item/projectile/Crossed(atom/movable/AM) +/obj/projectile/Crossed(atom/movable/AM) /* Fun fact: Crossed is called for any contents involving operations. * This notably means, inserting a magazing in a gun Crossed() it with the bullets in the gun. */ if(!loc?.z) @@ -118,10 +120,10 @@ qdel(src) -/obj/item/projectile/ex_act() +/obj/projectile/ex_act() return FALSE //We do not want anything to delete these, simply to make sure that all the bullet references are not runtiming. Otherwise, constantly need to check if the bullet exists. -/obj/item/projectile/proc/generate_bullet(datum/ammo/ammo_datum, bonus_damage = 0, special_flags = 0, mob/bullet_generator) +/obj/projectile/proc/generate_bullet(datum/ammo/ammo_datum, bonus_damage = 0, special_flags = 0, mob/bullet_generator) ammo = ammo_datum name = ammo.name icon = ammo.icon @@ -150,7 +152,7 @@ // Need to use the proc instead of the wrapper because each entry is a list apply_bullet_trait(L) -/obj/item/projectile/proc/calculate_damage() +/obj/projectile/proc/calculate_damage() if(effective_range_min && distance_travelled < effective_range_min) return max(0, damage - round((effective_range_min - distance_travelled) * damage_buildup)) else if(distance_travelled > effective_range_max) @@ -158,7 +160,7 @@ return damage // Target, firer, shot from (i.e. the gun), projectile range, projectile speed, original target (who was aimed at, not where projectile is going towards) -/obj/item/projectile/proc/fire_at(atom/target, atom/F, atom/S, range = 30, speed = 1, atom/original_override) +/obj/projectile/proc/fire_at(atom/target, atom/F, atom/S, range = 30, speed = 1, atom/original_override) SHOULD_NOT_SLEEP(TRUE) original = original || original_override || target if(!loc) @@ -223,7 +225,7 @@ // Finally queue it to Subsystem for further processing SSprojectiles.queue_projectile(src) -/obj/item/projectile/proc/update_angle(turf/source_turf, turf/aim_turf) +/obj/projectile/proc/update_angle(turf/source_turf, turf/aim_turf) p_x = Clamp(p_x, -16, 16) p_y = Clamp(p_y, -16, 16) @@ -250,7 +252,7 @@ rotate.Turn(angle) apply_transform(rotate) -/obj/item/projectile/process(delta_time) +/obj/projectile/process(delta_time) . = PROC_RETURN_SLEEP // Keep going as long as we got speed and time @@ -267,7 +269,7 @@ return FALSE /// Flies the projectile forward one single turf -/obj/item/projectile/proc/fly() +/obj/projectile/proc/fly() SHOULD_NOT_SLEEP(TRUE) PRIVATE_PROC(TRUE) var/turf/current_turf = get_turf(src) @@ -332,14 +334,14 @@ pixel_x = Clamp(dx, -16, 16) pixel_y = Clamp(dy, -16, 16) -/obj/item/projectile/proc/retarget(atom/new_target, keep_angle = FALSE) +/obj/projectile/proc/retarget(atom/new_target, keep_angle = FALSE) var/turf/current_turf = get_turf(src) path = getline2(current_turf, new_target) path.Cut(1, 2) // remove the turf we're already on var/atom/source = keep_angle ? original : current_turf update_angle(source, new_target) -/obj/item/projectile/proc/scan_a_turf(turf/T, proj_dir) +/obj/projectile/proc/scan_a_turf(turf/T, proj_dir) . = TRUE // Sleep safeguard: stop the bullet //Not actually flying? Should not be hitting anything. @@ -400,7 +402,7 @@ return TRUE return FALSE -/obj/item/projectile/proc/handle_object(obj/O) +/obj/projectile/proc/handle_object(obj/O) // If we've already handled this atom, don't do it again if(O in permutated) return FALSE @@ -436,7 +438,7 @@ if(SEND_SIGNAL(src, COMSIG_BULLET_POST_HANDLE_OBJ, O, .) & COMPONENT_BULLET_PASS_THROUGH) return FALSE -/obj/item/projectile/proc/handle_mob(mob/living/L) +/obj/projectile/proc/handle_mob(mob/living/L) // If we've already handled this atom, don't do it again if(SEND_SIGNAL(src, COMSIG_BULLET_PRE_HANDLE_MOB, L, .) & COMPONENT_BULLET_PASS_THROUGH) @@ -525,7 +527,7 @@ //---------------------------------------------------------- -/obj/item/projectile/proc/get_effective_accuracy() +/obj/projectile/proc/get_effective_accuracy() #if DEBUG_HIT_CHANCE to_world(SPAN_DEBUG("Base accuracy is [accuracy]; scatter: [scatter]; distance: [distance_travelled]")) #endif @@ -534,7 +536,7 @@ var/ammo_flags = ammo.flags_ammo_behavior | projectile_override_flags if(distance_travelled <= ammo.accurate_range) if(distance_travelled <= ammo.accurate_range_min) // If bullet stays within max accurate range + random variance - effective_accuracy -= (ammo.accurate_range_min - distance_travelled) * 10 // Snipers have accuracy falloff at closer range before point blank + effective_accuracy -= (ammo.accurate_range_min - distance_travelled) * accuracy_range_falloff // Snipers have accuracy falloff at closer range before point blank else effective_accuracy -= (distance_travelled - ammo.accurate_range) * ((ammo_flags & AMMO_SNIPER) ? 1.5 : 10) // Snipers have a smaller falloff constant due to longer max range @@ -553,7 +555,7 @@ return effective_accuracy //objects use get_projectile_hit_boolean unlike mobs, which use get_projectile_hit_chance -/obj/proc/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/proc/get_projectile_hit_boolean(obj/projectile/P) if(!density) return FALSE @@ -563,7 +565,7 @@ return TRUE //Used by machines and structures to calculate shooting past cover -/obj/proc/calculate_cover_hit_boolean(obj/item/projectile/P, distance = 0, cade_direction_correct = FALSE) +/obj/proc/calculate_cover_hit_boolean(obj/projectile/P, distance = 0, cade_direction_correct = FALSE) if(istype(P.shot_from, /obj/item/hardpoint)) //anything shot from a tank gets a bonus to bypassing cover distance -= 3 @@ -583,7 +585,7 @@ return prob(hitchance) -/obj/structure/machinery/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/machinery/get_projectile_hit_boolean(obj/projectile/P) if(src == P.original && layer > ATMOS_DEVICE_LAYER) //clicking on the object itself hits the object var/hitchance = P.get_effective_accuracy() @@ -622,7 +624,7 @@ return calculate_cover_hit_boolean(P, distance) -/obj/structure/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/get_projectile_hit_boolean(obj/projectile/P) if(src == P.original && layer > ATMOS_DEVICE_LAYER) //clicking on the object itself hits the object var/hitchance = P.get_effective_accuracy() @@ -668,20 +670,20 @@ return calculate_cover_hit_boolean(P, distance, cade_direction_correct) -/obj/item/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/item/get_projectile_hit_boolean(obj/projectile/P) if(P && src == P.original) //clicking on the object itself. Code copied from mob get_projectile_hit_chance var/hitchance = P.get_effective_accuracy() switch(w_class) //smaller items are harder to hit - if(1) + if(SIZE_TINY) hitchance -= 50 - if(2) + if(SIZE_SMALL) hitchance -= 30 - if(3) + if(SIZE_MEDIUM) hitchance -= 20 - if(4) + if(SIZE_LARGE) hitchance -= 10 #if DEBUG_HIT_CHANCE @@ -700,7 +702,7 @@ return TRUE -/obj/vehicle/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/vehicle/get_projectile_hit_boolean(obj/projectile/P) if(src == P.original) //clicking on the object itself hits the object var/hitchance = P.get_effective_accuracy() @@ -721,30 +723,30 @@ return TRUE -/obj/structure/window/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/window/get_projectile_hit_boolean(obj/projectile/P) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & AMMO_ENERGY) return FALSE else if(!(flags_atom & ON_BORDER) || (P.dir & dir) || (P.dir & reverse_direction(dir))) return TRUE -/obj/structure/machinery/door/poddoor/railing/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/machinery/door/poddoor/railing/get_projectile_hit_boolean(obj/projectile/P) return src == P.original -/obj/effect/alien/egg/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/effect/alien/egg/get_projectile_hit_boolean(obj/projectile/P) return src == P.original -/obj/effect/alien/resin/trap/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/effect/alien/resin/trap/get_projectile_hit_boolean(obj/projectile/P) return src == P.original -/obj/item/clothing/mask/facehugger/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/item/clothing/mask/facehugger/get_projectile_hit_boolean(obj/projectile/P) return src == P.original //mobs use get_projectile_hit_chance instead of get_projectile_hit_boolean -/mob/living/proc/get_projectile_hit_chance(obj/item/projectile/P) +/mob/living/proc/get_projectile_hit_chance(obj/projectile/P) if(lying && src != P.original) return FALSE var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags @@ -754,14 +756,15 @@ . = P.get_effective_accuracy() - if(lying && stat) . += 15 //Bonus hit against unconscious people. + if(lying && stat) + . += 15 //Bonus hit against unconscious people. if(isliving(P.firer)) var/mob/living/shooter_living = P.firer if(!can_see(shooter_living,src)) . -= 15 //Can't see the target (Opaque thing between shooter and target) -/mob/living/carbon/human/get_projectile_hit_chance(obj/item/projectile/P) +/mob/living/carbon/human/get_projectile_hit_chance(obj/projectile/P) . = ..() if(.) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags @@ -782,7 +785,7 @@ else return FALSE -/mob/living/carbon/xenomorph/get_projectile_hit_chance(obj/item/projectile/P) +/mob/living/carbon/xenomorph/get_projectile_hit_chance(obj/projectile/P) . = ..() if(.) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags @@ -797,21 +800,24 @@ if(X.hivenumber == hivenumber) return FALSE - if(mob_size >= MOB_SIZE_BIG) . += 10 + if(mob_size == MOB_SIZE_SMALL) + . -= 10 + else if(mob_size >= MOB_SIZE_BIG) + . += 10 if(evasion > 0) . -= evasion -/mob/living/silicon/robot/drone/get_projectile_hit_chance(obj/item/projectile/P) +/mob/living/silicon/robot/drone/get_projectile_hit_chance(obj/projectile/P) return FALSE // just stop them getting hit by projectiles completely -/obj/item/projectile/proc/play_hit_effect(mob/hit_mob) +/obj/projectile/proc/play_hit_effect(mob/hit_mob) if(ammo.sound_hit) playsound(hit_mob, ammo.sound_hit, 50, 1) if(hit_mob.stat != DEAD && !isnull(hit_effect_color)) animation_flash_color(hit_mob, hit_effect_color) -/obj/item/projectile/proc/play_shielded_hit_effect(mob/hit_mob) +/obj/projectile/proc/play_shielded_hit_effect(mob/hit_mob) if(ammo.sound_shield_hit) playsound(hit_mob, ammo.sound_shield_hit, 50, 1) if(hit_mob.stat != DEAD && !isnull(hit_effect_color)) @@ -824,13 +830,13 @@ // \\ //---------------------------------------------------------- -/atom/proc/bullet_act(obj/item/projectile/P) +/atom/proc/bullet_act(obj/projectile/P) return FALSE -/mob/dead/bullet_act(/obj/item/projectile/P) +/mob/dead/bullet_act(/obj/projectile/P) return FALSE -/mob/living/bullet_act(obj/item/projectile/P) +/mob/living/bullet_act(obj/projectile/P) if(!P) return @@ -848,7 +854,7 @@ SEND_SIGNAL(P, COMSIG_BULLET_ACT_LIVING, src, damage, damage) -/mob/living/carbon/human/bullet_act(obj/item/projectile/P) +/mob/living/carbon/human/bullet_act(obj/projectile/P) if(!P) return @@ -961,7 +967,7 @@ SEND_SIGNAL(P, COMSIG_POST_BULLET_ACT_HUMAN, src, damage, damage_result) //Deal with xeno bullets. -/mob/living/carbon/xenomorph/bullet_act(obj/item/projectile/P) +/mob/living/carbon/xenomorph/bullet_act(obj/projectile/P) if(!P || !istype(P)) return @@ -1042,7 +1048,7 @@ return TRUE -/turf/bullet_act(obj/item/projectile/P) +/turf/bullet_act(obj/projectile/P) if(SEND_SIGNAL(src, COMSIG_TURF_BULLET_ACT, P) & COMPONENT_BULLET_ACT_OVERRIDE) return @@ -1066,7 +1072,7 @@ return // walls can get shot and damaged, but bullets (vs energy guns) do much less. -/turf/closed/wall/bullet_act(obj/item/projectile/P) +/turf/closed/wall/bullet_act(obj/projectile/P) . = ..() var/damage = P.damage if(damage < 1) @@ -1086,7 +1092,7 @@ current_bulletholes++ take_damage(damage, P.firer) -/turf/closed/wall/almayer/research/containment/bullet_act(obj/item/projectile/P) +/turf/closed/wall/almayer/research/containment/bullet_act(obj/projectile/P) if(P) var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags if(ammo_flags & AMMO_ACIDIC) @@ -1098,17 +1104,17 @@ //Hitting an object. These are too numerous so they're staying in their files. //Why are there special cases listed here? Oh well, whatever. ~N -/obj/bullet_act(obj/item/projectile/P) +/obj/bullet_act(obj/projectile/P) bullet_ping(P) return TRUE -/obj/item/bullet_act(obj/item/projectile/P) +/obj/item/bullet_act(obj/projectile/P) bullet_ping(P) if(P.ammo.damage_type == BRUTE) explosion_throw(P.damage/2, P.dir, 4) return TRUE -/obj/structure/surface/table/bullet_act(obj/item/projectile/P) +/obj/structure/surface/table/bullet_act(obj/projectile/P) bullet_ping(P) health -= round(P.damage/2) if(health < 0) @@ -1126,7 +1132,7 @@ //This is where the bullet bounces off. -/atom/proc/bullet_ping(obj/item/projectile/P, pixel_x_offset = 0, pixel_y_offset = 0) +/atom/proc/bullet_ping(obj/projectile/P, pixel_x_offset = 0, pixel_y_offset = 0) if(!P || !P.ammo.ping) return @@ -1146,7 +1152,7 @@ /// People getting shot by a large amount of bullets in a very short period of time can lag them out, with chat messages being one cause, so a 1s cooldown per hit message is introduced to assuage that /mob/var/shot_cooldown = 0 -/mob/proc/bullet_message(obj/item/projectile/P) +/mob/proc/bullet_message(obj/projectile/P) if(!P) return if(COOLDOWN_FINISHED(src, shot_cooldown)) @@ -1192,6 +1198,31 @@ if(dx == -1 || dx == 1) return TRUE +/obj/projectile/vulture + accuracy_range_falloff = 10 + /// The odds of hitting a xeno in less than your gun's range. Doesn't apply to humans. + var/xeno_shortrange_chance = 10 + +/obj/projectile/vulture/Initialize(mapload, datum/cause_data/cause_data) + . = ..() + RegisterSignal(src, COMSIG_GUN_VULTURE_FIRED_ONEHAND, PROC_REF(on_onehand)) + +/obj/projectile/vulture/handle_mob(mob/living/hit_mob) + if((ammo.accurate_range_min > distance_travelled) && isxeno(hit_mob)) + if(prob(xeno_shortrange_chance)) + return ..() + + permutated |= hit_mob + return + + return ..() + +/// Handler for when the user one-hands the firing gun +/obj/projectile/vulture/proc/on_onehand(datum/source) + SIGNAL_HANDLER + + accuracy = HIT_ACCURACY_TIER_2 // flat 10% chance if you're desperate and try to fire this thing without a bipod + #undef DEBUG_HIT_CHANCE #undef DEBUG_HUMAN_DEFENSE #undef DEBUG_XENO_DEFENSE diff --git a/code/modules/reagents/chemistry_properties/prop_positive.dm b/code/modules/reagents/chemistry_properties/prop_positive.dm index 65099aa3e462..7f476cecf2c5 100644 --- a/code/modules/reagents/chemistry_properties/prop_positive.dm +++ b/code/modules/reagents/chemistry_properties/prop_positive.dm @@ -481,24 +481,24 @@ description = "Antimicrobial property specifically targeting parasitic pathogens in the body disrupting their growth and potentially killing them." rarity = PROPERTY_UNCOMMON -/datum/chem_property/positive/antiparasitic/process(mob/living/M, potency = 1, delta_time) - if(!ishuman(M)) - return - var/mob/living/carbon/human/H = M - for(var/content in H.contents) - var/obj/item/alien_embryo/A = content - if(A && istype(A)) - if(A.counter > 0) - A.counter = A.counter - potency - H.take_limb_damage(0,POTENCY_MULTIPLIER_MEDIUM*potency) +/datum/chem_property/positive/antiparasitic/process(mob/living/current_mob, potency = 1, delta_time) + if(!ishuman(current_mob)) + return + var/mob/living/carbon/human/current_human = current_mob + for(var/content in current_human.contents) + var/obj/item/alien_embryo/embryo = content + if(embryo && istype(embryo)) + if(embryo.counter > 0) + embryo.counter = embryo.counter - potency + current_human.take_limb_damage(0,POTENCY_MULTIPLIER_MEDIUM*potency) else - A.stage-- - if(A.stage <= 0)//if we reach this point, the embryo dies and the occupant takes a nasty amount of acid damage - qdel(A) - H.take_limb_damage(0,rand(20,40)) - H.vomit() + embryo.stage-- + if(embryo.stage <= 0)//if we reach this point, the embryo dies and the occupant takes a nasty amount of acid damage + qdel(embryo) + current_human.take_limb_damage(0,rand(20,40)) + current_human.vomit() else - A.counter = 90 + embryo.counter = embryo.per_stage_hugged_time /datum/chem_property/positive/antiparasitic/process_overdose(mob/living/M, potency = 1) M.apply_damage(potency, TOX) diff --git a/code/modules/reagents/chemistry_properties/prop_special.dm b/code/modules/reagents/chemistry_properties/prop_special.dm index 7c96169d199f..640e18426311 100644 --- a/code/modules/reagents/chemistry_properties/prop_special.dm +++ b/code/modules/reagents/chemistry_properties/prop_special.dm @@ -96,7 +96,7 @@ H.contract_disease(new /datum/disease/xeno_transformation(0),1) //This is the real reason PMCs are being sent to retrieve it. /datum/chem_property/special/DNA_Disintegrating/trigger() - SSticker.mode.get_specific_call("Weyland-Yutani Goon (Chemical Investigation Squad)", FALSE, FALSE, holder.name, TRUE) + SSticker.mode.get_specific_call("Weyland-Yutani Goon (Chemical Investigation Squad)", TRUE, FALSE, FALSE, holder.name, TRUE) chemical_data.update_credits(10) message_admins("The research department has discovered DNA_Disintegrating in [holder.name] adding 10 bonus tech points.") var/datum/techtree/tree = GET_TREE(TREE_MARINE) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 11d310123089..c7b3d3e1bae2 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -367,7 +367,7 @@ return /obj/structure/machinery/disposal/deliveryChute/Collided(atom/movable/AM) //Go straight into the chute - if(istype(AM, /obj/item/projectile) || istype(AM, /obj/effect)) return + if(istype(AM, /obj/projectile) || istype(AM, /obj/effect)) return switch(dir) if(NORTH) if(AM.loc.y != src.loc.y+1) return diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm index be087444c99e..ba842fb0bfb9 100644 --- a/code/modules/security_levels/security_levels.dm +++ b/code/modules/security_levels/security_levels.dm @@ -7,7 +7,7 @@ //config.alert_desc_blue_downto -/proc/set_security_level(level, no_sound=0, announce=1) +/proc/set_security_level(level, no_sound = FALSE, announce = TRUE, log = ARES_LOG_SECURITY) if(level != security_level) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_SECURITY_LEVEL_CHANGED, level) @@ -16,32 +16,32 @@ switch(level) if(SEC_LEVEL_GREEN) if(announce) - ai_announcement("Attention: Security level lowered to GREEN - all clear.", no_sound ? null : 'sound/AI/code_green.ogg', ARES_LOG_SECURITY) + ai_announcement("Attention: Security level lowered to GREEN - all clear.", no_sound ? null : 'sound/AI/code_green.ogg', log) security_level = SEC_LEVEL_GREEN if(SEC_LEVEL_BLUE) if(security_level < SEC_LEVEL_BLUE) if(announce) - ai_announcement("Attention: Security level elevated to BLUE - potentially hostile activity on board.", no_sound ? null : 'sound/AI/code_blue_elevated.ogg', ARES_LOG_SECURITY) + ai_announcement("Attention: Security level elevated to BLUE - potentially hostile activity on board.", no_sound ? null : 'sound/AI/code_blue_elevated.ogg', log) else if(announce) - ai_announcement("Attention: Security level lowered to BLUE - potentially hostile activity on board.", no_sound ? null : 'sound/AI/code_blue_lowered.ogg', ARES_LOG_SECURITY) + ai_announcement("Attention: Security level lowered to BLUE - potentially hostile activity on board.", no_sound ? null : 'sound/AI/code_blue_lowered.ogg', log) security_level = SEC_LEVEL_BLUE if(SEC_LEVEL_RED) if(security_level < SEC_LEVEL_RED) if(announce) - ai_announcement("Attention: Security level elevated to RED - there is an immediate threat to the ship.", no_sound ? null : 'sound/AI/code_red_elevated.ogg', ARES_LOG_SECURITY) + ai_announcement("Attention: Security level elevated to RED - there is an immediate threat to the ship.", no_sound ? null : 'sound/AI/code_red_elevated.ogg', log) else if(announce) - ai_announcement("Attention: Security level lowered to RED - there is an immediate threat to the ship.", no_sound ? null : 'sound/AI/code_red_lowered.ogg', ARES_LOG_SECURITY) + ai_announcement("Attention: Security level lowered to RED - there is an immediate threat to the ship.", no_sound ? null : 'sound/AI/code_red_lowered.ogg', log) security_level = SEC_LEVEL_RED if(SEC_LEVEL_DELTA) if(announce) var/name = "SELF-DESTRUCT SYSTEMS ACTIVE" var/input = "DANGER, THE EMERGENCY DESTRUCT SYSTEM IS NOW ACTIVATED. PROCEED TO THE SELF-DESTRUCT CHAMBER FOR CONTROL ROD INSERTION." - marine_announcement(input, name, 'sound/AI/selfdestruct_short.ogg', logging = ARES_LOG_SECURITY) + marine_announcement(input, name, 'sound/AI/selfdestruct_short.ogg', logging = log) security_level = SEC_LEVEL_DELTA EvacuationAuthority.enable_self_destruct() diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index a7d988e460e1..26869cfcf448 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -284,23 +284,36 @@ /obj/structure/machinery/computer/shuttle/lifeboat/attack_hand(mob/user) . = ..() - var/obj/docking_port/mobile/lifeboat/lifeboat = SSshuttle.getShuttle(shuttleId) + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = SSshuttle.getShuttle(shuttleId) if(lifeboat.status == LIFEBOAT_LOCKED) - to_chat(user, SPAN_WARNING("\The [src] flickers with error messages.")) + to_chat(user, SPAN_WARNING("[src] flickers with error messages.")) else if(lifeboat.status == LIFEBOAT_INACTIVE) - to_chat(user, SPAN_NOTICE("\The [src]'s screen says \"Awaiting evacuation order\".")) + to_chat(user, SPAN_NOTICE("[src]'s screen says \"Awaiting evacuation order\".")) else if(lifeboat.status == LIFEBOAT_ACTIVE) switch(lifeboat.mode) if(SHUTTLE_IDLE) - to_chat(user, SPAN_NOTICE("\The [src]'s screen says \"Awaiting confirmation of the evacuation order\".")) + if(!istype(user, /mob/living/carbon/human)) + to_chat(user, SPAN_NOTICE("[src]'s screen says \"Awaiting confirmation of the evacuation order\".")) + return + + var/mob/living/carbon/human/human_user = user + if(!(ACCESS_MARINE_SENIOR in human_user.wear_id?.access)) + to_chat(user, SPAN_NOTICE("[src]'s screen says \"Awaiting confirmation of the evacuation order\".")) + return + + if(tgui_alert(user, "Early launch the lifeboat?", "Confirm", list("Yes", "No"), 10 SECONDS) == "Yes") + to_chat(user, SPAN_NOTICE("[src]'s screen blinks and says \"Early launch accepted\".")) + lifeboat.evac_launch() + return + if(SHUTTLE_IGNITING) - to_chat(user, SPAN_NOTICE("\The [src]'s screen says \"Engines firing\".")) + to_chat(user, SPAN_NOTICE("[src]'s screen says \"Engines firing\".")) if(SHUTTLE_CALL) - to_chat(user, SPAN_NOTICE("\The [src] has flight information scrolling across the screen. The autopilot is working correctly.")) + to_chat(user, SPAN_NOTICE("[src] has flight information scrolling across the screen. The autopilot is working correctly.")) /obj/structure/machinery/computer/shuttle/lifeboat/attack_alien(mob/living/carbon/xenomorph/xeno) if(xeno.caste && xeno.caste.is_intelligent) - var/obj/docking_port/mobile/lifeboat/lifeboat = SSshuttle.getShuttle(shuttleId) + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = SSshuttle.getShuttle(shuttleId) if(lifeboat.status == LIFEBOAT_LOCKED) to_chat(xeno, SPAN_WARNING("We already wrested away control of this metal bird.")) return XENO_NO_DELAY_ACTION diff --git a/code/modules/shuttle/computers/dropship_computer.dm b/code/modules/shuttle/computers/dropship_computer.dm index 7e8dc34f6892..c7a79b9c44ca 100644 --- a/code/modules/shuttle/computers/dropship_computer.dm +++ b/code/modules/shuttle/computers/dropship_computer.dm @@ -272,6 +272,8 @@ GLOB.alt_ctrl_disabled = TRUE marine_announcement("Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.", "Dropship Alert", 'sound/AI/hijack.ogg', logging = ARES_LOG_SECURITY) + var/datum/ares_link/link = GLOB.ares_link + link.log_ares_flight("Unknown", "Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.") var/mob/living/carbon/xenomorph/xeno = user var/hivenumber = XENO_HIVE_NORMAL @@ -350,6 +352,7 @@ to_chat(user, SPAN_WARNING("The dropship isn't responding to controls.")) return + var/datum/ares_link/link = GLOB.ares_link switch(action) if("move") if(shuttle.mode != SHUTTLE_IDLE && (shuttle.mode != SHUTTLE_CALL && !shuttle.destination)) @@ -366,6 +369,7 @@ update_equipment(is_optimised) if(is_set_flyby) to_chat(user, SPAN_NOTICE("You begin the launch sequence for a flyby.")) + link.log_ares_flight(user.name, "Launched Dropship [shuttle.name] on a flyby.") var/log = "[key_name(user)] launched the dropship [src.shuttleId] on flyby." msg_admin_niche(log) log_interact(user, msg = "[log]") @@ -394,6 +398,7 @@ return TRUE SSshuttle.moveShuttle(shuttle.id, dock.id, TRUE) to_chat(user, SPAN_NOTICE("You begin the launch sequence to [dock].")) + link.log_ares_flight(user.name, "Launched Dropship [shuttle.name] on a flight to [dock].") var/log = "[key_name(user)] launched the dropship [src.shuttleId] on transport." msg_admin_niche(log) log_interact(user, msg = "[log]") @@ -413,11 +418,13 @@ to_chat(user, SPAN_WARNING("Door controls have been overridden. Please call technical support.")) if("set-ferry") is_set_flyby = FALSE + link.log_ares_flight(user.name, "Set Dropship [shuttle.name] to transport runs.") var/log = "[key_name(user)] set the dropship [src.shuttleId] into transport" msg_admin_niche(log) log_interact(user, msg = "[log]") if("set-flyby") is_set_flyby = TRUE + link.log_ares_flight(user.name, "Set Dropship [shuttle.name] to flyby runs.") var/log = "[key_name(user)] set the dropship [src.shuttleId] into flyby." msg_admin_niche(log) log_interact(user, msg = "[log]") @@ -440,6 +447,7 @@ shuttle.automated_lz_id = ground_lz shuttle.automated_delay = delay playsound(loc, get_sfx("terminal_button"), KEYBOARD_SOUND_VOLUME, 1) + link.log_ares_flight(user.name, "Enabled autopilot for Dropship [shuttle.name].") var/log = "[key_name(user)] has enabled auto pilot on '[shuttle.name]'" message_admins(log) log_interact(user, msg = "[log]") @@ -456,6 +464,7 @@ shuttle.automated_lz_id = null shuttle.automated_delay = null playsound(loc, get_sfx("terminal_button"), KEYBOARD_SOUND_VOLUME, 1) + link.log_ares_flight(user.name, "Disabled autopilot for Dropship [shuttle.name].") var/log = "[key_name(user)] has disabled auto pilot on '[shuttle.name]'" message_admins(log) log_interact(user, msg = "[log]") diff --git a/code/modules/shuttle/computers/escape_pod_computer.dm b/code/modules/shuttle/computers/escape_pod_computer.dm index 99a989ab2e9f..6f9292cfc048 100644 --- a/code/modules/shuttle/computers/escape_pod_computer.dm +++ b/code/modules/shuttle/computers/escape_pod_computer.dm @@ -39,7 +39,7 @@ /obj/structure/machinery/computer/shuttle/escape_pod_panel/ui_data(mob/user) . = list() - var/obj/docking_port/mobile/escape_shuttle/shuttle = SSshuttle.getShuttle(shuttleId) + var/obj/docking_port/mobile/crashable/escape_shuttle/shuttle = SSshuttle.getShuttle(shuttleId) if(pod_state == STATE_IDLE && shuttle.evac_set) pod_state = STATE_READY @@ -63,9 +63,12 @@ if(.) return - var/obj/docking_port/mobile/escape_shuttle/shuttle = SSshuttle.getShuttle(shuttleId) + var/obj/docking_port/mobile/crashable/escape_shuttle/shuttle = SSshuttle.getShuttle(shuttleId) switch(action) if("force_launch") + if(pod_state != STATE_READY && pod_state != STATE_DELAYED) + return + shuttle.evac_launch() pod_state = STATE_LAUNCHING . = TRUE @@ -204,7 +207,7 @@ heat_proof = 1 unslashable = TRUE unacidable = TRUE - var/obj/docking_port/mobile/escape_shuttle/linked_shuttle + var/obj/docking_port/mobile/crashable/escape_shuttle/linked_shuttle /obj/structure/machinery/door/airlock/evacuation/Initialize() . = ..() @@ -229,16 +232,16 @@ /obj/structure/machinery/door/airlock/evacuation/attack_alien(mob/living/carbon/xenomorph/xeno) if(!density || unslashable) //doors become slashable after evac is called return FALSE - + if(xeno.claw_type < CLAW_TYPE_SHARP) to_chat(xeno, SPAN_WARNING("[src] is bolted down tight.")) return XENO_NO_DELAY_ACTION - + xeno.animation_attack_on(src) playsound(src, 'sound/effects/metalhit.ogg', 25, 1) take_damage(HEALTH_DOOR / XENO_HITS_TO_DESTROY_BOLTED_DOOR) return XENO_ATTACK_ACTION - + /obj/structure/machinery/door/airlock/evacuation/attack_remote() return FALSE diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 15f1f6790591..d834822e884a 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -132,8 +132,7 @@ All ShuttleMove procs go here var/turf/target = get_edge_target_turf(src, move_dir) var/range = throw_force * 10 range = CEILING(rand(range-(range*0.1), range+(range*0.1)), 10)/10 - var/speed = range/5 - safe_throw_at(target, range, speed) //, force = MOVE_FORCE_EXTREMELY_STRONG) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, safe_throw_at), target, range, SPEED_AVERAGE) //=====================================================================// diff --git a/code/modules/shuttle/shuttles/crashable/crashable.dm b/code/modules/shuttle/shuttles/crashable/crashable.dm new file mode 100644 index 000000000000..de1c5cc8e4fb --- /dev/null +++ b/code/modules/shuttle/shuttles/crashable/crashable.dm @@ -0,0 +1,179 @@ +/obj/docking_port/mobile/crashable + name = "crashable shuttle" + + /// Whether or not this shuttle is crash landing + var/crash_land = FALSE + /// Whether fires occur aboard the shuttle when crashing + var/fires_on_crash = FALSE + +/obj/docking_port/mobile/crashable/enterTransit() + . = ..() + + if(!crash_land) + return + + notify_ghosts(header = "Crashing shuttle!", message = "[name] has catastrophically failed and is crashing at [get_area(destination)].", source = src) + + for(var/area/shuttle_area as anything in shuttle_areas) + shuttle_area.flags_alarm_state |= ALARM_WARNING_FIRE + shuttle_area.updateicon() + for(var/mob/evac_mob in shuttle_area) + if(evac_mob.client) + playsound_client(evac_mob.client, 'sound/effects/bomb_fall.ogg', vol = 50) + + for(var/turf/found_turf as anything in destination.return_turfs()) + if(istype(found_turf, /turf/closed)) + found_turf.ChangeTurf(/turf/open/floor) + + for(var/mob/current_mob as anything in get_mobs_in_z_level_range(destination.return_center_turf(), 18)) + var/relative_dir = get_dir(current_mob, destination.return_center_turf()) + var/final_dir = dir2text(relative_dir) + to_chat(current_mob, SPAN_HIGHDANGER("You hear something crashing down from above [final_dir ? "to the [final_dir]" : "nearby"]!")) + + if(fires_on_crash) + handle_fires() + + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cell_explosion), destination.return_center_turf(), length(destination.return_turfs()) * 2, 25, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("crashing shuttle")), 1.5 SECONDS) + +/obj/docking_port/mobile/crashable/on_prearrival() + . = ..() + + if(!crash_land) + return + + movement_force = list("KNOCKDOWN" = 0, "THROW" = 5) + + for(var/area/shuttle_area in shuttle_areas) + for(var/mob/evac_mob in shuttle_area) + shake_camera(evac_mob, 20, 2) + if(evac_mob.client) + playsound_client(evac_mob.client, get_sfx("bigboom"), vol = 50) + +/// Called when the shuttle is launched and checks for crash and creates a crash point +/obj/docking_port/mobile/crashable/proc/evac_launch() + if(!crash_check()) + return + + create_crash_point() + +/// Returns whether or not the shuttle will crash after being sent +/obj/docking_port/mobile/crashable/proc/crash_check() + return FALSE + +/// Sets up a valid crash point, fails after 10 tries +/obj/docking_port/mobile/crashable/proc/create_crash_point() + for(var/i = 1 to 10) + var/list/all_ground_levels = SSmapping.levels_by_trait(ZTRAIT_GROUND) + var/ground_z_level = all_ground_levels[1] + + var/list/area/potential_areas = SSmapping.areas_in_z["[ground_z_level]"] + + var/area/area_picked = pick(potential_areas) + + var/list/potential_turfs = list() + + for(var/turf/turf_in_area in area_picked) + potential_turfs += turf_in_area + + if(!length(potential_turfs)) + continue + + var/turf/turf_picked = pick(potential_turfs) + + var/obj/docking_port/stationary/crashable/temp_crashable_port = new(turf_picked) + temp_crashable_port.width = width + temp_crashable_port.height = height + temp_crashable_port.id = id + + if(!check_crash_point(temp_crashable_port)) + qdel(temp_crashable_port) + continue + + destination = temp_crashable_port + break + + if(destination) + crash_land = TRUE + +/// Checks for anything that may get in the way of a crash, returns FALSE if there is something in the way or is out of bounds +/obj/docking_port/mobile/crashable/proc/check_crash_point(obj/docking_port/stationary/crashable/checked_crashable_port) + for(var/turf/found_turf as anything in checked_crashable_port.return_turfs()) + var/area/found_area = get_area(found_turf) + if(found_area.flags_area & AREA_NOTUNNEL) + return FALSE + + if(!found_area.can_build_special) + return FALSE + + if(istype(found_turf, /turf/closed/wall)) + var/turf/closed/wall/found_closed_turf = found_turf + if(found_closed_turf.hull) + return FALSE + + if(istype(found_turf, /turf/closed/shuttle)) + return FALSE + + for(var/obj/docking_port/stationary/stationary_dock in get_turf(checked_crashable_port)) + if(stationary_dock != checked_crashable_port) + return FALSE + + for(var/obj/docking_port/mobile/cycled_mobile_port as anything in SSshuttle.mobile) + if(cycled_mobile_port == src) + continue + + if(!cycled_mobile_port.destination) + continue + + if(length(checked_crashable_port.return_turfs() & cycled_mobile_port.destination.return_turfs())) + return FALSE + + return TRUE + +/// Forces the shuttle to crash, admin called +/obj/docking_port/mobile/crashable/proc/force_crash() + create_crash_point() + set_mode(SHUTTLE_IGNITING) + on_ignition() + setTimer(ignitionTime) + +/// Sets up and handles fires/explosions on crashing shuttles +/obj/docking_port/mobile/crashable/proc/handle_fires() + var/list/turf/total_turfs = list() + for(var/area/shuttle_area as anything in shuttle_areas) + for(var/turf/cycled_turf in shuttle_area) + total_turfs += cycled_turf + + for(var/i = 1 to (length(total_turfs) / 40)) + var/turf/position = pick(total_turfs) + new /obj/effect/warning/explosive(position, 3 SECONDS) + playsound(position, 'sound/effects/pipe_hissing.ogg', vol = 40) + addtimer(CALLBACK(src, PROC_REF(kablooie), position), 3 SECONDS) + +/// Actually blows up the fire/explosion on crashing shuttles, used for effect delay +/obj/docking_port/mobile/crashable/proc/kablooie(turf/position) + var/new_cause_data = create_cause_data("crashing shuttle fire") + var/list/exploding_types = list(/obj/item/explosive/grenade/high_explosive/bursting_pipe, /obj/item/explosive/grenade/incendiary/bursting_pipe) + for(var/path in exploding_types) + var/obj/item/explosive/grenade/exploder = new path(position) + exploder.cause_data = new_cause_data + exploder.prime() + +/// Handles opening the doors for the specific shuttle type upon arriving at the crash point +/obj/docking_port/mobile/crashable/proc/open_doors() + return + +/obj/docking_port/stationary/crashable + name = "Crashable Dock" + +/obj/docking_port/stationary/crashable/on_arrival(obj/docking_port/mobile/arriving_shuttle) + . = ..() + + if(istype(arriving_shuttle, /obj/docking_port/mobile/crashable)) + var/obj/docking_port/mobile/crashable/crashing_shuttle = arriving_shuttle + crashing_shuttle.open_doors() + + for(var/area/shuttle_area in arriving_shuttle.shuttle_areas) + shuttle_area.remove_base_lighting() + + shuttle_area.flags_alarm_state &= ~ALARM_WARNING_FIRE + shuttle_area.updateicon() diff --git a/code/modules/shuttle/shuttles/escape_shuttle.dm b/code/modules/shuttle/shuttles/crashable/escape_shuttle.dm similarity index 56% rename from code/modules/shuttle/shuttles/escape_shuttle.dm rename to code/modules/shuttle/shuttles/crashable/escape_shuttle.dm index 941785e60d9d..6029d345b6d7 100644 --- a/code/modules/shuttle/shuttles/escape_shuttle.dm +++ b/code/modules/shuttle/shuttles/crashable/escape_shuttle.dm @@ -1,4 +1,4 @@ -/obj/docking_port/mobile/escape_shuttle +/obj/docking_port/mobile/crashable/escape_shuttle name = "Escape Pod" id = ESCAPE_SHUTTLE area_type = /area/shuttle/escape_pod @@ -17,10 +17,9 @@ var/datum/door_controller/single/door_handler = new() var/launched = FALSE - var/crash_land = FALSE var/evac_set = FALSE -/obj/docking_port/mobile/escape_shuttle/Initialize(mapload) +/obj/docking_port/mobile/crashable/escape_shuttle/Initialize(mapload) . = ..(mapload) for(var/place in shuttle_areas) for(var/obj/structure/machinery/door/airlock/evacuation/air in place) @@ -30,7 +29,7 @@ air.unacidable = TRUE air.linked_shuttle = src -/obj/docking_port/mobile/escape_shuttle/proc/cancel_evac() +/obj/docking_port/mobile/crashable/escape_shuttle/proc/cancel_evac() door_handler.control_doors("force-unlock") evac_set = FALSE @@ -42,7 +41,7 @@ for(var/obj/structure/machinery/cryopod/evacuation/cryotube in interior_area) cryotube.dock_state = STATE_IDLE -/obj/docking_port/mobile/escape_shuttle/proc/prepare_evac() +/obj/docking_port/mobile/crashable/escape_shuttle/proc/prepare_evac() door_handler.control_doors("force-unlock") evac_set = TRUE for(var/area/interior_area in shuttle_areas) @@ -54,8 +53,9 @@ air.unslashable = FALSE air.unacidable = FALSE +/obj/docking_port/mobile/crashable/escape_shuttle/evac_launch() + . = ..() -/obj/docking_port/mobile/escape_shuttle/proc/evac_launch() if(mode == SHUTTLE_CRASHED) return @@ -86,10 +86,6 @@ door_handler.control_doors("force-unlock") return - destination = null - if(prob((EvacuationAuthority.evac_status >= EVACUATION_STATUS_IN_PROGRESS ? crash_land_chance : early_crash_land_chance))) - create_crash_point() - set_mode(SHUTTLE_IGNITING) on_ignition() setTimer(ignitionTime) @@ -104,128 +100,44 @@ air.indestructible = TRUE air.unacidable = TRUE - -/obj/docking_port/mobile/escape_shuttle/proc/create_crash_point() - for(var/i = 1 to 10) - var/list/all_ground_levels = SSmapping.levels_by_trait(ZTRAIT_GROUND) - var/ground_z_level = all_ground_levels[1] - - var/list/area/potential_areas = SSmapping.areas_in_z["[ground_z_level]"] - - var/area/area_picked = pick(potential_areas) - - var/list/potential_turfs = list() - - for(var/turf/turf_in_area in area_picked) - potential_turfs += turf_in_area - - if(!length(potential_turfs)) - continue - - var/turf/turf_picked = pick(potential_turfs) - - var/obj/docking_port/stationary/escape_pod/crash_land/temp_escape_pod_port = new(turf_picked) - temp_escape_pod_port.width = width - temp_escape_pod_port.height = height - temp_escape_pod_port.id = id - - if(!check_crash_point(temp_escape_pod_port)) - qdel(temp_escape_pod_port) - continue - - destination = temp_escape_pod_port - break - - if(destination) - crash_land = TRUE - -/obj/docking_port/mobile/escape_shuttle/proc/check_crash_point(obj/docking_port/stationary/escape_pod/crash_land/checked_escape_pod_port) - for(var/turf/found_turf as anything in checked_escape_pod_port.return_turfs()) - var/area/found_area = get_area(found_turf) - if(found_area.flags_area & AREA_NOTUNNEL) - return FALSE - - if(!found_area.can_build_special) - return FALSE - - if(istype(found_turf, /turf/closed/wall)) - var/turf/closed/wall/found_closed_turf = found_turf - if(found_closed_turf.hull) - return FALSE - - if(istype(found_turf, /turf/closed/shuttle)) - return FALSE - - return TRUE - -/obj/docking_port/mobile/escape_shuttle/enterTransit() +/obj/docking_port/mobile/crashable/escape_shuttle/crash_check() . = ..() - if(!crash_land) - return - - for(var/area/shuttle_area in shuttle_areas) - shuttle_area.flags_alarm_state |= ALARM_WARNING_FIRE - shuttle_area.updateicon() - for(var/mob/evac_mob in shuttle_area) - if(evac_mob.client) - playsound_client(evac_mob.client, 'sound/effects/bomb_fall.ogg', vol = 50) - - for(var/turf/found_turf as anything in destination.return_turfs()) - if(istype(found_turf, /turf/closed)) - found_turf.ChangeTurf(/turf/open/floor) - - cell_explosion(destination.return_center_turf(), 300, 25, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, create_cause_data("evac pod crash")) + if(prob((EvacuationAuthority.evac_status >= EVACUATION_STATUS_IN_PROGRESS ? crash_land_chance : early_crash_land_chance))) + return TRUE -/obj/docking_port/mobile/escape_shuttle/on_prearrival() +/obj/docking_port/mobile/crashable/escape_shuttle/open_doors() . = ..() - if(!crash_land) - return - - movement_force = list("KNOCKDOWN" = 0, "THROW" = 5) - - for(var/area/shuttle_area in shuttle_areas) - for(var/mob/evac_mob in shuttle_area) - shake_camera(evac_mob, 20, 2) - if(evac_mob.client) - playsound_client(evac_mob.client, get_sfx("bigboom"), vol = 50) - door_handler.control_doors("force-unlock") -/obj/docking_port/mobile/escape_shuttle/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) +/obj/docking_port/mobile/crashable/escape_shuttle/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() playsound(src,'sound/effects/escape_pod_launch.ogg', 50, 1) -/obj/docking_port/mobile/escape_shuttle/proc/force_crash() - create_crash_point() - set_mode(SHUTTLE_IGNITING) - on_ignition() - setTimer(ignitionTime) - -/obj/docking_port/mobile/escape_shuttle/e +/obj/docking_port/mobile/crashable/escape_shuttle/e id = ESCAPE_SHUTTLE_EAST width = 4 height = 5 -/obj/docking_port/mobile/escape_shuttle/cl +/obj/docking_port/mobile/crashable/escape_shuttle/cl id = ESCAPE_SHUTTLE_EAST_CL width = 4 height = 5 early_crash_land_chance = 25 crash_land_chance = 5 -/obj/docking_port/mobile/escape_shuttle/w +/obj/docking_port/mobile/crashable/escape_shuttle/w id = ESCAPE_SHUTTLE_WEST width = 4 height = 5 -/obj/docking_port/mobile/escape_shuttle/n +/obj/docking_port/mobile/crashable/escape_shuttle/n id = ESCAPE_SHUTTLE_NORTH width = 5 height = 4 -/obj/docking_port/mobile/escape_shuttle/s +/obj/docking_port/mobile/crashable/escape_shuttle/s id = ESCAPE_SHUTTLE_SOUTH width = 5 height = 4 @@ -263,22 +175,6 @@ width = 4 height = 5 -/obj/docking_port/stationary/escape_pod/crash_land - name = "Crash Escape Pod Dock" - -/obj/docking_port/stationary/escape_pod/crash_land/on_arrival(obj/docking_port/mobile/arriving_shuttle) - . = ..() - - if(istype(arriving_shuttle, /obj/docking_port/mobile/escape_shuttle)) - var/obj/docking_port/mobile/escape_shuttle/escape_shuttle = arriving_shuttle - escape_shuttle.door_handler.control_doors("force-unlock") - - for(var/area/shuttle_area in arriving_shuttle.shuttle_areas) - shuttle_area.remove_base_lighting() - - shuttle_area.flags_alarm_state &= ~ALARM_WARNING_FIRE - shuttle_area.updateicon() - /datum/map_template/shuttle/escape_pod_w name = "Escape Pod W" shuttle_id = ESCAPE_SHUTTLE_WEST diff --git a/code/modules/shuttle/lifeboats.dm b/code/modules/shuttle/shuttles/crashable/lifeboats.dm similarity index 82% rename from code/modules/shuttle/lifeboats.dm rename to code/modules/shuttle/shuttles/crashable/lifeboats.dm index 36696441a961..93489ee4a359 100644 --- a/code/modules/shuttle/lifeboats.dm +++ b/code/modules/shuttle/shuttles/crashable/lifeboats.dm @@ -1,7 +1,7 @@ // === MOBILES /// Generic Lifeboat definition -/obj/docking_port/mobile/lifeboat +/obj/docking_port/mobile/crashable/lifeboat name = "lifeboat" area_type = /area/shuttle/lifeboat ignitionTime = 10 SECONDS @@ -12,7 +12,9 @@ var/list/doors = list() var/survivors = 0 -/obj/docking_port/mobile/lifeboat/proc/check_for_survivors() + fires_on_crash = TRUE + +/obj/docking_port/mobile/crashable/lifeboat/proc/check_for_survivors() for(var/mob/living/carbon/human/survived_human as anything in GLOB.alive_human_list) //check for lifeboats survivors var/area/area = get_area(survived_human) if(!survived_human) @@ -25,26 +27,42 @@ to_chat(survived_human, "

[SPAN_CENTERBOLD("You have successfully left the [MAIN_SHIP_NAME]. You may now ghost and observe the rest of the round.")]
") /// Port Aft Lifeboat (bottom-right, doors on its left side) -/obj/docking_port/mobile/lifeboat/port +/obj/docking_port/mobile/crashable/lifeboat/port name = "port-aft lifeboat" id = MOBILE_SHUTTLE_LIFEBOAT_PORT preferred_direction = WEST port_direction = WEST /// Starboard Aft Lifeboat (top-right, doors its right side) -/obj/docking_port/mobile/lifeboat/starboard +/obj/docking_port/mobile/crashable/lifeboat/starboard name = "starboard-aft lifeboat" id = MOBILE_SHUTTLE_LIFEBOAT_STARBOARD preferred_direction = EAST port_direction = EAST -/obj/docking_port/mobile/lifeboat/proc/send_to_infinite_transit() +/obj/docking_port/mobile/crashable/lifeboat/evac_launch() + . = ..() + available = FALSE - destination = null set_mode(SHUTTLE_IGNITING) on_ignition() setTimer(ignitionTime) +/obj/docking_port/mobile/crashable/lifeboat/crash_check() + . = ..() + + if(EvacuationAuthority.evac_status >= EVACUATION_STATUS_IN_PROGRESS) + return FALSE + + if(prob(abs(((world.time - EvacuationAuthority.evac_time) / EVACUATION_AUTOMATIC_DEPARTURE) - 1) * 100)) + return TRUE + +/obj/docking_port/mobile/crashable/lifeboat/open_doors() + . = ..() + + for(var/obj/structure/machinery/door/airlock/multi_tile/door in doors) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, unlock_and_open)) + // === STATIONARIES /// Generic lifeboat dock @@ -54,7 +72,7 @@ height = 7 /obj/docking_port/stationary/lifeboat_dock/on_dock_ignition(departing_shuttle) - var/obj/docking_port/mobile/lifeboat/lifeboat = departing_shuttle + var/obj/docking_port/mobile/crashable/lifeboat/lifeboat = departing_shuttle if(istype(lifeboat)) for(var/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/door in lifeboat.doors) INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, close_and_lock)) @@ -71,7 +89,7 @@ blastdoor.vacate_premises() /obj/docking_port/stationary/lifeboat_dock/proc/open_dock() - var/obj/docking_port/mobile/lifeboat/docked_shuttle = get_docked() + var/obj/docking_port/mobile/crashable/lifeboat/docked_shuttle = get_docked() if(docked_shuttle) for(var/obj/structure/machinery/door/airlock/multi_tile/door in docked_shuttle.doors) INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, unlock_and_open)) @@ -81,7 +99,7 @@ addtimer(CALLBACK(blastdoor, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, unlock_and_open)), 10) /obj/docking_port/stationary/lifeboat_dock/proc/close_dock() - var/obj/docking_port/mobile/lifeboat/docked_shuttle = get_docked() + var/obj/docking_port/mobile/crashable/lifeboat/docked_shuttle = get_docked() if(docked_shuttle) for(var/obj/structure/machinery/door/airlock/multi_tile/door in docked_shuttle.doors) INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat, close_and_lock)) @@ -125,5 +143,3 @@ /datum/map_template/shuttle/lifeboat_starboard name = "Starboard door lifeboat" shuttle_id = MOBILE_SHUTTLE_LIFEBOAT_STARBOARD - - diff --git a/code/modules/shuttle/shuttles/ert.dm b/code/modules/shuttle/shuttles/ert.dm index 2868dc4a237b..1760caf3d87c 100644 --- a/code/modules/shuttle/shuttles/ert.dm +++ b/code/modules/shuttle/shuttles/ert.dm @@ -105,6 +105,13 @@ port_direction = NORTH // ERT Shuttle 4 + +/obj/docking_port/mobile/emergency_response/ert4 + name = "TWE Shuttle" + id = MOBILE_SHUTTLE_ID_ERT4 + preferred_direction = SOUTH + port_direction = NORTH + /obj/docking_port/mobile/emergency_response/small name = "Rescue Shuttle" id = MOBILE_SHUTTLE_ID_ERT_SMALL @@ -115,6 +122,7 @@ var/port_door var/starboard_door + /obj/docking_port/mobile/emergency_response/small/Initialize(mapload) . = ..() external_doors = list() @@ -293,6 +301,14 @@ height = 29 roundstart_template = /datum/map_template/shuttle/big_ert +/obj/docking_port/stationary/emergency_response/idle_port6 + name = "Response Station Landing Pad 6" + dir = NORTH + id = ADMIN_LANDING_PAD_5 + width = 17 + height = 29 + roundstart_template = /datum/map_template/shuttle/twe_ert + /datum/map_template/shuttle/response_ert name = "Response Shuttle" shuttle_id = "ert_response_shuttle" @@ -305,6 +321,10 @@ name = "UPP Shuttle" shuttle_id = "ert_upp_shuttle" +/datum/map_template/shuttle/twe_ert + name = "TWE Shuttle" + shuttle_id = "ert_twe_shuttle" + /datum/map_template/shuttle/small_ert name = "Rescue Shuttle" shuttle_id = "ert_small_shuttle_north" diff --git a/code/modules/shuttles/marine_ferry.dm b/code/modules/shuttles/marine_ferry.dm index 17caccde207e..426d90c1457a 100644 --- a/code/modules/shuttles/marine_ferry.dm +++ b/code/modules/shuttles/marine_ferry.dm @@ -102,6 +102,8 @@ automated_launch = FALSE automated_launch_timer = TIMER_ID_NULL ai_silent_announcement("Dropship '[name]' departing.") + var/datum/ares_link/link = GLOB.ares_link + link.log_ares_flight("Automated", "Dropship [name] launched on an automatic flight.") /* diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index ecf1bacf080b..12356754872c 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -293,6 +293,8 @@ GLOBAL_LIST_EMPTY(shuttle_controls) marine_announcement("Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.", "Dropship Alert", 'sound/AI/hijack.ogg', logging = ARES_LOG_SECURITY) shuttle.alerts_allowed-- + var/datum/ares_link/link = GLOB.ares_link + link.log_ares_flight("Unknown", "Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.") to_chat(Q, SPAN_DANGER("A loud alarm erupts from [src]! The fleshy hosts must know that you can access it!")) xeno_message(SPAN_XENOANNOUNCE("The Queen has commanded the metal bird to depart for the metal hive in the sky! Rejoice!"),3,Q.hivenumber) @@ -335,7 +337,7 @@ GLOBAL_LIST_EMPTY(shuttle_controls) ui_interact(usr) -/obj/structure/machinery/computer/shuttle_control/bullet_act(obj/item/projectile/Proj) +/obj/structure/machinery/computer/shuttle_control/bullet_act(obj/projectile/Proj) visible_message("[Proj] ricochets off [src]!") return 0 diff --git a/code/modules/surgery/robolimb_repair.dm b/code/modules/surgery/robolimb_repair.dm index 99c918039a31..f7ec1b483f66 100644 --- a/code/modules/surgery/robolimb_repair.dm +++ b/code/modules/surgery/robolimb_repair.dm @@ -12,6 +12,7 @@ pain_reduction_required = NONE requires_bodypart = TRUE requires_bodypart_type = LIMB_ROBOT + lying_required = FALSE /datum/surgery/prosthetic_recalibration/can_start(mob/user, mob/living/carbon/patient, obj/limb/L, obj/item/tool) if(L.status & LIMB_UNCALIBRATED_PROSTHETIC) diff --git a/code/modules/teleporters/teleporter_console.dm b/code/modules/teleporters/teleporter_console.dm index bdd62f67fdad..b9a3629c881d 100644 --- a/code/modules/teleporters/teleporter_console.dm +++ b/code/modules/teleporters/teleporter_console.dm @@ -166,7 +166,7 @@ ..() -/obj/structure/machinery/computer/teleporter_console/bullet_act(obj/item/projectile/P) +/obj/structure/machinery/computer/teleporter_console/bullet_act(obj/projectile/P) visible_message("[P] doesn't even scratch [src]!") return FALSE diff --git a/code/modules/tents/blockers.dm b/code/modules/tents/blockers.dm index 24765ca2a284..3c02ca326149 100644 --- a/code/modules/tents/blockers.dm +++ b/code/modules/tents/blockers.dm @@ -34,7 +34,7 @@ PF.flags_can_pass_front = NONE PF.flags_can_pass_behind = NONE -/obj/structure/blocker/tent/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/blocker/tent/get_projectile_hit_boolean(obj/projectile/P) . = ..() return FALSE // Always fly through the tent diff --git a/code/modules/tents/deployed_tents.dm b/code/modules/tents/deployed_tents.dm index d55fe6b59879..9ea06e357d9e 100644 --- a/code/modules/tents/deployed_tents.dm +++ b/code/modules/tents/deployed_tents.dm @@ -112,7 +112,7 @@ playsound(src, 'sound/items/paper_ripped.ogg', 25, 1) qdel(src) -/obj/structure/tent/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/tent/get_projectile_hit_boolean(obj/projectile/P) . = ..() return FALSE // Always fly through the tent diff --git a/code/modules/tents/equipment.dm b/code/modules/tents/equipment.dm index f2f9175a240e..0d47c7e3ce62 100644 --- a/code/modules/tents/equipment.dm +++ b/code/modules/tents/equipment.dm @@ -87,7 +87,7 @@ AddComponent(/datum/component/tent_supported_object) update_icon() -/obj/structure/tent_curtain/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/tent_curtain/get_projectile_hit_boolean(obj/projectile/P) return FALSE /obj/structure/tent_curtain/update_icon() diff --git a/code/modules/vehicles/hardpoints/hardpoint.dm b/code/modules/vehicles/hardpoints/hardpoint.dm index 2fc49384075b..ee49ebc0ab57 100644 --- a/code/modules/vehicles/hardpoints/hardpoint.dm +++ b/code/modules/vehicles/hardpoints/hardpoint.dm @@ -134,7 +134,7 @@ return /obj/item/hardpoint/proc/generate_bullet(mob/user, turf/origin_turf) - var/obj/item/projectile/P = new(origin_turf, create_cause_data(initial(name), user)) + var/obj/projectile/P = new(origin_turf, create_cause_data(initial(name), user)) P.generate_bullet(new ammo.default_ammo) // Apply bullet traits from gun for(var/entry in traits_to_give) @@ -552,7 +552,7 @@ var/turf/origin_turf = get_turf(src) origin_turf = locate(origin_turf.x + origins[1], origin_turf.y + origins[2], origin_turf.z) - var/obj/item/projectile/P = generate_bullet(user, origin_turf) + var/obj/projectile/P = generate_bullet(user, origin_turf) SEND_SIGNAL(P, COMSIG_BULLET_USER_EFFECTS, user) P.fire_at(A, user, src, P.ammo.max_range, P.ammo.shell_speed) diff --git a/code/modules/vehicles/hardpoints/holder/tank_turret.dm b/code/modules/vehicles/hardpoints/holder/tank_turret.dm index db67dadb132d..27ab6c95404c 100644 --- a/code/modules/vehicles/hardpoints/holder/tank_turret.dm +++ b/code/modules/vehicles/hardpoints/holder/tank_turret.dm @@ -223,7 +223,7 @@ origin_turf = locate(origin_turf.x + origins[1], origin_turf.y + origins[2], origin_turf.z) origin_turf = get_step(get_step(origin_turf, owner.dir), owner.dir) //this should get us tile in front of tank to prevent grenade being stuck under us. - var/obj/item/projectile/P = generate_bullet(user, origin_turf) + var/obj/projectile/P = generate_bullet(user, origin_turf) SEND_SIGNAL(P, COMSIG_BULLET_USER_EFFECTS, owner.seats[VEHICLE_GUNNER]) P.fire_at(A, owner.seats[VEHICLE_GUNNER], src, get_dist(origin_turf, A) + 1, P.ammo.shell_speed) ammo.current_rounds-- diff --git a/code/modules/vehicles/hardpoints/primary/flamer.dm b/code/modules/vehicles/hardpoints/primary/flamer.dm index 0b77d3671e05..929842df2307 100644 --- a/code/modules/vehicles/hardpoints/primary/flamer.dm +++ b/code/modules/vehicles/hardpoints/primary/flamer.dm @@ -51,7 +51,7 @@ var/range = get_dist(origin_turf, A) + 1 - var/obj/item/projectile/P = generate_bullet(user, origin_turf) + var/obj/projectile/P = generate_bullet(user, origin_turf) SEND_SIGNAL(P, COMSIG_BULLET_USER_EFFECTS, owner.seats[VEHICLE_GUNNER]) P.fire_at(A, owner.seats[VEHICLE_GUNNER], src, range < P.ammo.max_range ? range : P.ammo.max_range, P.ammo.shell_speed) diff --git a/code/modules/vehicles/hardpoints/secondary/grenade_launcher.dm b/code/modules/vehicles/hardpoints/secondary/grenade_launcher.dm index ee18443d7b7e..8151a1ee50c1 100644 --- a/code/modules/vehicles/hardpoints/secondary/grenade_launcher.dm +++ b/code/modules/vehicles/hardpoints/secondary/grenade_launcher.dm @@ -56,7 +56,7 @@ if(range > max_range) range = max_range - var/obj/item/projectile/P = generate_bullet(user, origin_turf) + var/obj/projectile/P = generate_bullet(user, origin_turf) SEND_SIGNAL(P, COMSIG_BULLET_USER_EFFECTS, owner.seats[VEHICLE_GUNNER]) P.fire_at(A, owner.seats[VEHICLE_GUNNER], src, P.ammo.max_range, P.ammo.shell_speed) diff --git a/code/modules/vehicles/interior/interactable/doors.dm b/code/modules/vehicles/interior/interactable/doors.dm index 04f0cf65aaae..12b54bd425e4 100644 --- a/code/modules/vehicles/interior/interactable/doors.dm +++ b/code/modules/vehicles/interior/interactable/doors.dm @@ -14,7 +14,7 @@ // Which entrance to exit through var/entrance_id = null -/obj/structure/interior_exit/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/interior_exit/get_projectile_hit_boolean(obj/projectile/P) return FALSE /obj/structure/interior_exit/attack_hand(mob/M) diff --git a/code/modules/vehicles/interior/interactable/vendors.dm b/code/modules/vehicles/interior/interactable/vendors.dm index 96a6f6b49c0f..6d98bc85e42e 100644 --- a/code/modules/vehicles/interior/interactable/vendors.dm +++ b/code/modules/vehicles/interior/interactable/vendors.dm @@ -48,7 +48,6 @@ /obj/item/reagent_container/hypospray/autoinjector/oxycodone, /obj/item/reagent_container/hypospray/autoinjector/tramadol, /obj/item/reagent_container/hypospray/autoinjector/tricord, - /obj/item/reagent_container/hypospray/autoinjector/emergency, /obj/item/reagent_container/hypospray/autoinjector/skillless, /obj/item/reagent_container/hypospray/autoinjector/skillless/tramadol, diff --git a/code/modules/vehicles/interior/interior_hull.dm b/code/modules/vehicles/interior/interior_hull.dm index 7e049395bdc6..70b4cb8501f1 100644 --- a/code/modules/vehicles/interior/interior_hull.dm +++ b/code/modules/vehicles/interior/interior_hull.dm @@ -18,7 +18,7 @@ unslashable = TRUE indestructible = TRUE -/obj/structure/interior_wall/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/structure/interior_wall/get_projectile_hit_boolean(obj/projectile/P) return FALSE /obj/structure/interior_wall/ex_act() @@ -41,7 +41,7 @@ alpha = 80 -/obj/effect/vehicle_roof/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/effect/vehicle_roof/get_projectile_hit_boolean(obj/projectile/P) return FALSE /obj/effect/vehicle_roof/ex_act() diff --git a/code/modules/vehicles/multitile/multitile_interaction.dm b/code/modules/vehicles/multitile/multitile_interaction.dm index f956d64ebf12..42b141327bd8 100644 --- a/code/modules/vehicles/multitile/multitile_interaction.dm +++ b/code/modules/vehicles/multitile/multitile_interaction.dm @@ -283,7 +283,7 @@ //Differentiates between damage types from different bullets //Applies a linear transformation to bullet damage that will generally decrease damage done -/obj/vehicle/multitile/bullet_act(obj/item/projectile/P) +/obj/vehicle/multitile/bullet_act(obj/projectile/P) var/dam_type = "bullet" var/damage = P.damage var/ammo_flags = P.ammo.flags_ammo_behavior | P.projectile_override_flags @@ -295,7 +295,7 @@ if(P.runtime_iff_group && get_target_lock(P.runtime_iff_group)) return - if(ammo_flags & AMMO_ANTISTRUCT) + if(ammo_flags & AMMO_ANTISTRUCT|AMMO_ANTIVEHICLE) // Multiplier based on tank railgun relationship, so might have to reconsider multiplier for AMMO_SIEGE in general damage = round(damage*ANTISTRUCT_DMG_MULT_TANK) if(ammo_flags & AMMO_ACIDIC) diff --git a/code/modules/vehicles/powerloader.dm b/code/modules/vehicles/powerloader.dm index 88d917b90b3e..6992269c7566 100644 --- a/code/modules/vehicles/powerloader.dm +++ b/code/modules/vehicles/powerloader.dm @@ -338,6 +338,29 @@ opacity = FALSE pixel_x = -18 pixel_y = -5 + health = 100 + +/obj/structure/powerloader_wreckage/attack_alien(mob/living/carbon/xenomorph/attacking_xeno) + if(attacking_xeno.a_intent == INTENT_HELP) + return XENO_NO_DELAY_ACTION + + if(attacking_xeno.mob_size < MOB_SIZE_XENO) + to_chat(attacking_xeno, SPAN_XENOWARNING("You're too small to do any significant damage to this vehicle!")) + return XENO_NO_DELAY_ACTION + + attacking_xeno.animation_attack_on(src) + + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] slashes [src]!"), SPAN_DANGER("You slash [src]!")) + playsound(attacking_xeno, pick('sound/effects/metalhit.ogg', 'sound/weapons/alien_claw_metal1.ogg', 'sound/weapons/alien_claw_metal2.ogg', 'sound/weapons/alien_claw_metal3.ogg'), 25, 1) + + var/damage = (attacking_xeno.melee_vehicle_damage + rand(-5,5)) + + health -= damage + + if(health <= 0) + deconstruct(FALSE) + + return XENO_NONCOMBAT_ACTION /obj/structure/powerloader_wreckage/jd name = "\improper John Deere 4300 Power Loader wreckage" diff --git a/code/modules/vehicles/van/van.dm b/code/modules/vehicles/van/van.dm index 1124f5348140..fdb2f397bb2e 100644 --- a/code/modules/vehicles/van/van.dm +++ b/code/modules/vehicles/van/van.dm @@ -218,7 +218,7 @@ /obj/vehicle/multitile/van/proc/reset_overdrive() misc_multipliers["move"] += overdrive_speed_mult -/obj/vehicle/multitile/van/get_projectile_hit_boolean(obj/item/projectile/P) +/obj/vehicle/multitile/van/get_projectile_hit_boolean(obj/projectile/P) if(src == P.original) //clicking on the van itself will hit it. var/hitchance = P.get_effective_accuracy() if(prob(hitchance)) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 3a79f14de51a..5192a6834050 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -98,7 +98,7 @@ new /obj/effect/decal/cleanable/blood/oil(src.loc) healthcheck() -/obj/vehicle/bullet_act(obj/item/projectile/P) +/obj/vehicle/bullet_act(obj/projectile/P) var/damage = P.damage health -= damage ..() diff --git a/colonialmarines.dme b/colonialmarines.dme index 884887eec308..ee11ea22ec54 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -450,7 +450,8 @@ s// DM Environment file for colonialmarines.dme. #include "code\datums\elements\bullet_trait\iff.dm" #include "code\datums\elements\bullet_trait\ignored_range.dm" #include "code\datums\elements\bullet_trait\incendiary.dm" -#include "code\datums\elements\bullet_trait\penetrating.dm" +#include "code\datums\elements\bullet_trait\penetrating\heavy.dm" +#include "code\datums\elements\bullet_trait\penetrating\penetrating.dm" #include "code\datums\elements\traitbound\_traitbound.dm" #include "code\datums\elements\traitbound\crawler.dm" #include "code\datums\elements\traitbound\gun_silenced.dm" @@ -463,6 +464,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\datums\emergency_calls\contractor.dm" #include "code\datums\emergency_calls\cryo_marines.dm" #include "code\datums\emergency_calls\cryo_marines_heavy.dm" +#include "code\datums\emergency_calls\cryo_spec.dm" #include "code\datums\emergency_calls\custom.dm" #include "code\datums\emergency_calls\deathsquad.dm" #include "code\datums\emergency_calls\deus_vult.dm" @@ -479,6 +481,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\datums\emergency_calls\pmc.dm" #include "code\datums\emergency_calls\provost.dm" #include "code\datums\emergency_calls\riot.dm" +#include "code\datums\emergency_calls\royal_marines.dm" #include "code\datums\emergency_calls\souto.dm" #include "code\datums\emergency_calls\supplies.dm" #include "code\datums\emergency_calls\tank_crew.dm" @@ -512,6 +515,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\datums\factions\faction.dm" #include "code\datums\factions\helpers.dm" #include "code\datums\factions\pmc.dm" +#include "code\datums\factions\royalmarinescommando.dm" #include "code\datums\factions\upp.dm" #include "code\datums\factions\uscm.dm" #include "code\datums\helper_datums\getrev.dm" @@ -1038,6 +1042,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\game\objects\items\devices\taperecorder.dm" #include "code\game\objects\items\devices\teleportation.dm" #include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\vulture_spotter.dm" #include "code\game\objects\items\devices\walkman.dm" #include "code\game\objects\items\devices\whistle.dm" #include "code\game\objects\items\devices\radio\beacon.dm" @@ -1209,6 +1214,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\game\objects\structures\surface.dm" #include "code\game\objects\structures\tables_racks.dm" #include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\vulture_spotter.dm" #include "code\game\objects\structures\watercloset.dm" #include "code\game\objects\structures\windoor_assembly.dm" #include "code\game\objects\structures\window.dm" @@ -1518,6 +1524,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\cm_marines\Donator_Kits.dm" #include "code\modules\cm_marines\dropship_ammo.dm" #include "code\modules\cm_marines\dropship_equipment.dm" +#include "code\modules\cm_marines\m2c.dm" #include "code\modules\cm_marines\marines_consoles.dm" #include "code\modules\cm_marines\NonLethalRestraints.dm" #include "code\modules\cm_marines\orbital_cannon.dm" @@ -1581,6 +1588,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\cm_tech\techs\abstract\transitory.dm" #include "code\modules\cm_tech\techs\marine\tier1\points.dm" #include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm" +#include "code\modules\cm_tech\techs\marine\tier3\cryo_spec.dm" #include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm" #include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" #include "code\modules\cm_tech\trees\marine.dm" @@ -1657,6 +1665,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\gear_presets\fun.dm" #include "code\modules\gear_presets\other.dm" #include "code\modules\gear_presets\pmc.dm" +#include "code\modules\gear_presets\royal_marines.dm" #include "code\modules\gear_presets\survivors.dm" #include "code\modules\gear_presets\synths.dm" #include "code\modules\gear_presets\upp.dm" @@ -2112,6 +2121,7 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\projectiles\ammo_boxes\round_boxes.dm" #include "code\modules\projectiles\guns\boltaction.dm" #include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\flare_gun.dm" #include "code\modules\projectiles\guns\lever_action.dm" #include "code\modules\projectiles\guns\misc.dm" #include "code\modules\projectiles\guns\pistols.dm" @@ -2183,7 +2193,6 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\shuttle\dropship.dm" #include "code\modules\shuttle\dropship_hijack.dm" #include "code\modules\shuttle\helpers.dm" -#include "code\modules\shuttle\lifeboats.dm" #include "code\modules\shuttle\on_move.dm" #include "code\modules\shuttle\ripple.dm" #include "code\modules\shuttle\shuttle.dm" @@ -2194,8 +2203,10 @@ s// DM Environment file for colonialmarines.dme. #include "code\modules\shuttle\computers\trijent_elevator_control.dm" #include "code\modules\shuttle\shuttles\dropship.dm" #include "code\modules\shuttle\shuttles\ert.dm" -#include "code\modules\shuttle\shuttles\escape_shuttle.dm" #include "code\modules\shuttle\shuttles\trijent_elevator.dm" +#include "code\modules\shuttle\shuttles\crashable\crashable.dm" +#include "code\modules\shuttle\shuttles\crashable\escape_shuttle.dm" +#include "code\modules\shuttle\shuttles\crashable\lifeboats.dm" #include "code\modules\shuttles\marine_ferry.dm" #include "code\modules\shuttles\monorail_console.dm" #include "code\modules\shuttles\shuttle.dm" diff --git a/html/changelogs/archive/2023-09.yml b/html/changelogs/archive/2023-09.yml index 27c0065c283b..094a732225b2 100644 --- a/html/changelogs/archive/2023-09.yml +++ b/html/changelogs/archive/2023-09.yml @@ -62,3 +62,164 @@ Zonespace27: - bugfix: Working Joes no longer get cryo self defense kits - bugfix: Cryo self defense kits now have the correct amount of slots +2023-09-06: + Birdtalon: + - bugfix: fixed eggsac carrier strain not updating hugger sprites. + Drathek: + - bugfix: Fixed xeno grab intent + Morrow: + - rscadd: Added a ghost notification for Acid Runner For the Hive! ability. + RenaRenaRe: + - bugfix: Hugger and Lesser Drone ghosts now actually bypass time of death checks + for the larva queue. +2023-09-07: + Morrow: + - bugfix: Fixed a null reference when firing full auto and dropping your weapon + Steelpoint: + - bugfix: ERT UPP Soldiers will now correctly spawn with firearms. + harryob: + - rscadd: guns that have full auto now start on full auto by default +2023-09-09: + BeagleGaming1: + - bugfix: The APS property works correctly again + Morrow: + - bugfix: Clusters turning into pylons expand properly + - rscadd: Added the ability to early launch lifeboats + - rscadd: Added the ability for lifeboats to crash if early launched + - rscdel: Removed alcohol from emergency wall cabinets + - bugfix: Should stop crashing shuttles from landing on each other + Triiodine, Frans, Warfan, SpartanBobby, Twomper, Roboticpotato, Tophat Penguin,forest2001: + - rscadd: Added Royal Marines commando ERT and faction + - rscadd: Updates Riot shield sprite, adds metal shield as well (sprites from trio) + - rscadd: TWE ERT station + - rscadd: F903 Rifle, Royal marines commando armour sets, new smartgun with holotargetting + rounds for royal marines commando + - rscadd: Calico shotgun, pistol and SMG sprites to the codebase made by Triodine + - rscadd: royal marines commando HEDP and HIDP grenades + Zonepace, Thwomper: + - rscadd: Added the M707 "Vulture" anti-materiel rifle. Not currently player-obtainable. + Credit to Tophat and Kaga for the lore description. +2023-09-10: + BeagleGaming1: + - rscdel: Removes emergency autoinjectors from squad medics + - rscdel: Removes skillless variant of the emergency autoinjector, makes default + variant skillless + - balance: Emergency autoinjectors cannot be refilled + - balance: Replaces skillless autoinjectors in marine pouches with standard autoinjectors + Morrow: + - rscadd: Added CAS Fire Mission ghost notification + QuickLode: + - bugfix: Fixes WY comms for survivor WY roles. + Steelpoint: + - maptweak: Fixed broken disposal piping in research resulting in items being dumped + back into research. + - rscadd: A new skill has been added, the 'Overwatch' skill, allows the user to + use the overwatch console. + - rscadd: All USCM Officers can now use overwatch consoles. + TeDGamer: + - balance: Huggers and larvas are slightly harder to hit + - code_imp: Replace some w_class magic numbers with defines + - balance: Reduced M2C accuracy to be more in line with realistic accuracy intent + Warfan1815, AmoryBlaine (Sprites): + - rscadd: Changes donor Biolock's medium medic armour to a light custom paintjob + armour and donor Tristan's reactive scientist armour to a custom marine armour + harryob: + - bugfix: fixes the JMP link in chat + ihatethisengine: + - rscadd: On-screen messages now appear with sound. Radio static for marines, distant + roar for xenos. + - bugfix: shuttles now throw mobs asynchronously and faster + kylerace, lemoninthedark, harry: + - refactor: optimized icon-in-chat code + - bugfix: weird icons on the smoothed walls when examining or alt+clicking +2023-09-12: + Morrow: + - balance: Lowered the xeno endgame start to 55 minutes into the round + - balance: Lowered the nuke endgame start to 115 minutes into the round + - balance: Lowered the nuke cost to 5 points + - rscdel: Removed the shipside announcement for working joes joining + - rscadd: Added cryo specialist tech that can be purchased once for eight points + - balance: Cryorines now cost 6 points. It increases by 6 each purchase. + - balance: Cryorines now give 5 marines. 1 SL (for the first one only), 1 medic, + 1 engi, rest rifleman. + - bugfix: Fixed queens prying open lifeboat double doors + - rscadd: Powerloader wreckage now can be attacked by xenos + - bugfix: Removed annoying and inaccurate to_chat from join response team menu + - bugfix: Firing flares into the air now produces light again + - bugfix: Fixed repeatable techs not having correct overlays + - qol: Recalibrating limbs can now be done with the patient standing + Waseemq1235: + - admin: Subtle messages are now much larger. + cuberound: + - balance: GAU can hit mobs that are on ground now + realforest2001: + - bugfix: Fixes ARES Security Logs and stops ARES logs recording mob datums instead + of names. + - rscadd: Moves AntiAir records to Security Logs. + - rscadd: Adds Flight Records to ARES Interface, detailing launches and setting + changes. Does not include CAS details. + - code_imp: Changes ARES log procs from using 'user' to 'user_name' to identify + it should be the string rather than mob datum. + - maptweak: Adds a couple APOLLO consoles to upper and lower medical. Moves the + one outside ARES reception slightly. + - bugfix: Fixes WY access to Almayer Research. + - rscadd: Finally adds fully functional access request tickets to APOLLO console + for entry to AI core. + - rscadd: Adds CN20-X Nerve Gas, an alteration of base CN20 that can affect xenos. + - rscadd: CN20 and CN20-X are now translucent and do not obstruct vision much. + - admin: Adds a VV list dropdown to release gas from vents as the manual proc was + too clunky. + - rscadd: Adds nerve gas grenades for CN20 and CN20-X + - code_imp: Tidied up the TWE presets so they're easier to read. + - rscdel: Removed duplicate surgical line from all TWE presets. + - rscadd: Added an MRE box to the TWE MRE carrier preset. + - spellcheck: Added unique names to the RMC armors. + - bugfix: Fixed iconstate names being backwards for TWE pointman and SG. + - code_imp: Removed unnecessary repeated values for TWE armors. + - code_imp: Tidied the RMC skillsets to be consistent in ordering of skills. + - rscadd: Added an SG specific skillset for RMCs. + - bugfix: Fixed duplicate entry for medical training on RMC TL skillset. + - spellcheck: Renamed default RMC skillset to Royal Marines Commando rather than + Royal Marines Commando Rifleman. +2023-09-13: + Morrow: + - rscdel: Removed some mapped clown gear + TeDGamer: + - balance: Hive weeds can be supported by other structures when original parent + structure is destroyed. + Zonespace27: + - balance: M56D now has full auto mode. + - qol: M56D now has an ammo counter when firing. + - rscdel: M2C can no longer rotate with MMB +2023-09-14: + Morrow: + - rscadd: Added a ghost notification for yautja self destructs + - bugfix: Fixed lifepods still working after evac canceled + Zonespace27: + - balance: Coffins now layer above beds + realforest2001: + - imageadd: Added a CMB stamp icon. + - imageadd: Changes the icon_state name of the WY stamp from centcom to weyyu. + - rscadd: Changes EFTPOS stamp icon to use RD instead of weyyu. + - bugfix: Changes the pre-spawned QMs stamp to use the proper stamp. + - spellcheck: Renames Requisiton Officer's stamp to Quartermaster's Stamp. + - maptweak: Renamed the spare Req Officer's stamp to spare Quartermaster's stamp. + - rscadd: Codebooks are now faction based rather than individually unique. +2023-09-15: + BeagleGaming1, forest2001: + - rscadd: Adds a CMB ERT to investigate the Black Market + - rscadd: Adds a [cmb] logo for papers + - rscadd: Adds a quiet_launch var for distress beacons, to differentiate between + ERTs who should announce their response reception, but not the beacon going + out in the first place. + - rscdel: Removes banhammer from normal acquisition. + Ben10083: + - rscadd: Working Joe arrivals announced in Apollo link + Drathek: + - bugfix: Fix some donor items breaking on maps with camos. + - bugfix: Fix donor items not having a fingerprint atom flag and donor armors not + having conductive atom flag. + Morrow: + - bugfix: Fixed a few ways around fire group delays + Waseemq1235: + - admin: TWE faction reports are now possible. diff --git a/html/images/cmblogo.png b/html/images/cmblogo.png new file mode 100644 index 000000000000..d324f904a4c0 Binary files /dev/null and b/html/images/cmblogo.png differ diff --git a/icons/mob/hud/actions.dmi b/icons/mob/hud/actions.dmi index 9f885c44f50f..9021db895eb7 100644 Binary files a/icons/mob/hud/actions.dmi and b/icons/mob/hud/actions.dmi differ diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi index 05390b270254..ed7c65e323d1 100644 Binary files a/icons/mob/hud/marine_hud.dmi and b/icons/mob/hud/marine_hud.dmi differ diff --git a/icons/mob/hud/screen1.dmi b/icons/mob/hud/screen1.dmi index fd4cf8188579..c79f6321a083 100644 Binary files a/icons/mob/hud/screen1.dmi and b/icons/mob/hud/screen1.dmi differ diff --git a/icons/mob/hud/screen1_full.dmi b/icons/mob/hud/screen1_full.dmi index 10eabc7a1659..c61aeaad55ee 100644 Binary files a/icons/mob/hud/screen1_full.dmi and b/icons/mob/hud/screen1_full.dmi differ diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index e4f228109127..8a51050c03c3 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/belt.dmi b/icons/mob/humans/onmob/belt.dmi index f95ba65ece52..8a10910930dd 100644 Binary files a/icons/mob/humans/onmob/belt.dmi and b/icons/mob/humans/onmob/belt.dmi differ diff --git a/icons/mob/humans/onmob/contained/royal_marines_commando.dmi b/icons/mob/humans/onmob/contained/royal_marines_commando.dmi new file mode 100644 index 000000000000..4e9891fe65e9 Binary files /dev/null and b/icons/mob/humans/onmob/contained/royal_marines_commando.dmi differ diff --git a/icons/mob/humans/onmob/feet.dmi b/icons/mob/humans/onmob/feet.dmi index fd89d22ff856..dbbed31b1e19 100644 Binary files a/icons/mob/humans/onmob/feet.dmi and b/icons/mob/humans/onmob/feet.dmi differ diff --git a/icons/mob/humans/onmob/hands.dmi b/icons/mob/humans/onmob/hands.dmi index c8da787cee04..76dda2e14bf9 100644 Binary files a/icons/mob/humans/onmob/hands.dmi and b/icons/mob/humans/onmob/hands.dmi differ diff --git a/icons/mob/humans/onmob/head_0.dmi b/icons/mob/humans/onmob/head_0.dmi index 099ff7bdb385..745cd2057c74 100644 Binary files a/icons/mob/humans/onmob/head_0.dmi and b/icons/mob/humans/onmob/head_0.dmi differ diff --git a/icons/mob/humans/onmob/head_1.dmi b/icons/mob/humans/onmob/head_1.dmi index bc22ae1aae0e..2c0e6652724d 100644 Binary files a/icons/mob/humans/onmob/head_1.dmi and b/icons/mob/humans/onmob/head_1.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index 75c578316c83..3acec8cda0f0 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index 4f98571ff715..821711fad50b 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/mob/humans/onmob/mask.dmi b/icons/mob/humans/onmob/mask.dmi index 154bb1b497b9..ce2282526c92 100644 Binary files a/icons/mob/humans/onmob/mask.dmi and b/icons/mob/humans/onmob/mask.dmi differ diff --git a/icons/mob/humans/onmob/suit_0.dmi b/icons/mob/humans/onmob/suit_0.dmi index 0065384e2c6c..51553c1fc495 100644 Binary files a/icons/mob/humans/onmob/suit_0.dmi and b/icons/mob/humans/onmob/suit_0.dmi differ diff --git a/icons/mob/humans/onmob/suit_1.dmi b/icons/mob/humans/onmob/suit_1.dmi index 2b2d42adaa2b..df595b54e159 100644 Binary files a/icons/mob/humans/onmob/suit_1.dmi and b/icons/mob/humans/onmob/suit_1.dmi differ diff --git a/icons/mob/humans/onmob/ties.dmi b/icons/mob/humans/onmob/ties.dmi index a908aaf71037..d82226002ec8 100644 Binary files a/icons/mob/humans/onmob/ties.dmi and b/icons/mob/humans/onmob/ties.dmi differ diff --git a/icons/obj/items/clothing/backpacks.dmi b/icons/obj/items/clothing/backpacks.dmi index 26d2c944e9dd..f9c06fca4437 100644 Binary files a/icons/obj/items/clothing/backpacks.dmi and b/icons/obj/items/clothing/backpacks.dmi differ diff --git a/icons/obj/items/clothing/belts.dmi b/icons/obj/items/clothing/belts.dmi index 989a2eb5b9ec..612b4785d24f 100644 Binary files a/icons/obj/items/clothing/belts.dmi and b/icons/obj/items/clothing/belts.dmi differ diff --git a/icons/obj/items/clothing/cm_hats.dmi b/icons/obj/items/clothing/cm_hats.dmi index 2fca8b572053..5238f39965d0 100644 Binary files a/icons/obj/items/clothing/cm_hats.dmi and b/icons/obj/items/clothing/cm_hats.dmi differ diff --git a/icons/obj/items/clothing/cm_suits.dmi b/icons/obj/items/clothing/cm_suits.dmi index 93e0b01fd865..c1c961971129 100644 Binary files a/icons/obj/items/clothing/cm_suits.dmi and b/icons/obj/items/clothing/cm_suits.dmi differ diff --git a/icons/obj/items/clothing/donor/HEAD.dmi b/icons/obj/items/clothing/donor/HEAD.dmi index 177529db64b2..d7345e41d94b 100644 Binary files a/icons/obj/items/clothing/donor/HEAD.dmi and b/icons/obj/items/clothing/donor/HEAD.dmi differ diff --git a/icons/obj/items/clothing/donor/SUITS.dmi b/icons/obj/items/clothing/donor/SUITS.dmi index 5243cc564983..51c41b837c9a 100644 Binary files a/icons/obj/items/clothing/donor/SUITS.dmi and b/icons/obj/items/clothing/donor/SUITS.dmi differ diff --git a/icons/obj/items/clothing/gloves.dmi b/icons/obj/items/clothing/gloves.dmi index 44798f4f727e..b6aa7935f6c9 100644 Binary files a/icons/obj/items/clothing/gloves.dmi and b/icons/obj/items/clothing/gloves.dmi differ diff --git a/icons/obj/items/clothing/hats.dmi b/icons/obj/items/clothing/hats.dmi index d3dd143f8e17..1cdd7491cb0c 100644 Binary files a/icons/obj/items/clothing/hats.dmi and b/icons/obj/items/clothing/hats.dmi differ diff --git a/icons/obj/items/clothing/masks.dmi b/icons/obj/items/clothing/masks.dmi index 7db1428bfca5..db3f6e34bdcc 100644 Binary files a/icons/obj/items/clothing/masks.dmi and b/icons/obj/items/clothing/masks.dmi differ diff --git a/icons/obj/items/clothing/shoes.dmi b/icons/obj/items/clothing/shoes.dmi index a1cc3b93e8d7..66fab7cc8843 100644 Binary files a/icons/obj/items/clothing/shoes.dmi and b/icons/obj/items/clothing/shoes.dmi differ diff --git a/icons/obj/items/clothing/suits.dmi b/icons/obj/items/clothing/suits.dmi index 668b9a86c62f..3982fec338dc 100644 Binary files a/icons/obj/items/clothing/suits.dmi and b/icons/obj/items/clothing/suits.dmi differ diff --git a/icons/obj/items/clothing/ties.dmi b/icons/obj/items/clothing/ties.dmi index 083aaa4d4ada..e0e25b9f579d 100644 Binary files a/icons/obj/items/clothing/ties.dmi and b/icons/obj/items/clothing/ties.dmi differ diff --git a/icons/obj/items/devices.dmi b/icons/obj/items/devices.dmi index 4332872e150a..f15fea628d02 100644 Binary files a/icons/obj/items/devices.dmi and b/icons/obj/items/devices.dmi differ diff --git a/icons/obj/items/pamphlets.dmi b/icons/obj/items/pamphlets.dmi index 021adfcdee52..b178b6389802 100644 Binary files a/icons/obj/items/pamphlets.dmi and b/icons/obj/items/pamphlets.dmi differ diff --git a/icons/obj/items/paper.dmi b/icons/obj/items/paper.dmi index d0c918a65e59..c39fede23679 100644 Binary files a/icons/obj/items/paper.dmi and b/icons/obj/items/paper.dmi differ diff --git a/icons/obj/items/storage.dmi b/icons/obj/items/storage.dmi index 310bee26b9e9..6edbf5b6c7d3 100644 Binary files a/icons/obj/items/storage.dmi and b/icons/obj/items/storage.dmi differ diff --git a/icons/obj/items/weapons/grenade.dmi b/icons/obj/items/weapons/grenade.dmi index 7d648059ac88..7ee5af737066 100644 Binary files a/icons/obj/items/weapons/grenade.dmi and b/icons/obj/items/weapons/grenade.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/twe_ammo.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/twe_ammo.dmi new file mode 100644 index 000000000000..2e8a3d18724d Binary files /dev/null and b/icons/obj/items/weapons/guns/ammo_by_faction/twe_ammo.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi index 3d2f1377db6f..51bc441aefaa 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/barrel.dmi b/icons/obj/items/weapons/guns/attachments/barrel.dmi index aaa591f64a88..03c2257c69c5 100644 Binary files a/icons/obj/items/weapons/guns/attachments/barrel.dmi and b/icons/obj/items/weapons/guns/attachments/barrel.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/rail.dmi b/icons/obj/items/weapons/guns/attachments/rail.dmi index 315005696ba8..68cb2648ebd1 100644 Binary files a/icons/obj/items/weapons/guns/attachments/rail.dmi and b/icons/obj/items/weapons/guns/attachments/rail.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/stock.dmi b/icons/obj/items/weapons/guns/attachments/stock.dmi index 330102213689..a15409b808ca 100644 Binary files a/icons/obj/items/weapons/guns/attachments/stock.dmi and b/icons/obj/items/weapons/guns/attachments/stock.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/under.dmi b/icons/obj/items/weapons/guns/attachments/under.dmi index 1a55ea7e215f..5a9be7542348 100644 Binary files a/icons/obj/items/weapons/guns/attachments/under.dmi and b/icons/obj/items/weapons/guns/attachments/under.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi b/icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi new file mode 100644 index 000000000000..1976bcf8832d Binary files /dev/null and b/icons/obj/items/weapons/guns/guns_by_faction/twe_guns.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi index 8576612c13b2..49e06f5ee547 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/classic/back.dmi b/icons/obj/items/weapons/guns/guns_by_map/classic/back.dmi index 9ca0704b6f46..63b197dd36c4 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/classic/back.dmi and b/icons/obj/items/weapons/guns/guns_by_map/classic/back.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_lefthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_lefthand.dmi index d89a862cb7c3..22eae6bd0ba4 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_lefthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_lefthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_obj.dmi b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_obj.dmi index 3f1b8385390e..b9aa8907a806 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_obj.dmi and b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_obj.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_righthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_righthand.dmi index b5aaba3e9431..dd432a1fa2c1 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/classic/guns_righthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/classic/guns_righthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/desert/back.dmi b/icons/obj/items/weapons/guns/guns_by_map/desert/back.dmi index b06e4bcd63e9..63771f7ff133 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/desert/back.dmi and b/icons/obj/items/weapons/guns/guns_by_map/desert/back.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_lefthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_lefthand.dmi index b498fba1e8c1..6530e1d6967d 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_lefthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_lefthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_obj.dmi b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_obj.dmi index f9e1d720098c..cae152f237ef 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_obj.dmi and b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_obj.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_righthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_righthand.dmi index 4fe8f9cd3939..9df4a0d86ccc 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/desert/guns_righthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/desert/guns_righthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/jungle/back.dmi b/icons/obj/items/weapons/guns/guns_by_map/jungle/back.dmi index 7d4f0a5db658..04718caddcd1 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/jungle/back.dmi and b/icons/obj/items/weapons/guns/guns_by_map/jungle/back.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_lefthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_lefthand.dmi index 486d5a3d73b0..717a1182824e 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_lefthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_lefthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_obj.dmi b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_obj.dmi index 479b0b9d39f2..9ce7e553ba45 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_obj.dmi and b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_obj.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_righthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_righthand.dmi index c30fb58093bb..9f69b4ac6815 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_righthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/jungle/guns_righthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/snow/back.dmi b/icons/obj/items/weapons/guns/guns_by_map/snow/back.dmi index a9a1f0c3b1b7..b72963ff7917 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/snow/back.dmi and b/icons/obj/items/weapons/guns/guns_by_map/snow/back.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_lefthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_lefthand.dmi index ee677a66bc20..2c8dedb6cf35 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_lefthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_lefthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_obj.dmi b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_obj.dmi index 801a03dbcfcd..fbc98874a4f6 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_obj.dmi and b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_obj.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_righthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_righthand.dmi index 0af69fa8a9d6..6e7b9cb8c9b5 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/snow/guns_righthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/snow/guns_righthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/urban/back.dmi b/icons/obj/items/weapons/guns/guns_by_map/urban/back.dmi index 0a9f43029891..e849b8134004 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/urban/back.dmi and b/icons/obj/items/weapons/guns/guns_by_map/urban/back.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_lefthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_lefthand.dmi index 2eece9a9ffc4..c844b637ab7e 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_lefthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_lefthand.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_obj.dmi b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_obj.dmi index 2899c72fa9a8..09029fb61f2b 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_obj.dmi and b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_obj.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_righthand.dmi b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_righthand.dmi index 1950b50114db..78bebfdd4bd9 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_map/urban/guns_righthand.dmi and b/icons/obj/items/weapons/guns/guns_by_map/urban/guns_righthand.dmi differ diff --git a/icons/obj/items/weapons/guns/handful.dmi b/icons/obj/items/weapons/guns/handful.dmi index 7d717db608c4..bbea110531ea 100644 Binary files a/icons/obj/items/weapons/guns/handful.dmi and b/icons/obj/items/weapons/guns/handful.dmi differ diff --git a/icons/obj/items/weapons/weapons.dmi b/icons/obj/items/weapons/weapons.dmi index 41a1f9981976..398256490294 100644 Binary files a/icons/obj/items/weapons/weapons.dmi and b/icons/obj/items/weapons/weapons.dmi differ diff --git a/icons/obj/structures/crates.dmi b/icons/obj/structures/crates.dmi index 5fab82b5185d..a1a494d90da2 100644 Binary files a/icons/obj/structures/crates.dmi and b/icons/obj/structures/crates.dmi differ diff --git a/icons/obj/structures/structures.dmi b/icons/obj/structures/structures.dmi index ef63dee56e13..d96329839a7b 100644 Binary files a/icons/obj/structures/structures.dmi and b/icons/obj/structures/structures.dmi differ diff --git a/icons/obj/vehicles/twe_tank.dmi b/icons/obj/vehicles/twe_tank.dmi new file mode 100644 index 000000000000..95f9c857148d Binary files /dev/null and b/icons/obj/vehicles/twe_tank.dmi differ diff --git a/icons/turf/ert_shuttle.dmi b/icons/turf/ert_shuttle.dmi index 6c38d6b409c0..befed9f547b7 100644 Binary files a/icons/turf/ert_shuttle.dmi and b/icons/turf/ert_shuttle.dmi differ diff --git a/icons/turf/floors/prison.dmi b/icons/turf/floors/prison.dmi index 8830ab801823..375666c3ed3f 100644 Binary files a/icons/turf/floors/prison.dmi and b/icons/turf/floors/prison.dmi differ diff --git a/icons/turf/twedropship.dmi b/icons/turf/twedropship.dmi new file mode 100644 index 000000000000..934d3892b307 Binary files /dev/null and b/icons/turf/twedropship.dmi differ diff --git a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm index b94651988cb0..e8c3bb319b7e 100644 --- a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm +++ b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm @@ -9,15 +9,23 @@ /area/fiorina/oob) "aac" = ( /obj/structure/machinery/power/apc, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "aad" = ( /obj/structure/machinery/power/apc, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "aae" = ( /obj/structure/machinery/power/apc, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "aaf" = ( /obj/structure/bed/roller, @@ -30,34 +38,39 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "aag" = ( /obj/item/trash/eat, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "aah" = ( /obj/structure/machinery/power/apc{ dir = 1 }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "aai" = ( /obj/structure/machinery/power/apc{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "aaj" = ( /obj/structure/machinery/power/apc{ dir = 1 }, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/chapel) "aak" = ( @@ -70,26 +83,32 @@ /obj/structure/machinery/power/apc{ dir = 4 }, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/transit_hub) "aan" = ( /obj/structure/machinery/power/apc{ dir = 1 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "aao" = ( /obj/structure/machinery/power/apc{ dir = 8 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "aap" = ( -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "aaq" = ( /obj/structure/machinery/power/apc{ @@ -117,29 +136,37 @@ "aat" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/weapon/baton, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "aau" = ( /obj/structure/inflatable, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "aav" = ( /obj/structure/closet/secure_closet/security_empty, /obj/item/weapon/baton, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aaK" = ( -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "aaW" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "abe" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "abJ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ @@ -149,7 +176,10 @@ /area/fiorina/station/lowsec) "adk" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "adl" = ( /obj/structure/machinery/computer/secure_data, @@ -157,18 +187,22 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "adH" = ( /obj/structure/closet/secure_closet/medical3, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "adY" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "aem" = ( @@ -178,7 +212,9 @@ pixel_y = 9 }, /obj/item/storage/box/donkpockets, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "afk" = ( /turf/open/floor{ @@ -244,16 +280,24 @@ /obj/structure/machinery/door/airlock/multi_tile/almayer/generic/autoname{ icon = 'icons/obj/structures/doors/2x1prepdoor_charlie.dmi' }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "ahn" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, -/turf/open/floor/prison/blue{ - dir = 8 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "ahR" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/platform{ dir = 8 }, @@ -267,32 +311,39 @@ /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "aiK" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "aiV" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "aja" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "ajh" = ( /obj/item/device/flashlight/on, -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "aji" = ( /obj/structure/prop/resin_prop{ icon_state = "sheater0" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "ajp" = ( /obj/structure/barricade/wooden{ @@ -300,11 +351,15 @@ pixel_y = 4 }, /obj/structure/barricade/wooden, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "ajr" = ( -/turf/open/floor/prison/redangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "redcorner" }, /area/fiorina/station/security) "aju" = ( @@ -319,6 +374,16 @@ /obj/structure/platform/kutjevo/smooth, /turf/open/space/basic, /area/fiorina/oob) +"ajD" = ( +/obj/structure/machinery/light/double/blue{ + dir = 1; + pixel_y = 21 + }, +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" + }, +/area/fiorina/station/disco) "ajH" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/electrical{ @@ -328,14 +393,21 @@ pixel_y = 6 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "ajK" = ( -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "ajN" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ajX" = ( /obj/structure/mirror{ @@ -346,35 +418,47 @@ pixel_x = -12; pixel_y = 2 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "akc" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "akw" = ( -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/station/transit_hub) "akE" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "alr" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) "alu" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/oob) "alJ" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "alX" = ( /obj/item/paper/crumpled/bloody, @@ -396,18 +480,23 @@ /area/fiorina/tumor/civres) "ami" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "amj" = ( /obj/structure/prop/resin_prop{ icon_state = "sheater0" }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "amx" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "amF" = ( @@ -474,21 +563,28 @@ /area/fiorina/station/security/wardens) "aoa" = ( /obj/structure/largecrate/random/mini/med, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "aoH" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "apf" = ( /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "app" = ( /obj/item/trash/pistachios, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "apw" = ( /turf/open/auto_turf/sand/layer1, @@ -497,20 +593,26 @@ /obj/structure/bed/sofa/vert/grey/bot{ pixel_y = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "aqI" = ( -/turf/open/floor/prison/red, +/turf/open/floor/prison{ + icon_state = "red" + }, /area/fiorina/station/security) "aqJ" = ( -/obj/structure/monorail/launchtrack{ - dir = 6 +/obj/structure/monorail{ + dir = 6; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "aqS" = ( /obj/item/explosive/grenade/high_explosive/frag, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "aqW" = ( /obj/structure/platform{ @@ -522,7 +624,9 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "arl" = ( /obj/effect/landmark/objective_landmark/close, @@ -532,7 +636,7 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "arn" = ( /obj/effect/landmark/nightmare{ @@ -548,19 +652,24 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "aru" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "arS" = ( /obj/effect/decal/hefa_cult_decals/d32{ icon_state = "2" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "ask" = ( /obj/structure/machinery/light/double/blue{ @@ -599,7 +708,10 @@ /area/fiorina/lz/near_lzI) "atm" = ( /obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "atp" = ( /obj/item/book/manual/security_space_law{ @@ -613,11 +725,12 @@ health = 250; icon_state = "metal_1" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "atE" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "auH" = ( @@ -628,7 +741,9 @@ /obj/item/bodybag{ pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "auQ" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -651,24 +766,33 @@ pixel_y = 5 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "avl" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "avs" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "avI" = ( /obj/structure/closet/bodybag, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "avX" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "avY" = ( @@ -681,33 +805,40 @@ }, /obj/item/storage/toolbox, /obj/item/storage/toolbox, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "awo" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/reagent_container/food/snacks/wrapped/barcardine, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "awx" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/cameras, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "awF" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "axb" = ( /obj/item/clothing/suit/storage/marine/specialist, /turf/open/floor/plating/prison, /area/fiorina/oob) "axi" = ( -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/chapel) "axA" = ( @@ -722,21 +853,28 @@ /area/fiorina/station/security) "ayv" = ( /obj/item/trash/pistachios, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "ayA" = ( /obj/structure/platform, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "ayK" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_27{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_27"; layer = 3.1; pixel_x = -2; pixel_y = 10 }, -/turf/open/floor/prison/redangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "redcorner" }, /area/fiorina/station/power_ring) "ayM" = ( @@ -747,7 +885,10 @@ /obj/item/ammo_magazine/pistol/heavy{ pixel_y = 12 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ayX" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -758,7 +899,9 @@ /area/fiorina/maintenance) "azg" = ( /obj/item/prop/helmetgarb/gunoil, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "azs" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -783,19 +926,24 @@ pixel_x = 7; pixel_y = 6 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "azJ" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "azN" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) @@ -805,8 +953,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "azZ" = ( @@ -822,14 +971,18 @@ /area/fiorina/tumor/ship) "aAH" = ( /obj/item/device/multitool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "aAM" = ( /obj/structure/reagent_dispensers/fueltank/gas/hydrogen{ layer = 2.6 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "aBb" = ( /obj/structure/barricade/wooden{ @@ -846,11 +999,13 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "aBm" = ( /obj/item/trash/uscm_mre, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "aBs" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -876,13 +1031,16 @@ /area/fiorina/station/park) "aBO" = ( /obj/item/ammo_magazine/rifle/m16, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "aBX" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/structure/surface/rack, /obj/item/clothing/gloves/latex, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "aCi" = ( /obj/structure/prop/invuln{ @@ -893,12 +1051,15 @@ name = "cell door" }, /obj/structure/blocker/invisible_wall, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "aCn" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "aCC" = ( @@ -917,11 +1078,15 @@ pixel_x = 12; pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "aCT" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aCV" = ( /obj/item/explosive/grenade/high_explosive/m15{ @@ -932,14 +1097,19 @@ pixel_x = 6; pixel_y = 3 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "aDh" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/oob) "aDi" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "aDl" = ( /obj/structure/machinery/vending/cola, @@ -947,8 +1117,9 @@ dir = 1; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "aDr" = ( @@ -957,7 +1128,7 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "aDs" = ( /obj/structure/surface/table/reinforced/prison, @@ -966,14 +1137,18 @@ pixel_x = -10; pixel_y = 8 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "aDw" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "aDC" = ( /obj/structure/surface/table/reinforced/prison, @@ -989,7 +1164,9 @@ pixel_x = 3; pixel_y = 5 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aEi" = ( /obj/structure/machinery/door/poddoor/shutters/almayer, @@ -997,7 +1174,9 @@ /area/fiorina/tumor/civres) "aFg" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "aFh" = ( /obj/structure/toilet{ @@ -1005,13 +1184,14 @@ pixel_y = 8 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "aFn" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "aFp" = ( /obj/structure/machinery/defenses/tesla_coil{ @@ -1021,7 +1201,9 @@ /area/fiorina/tumor/ship) "aFJ" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "aFK" = ( /obj/structure/machinery/light/double/blue{ @@ -1035,12 +1217,16 @@ /area/fiorina/station/telecomm/lz1_cargo) "aFO" = ( /obj/structure/largecrate/supply/floodlights, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "aFV" = ( /obj/item/stack/sheet/wood, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "aFZ" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -1050,7 +1236,9 @@ opacity = 1 }, /obj/structure/machinery/door/poddoor/shutters/almayer, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "aGS" = ( /obj/structure/lattice, @@ -1061,7 +1249,7 @@ /area/fiorina/oob) "aGV" = ( /obj/structure/largecrate/random/barrel/red, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "aHg" = ( /obj/structure/prop/resin_prop, @@ -1073,16 +1261,21 @@ /area/fiorina/lz/near_lzI) "aHs" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "aHx" = ( /obj/structure/platform, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "aHA" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) @@ -1096,11 +1289,14 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/storage/pill_bottle/alkysine, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aIf" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, @@ -1110,11 +1306,16 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "aIp" = ( /obj/structure/closet/secure_closet/personal, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/telecomm/lz1_cargo) "aIv" = ( /obj/structure/bed{ @@ -1123,7 +1324,10 @@ /obj/item/storage/box/holobadge{ pixel_y = 3 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "aIE" = ( /obj/structure/surface/table/reinforced/prison, @@ -1139,30 +1343,43 @@ pixel_x = -1; pixel_y = 6 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "aIK" = ( /obj/structure/surface/rack, /obj/item/tool/plantspray/weeds, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "aIR" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "aIZ" = ( /obj/structure/prop/resin_prop{ icon_state = "rack" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "aJf" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/emergency, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "aJg" = ( -/turf/open/floor/prison/platingdmg3, +/turf/open/floor/prison{ + icon_state = "platingdmg3" + }, /area/fiorina/maintenance) "aJK" = ( /obj/structure/closet/secure_closet/freezer/fridge, @@ -1170,16 +1387,11 @@ /obj/item/reagent_container/food/snacks/meat/human, /obj/structure/machinery/light/double/blue, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/kitchen, -/area/fiorina/station/civres_blue) -"aJR" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" }, -/area/fiorina/station/disco) +/area/fiorina/station/civres_blue) "aJX" = ( /obj/structure/bed/chair{ dir = 8 @@ -1194,8 +1406,9 @@ "aKc" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/bottle/sake, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "aKA" = ( @@ -1210,16 +1423,22 @@ pixel_y = 15 }, /obj/item/trash/syndi_cakes, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "aKW" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "aLj" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "aLp" = ( /obj/structure/prop/invuln{ @@ -1232,7 +1451,7 @@ /area/fiorina/station/medbay) "aLR" = ( /obj/item/stack/medical/bruise_pack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "aLT" = ( /obj/item/trash/uscm_mre, @@ -1242,8 +1461,9 @@ /turf/closed/wall/r_wall/prison, /area/fiorina/tumor/ice_lab) "aMq" = ( -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/civres_blue) "aMz" = ( @@ -1252,7 +1472,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "aMM" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -1265,13 +1487,15 @@ /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/darkbrown2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "aNn" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "aNw" = ( @@ -1288,7 +1512,10 @@ /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "aOc" = ( /turf/closed/shuttle/ert{ @@ -1301,17 +1528,23 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "aOh" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/oob) "aOJ" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "aPd" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -1324,12 +1557,20 @@ name = "astroturf" }, /area/fiorina/station/park) +"aPi" = ( +/obj/structure/machinery/light/double/blue, +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" + }, +/area/fiorina/station/disco) "aPq" = ( /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "aPD" = ( @@ -1342,8 +1583,12 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "aPF" = ( -/obj/structure/flora/pottedplant/pottedplant_7, -/turf/open/floor/prison/redfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_7" + }, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aPH" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -1352,33 +1597,38 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "aQK" = ( /obj/item/trash/uscm_mre, /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "aQM" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "aQU" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "aQZ" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/red{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "red" }, /area/fiorina/station/security) "aRb" = ( @@ -1386,8 +1636,9 @@ /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "aRk" = ( @@ -1403,16 +1654,22 @@ "aRx" = ( /obj/structure/closet/crate/medical, /obj/item/storage/pill_bottle/tramadol/skillless, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "aRB" = ( /obj/item/ammo_casing{ icon_state = "cartridge_2" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "aRG" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "aRT" = ( /obj/structure/barricade/handrail/type_b{ @@ -1434,11 +1691,15 @@ name = "Dr. O's fantastic self rolling wheelie chair"; pixel_x = 7 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "aSw" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/whitegreenangle, +/turf/open/floor/prison{ + icon_state = "whitegreencorner" + }, /area/fiorina/station/medbay) "aSz" = ( /turf/closed/wall/r_wall/prison, @@ -1472,7 +1733,9 @@ /area/fiorina/oob) "aUa" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "aUx" = ( /obj/structure/sign/poster{ @@ -1487,24 +1750,32 @@ pixel_x = 6; pixel_y = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "aVd" = ( /obj/effect/landmark/monkey_spawn, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "aVh" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" + }, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" }, -/turf/open/floor/prison/greenfull, /area/fiorina/station/transit_hub) "aVA" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "aVD" = ( @@ -1515,29 +1786,41 @@ }, /obj/item/card/id/guest, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aVE" = ( /obj/vehicle/train/cargo/engine, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "aVJ" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "aVK" = ( /obj/structure/machinery/landinglight/ds1/delayone{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "aVN" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "aVS" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "aVT" = ( /obj/structure/barricade/wooden{ @@ -1554,7 +1837,9 @@ pixel_x = -6; pixel_y = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "aVU" = ( /turf/open/floor/corsat{ @@ -1568,21 +1853,30 @@ /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "aWD" = ( /obj/item/device/taperecorder{ pixel_x = 1; pixel_y = 3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "aWP" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "aWR" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "aWV" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -1601,7 +1895,9 @@ "aXM" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/cable_coil/orange, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/maintenance) "aYA" = ( /obj/structure/machinery/light/double/blue{ @@ -1609,18 +1905,23 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "aYZ" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "aZz" = ( /obj/item/ammo_casing{ icon_state = "casing_5" }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "aZD" = ( @@ -1645,19 +1946,25 @@ /area/fiorina/station/power_ring) "aZQ" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/power_ring) "aZU" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "aZZ" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "bac" = ( /obj/item/stack/sheet/wood{ @@ -1665,7 +1972,10 @@ pixel_y = -3 }, /obj/item/stack/sheet/wood, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "baC" = ( /turf/closed/wall/mineral/bone_resin, @@ -1676,21 +1986,17 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "bby" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/civres) -"bbR" = ( -/obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowcorner{ - dir = 8 - }, -/area/fiorina/station/disco) "bbT" = ( /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "bce" = ( /obj/structure/lattice, @@ -1705,45 +2011,59 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/greenbluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "greenblue" + }, /area/fiorina/station/botany) "bck" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/phone{ pixel_y = 7 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "bcs" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "bcF" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/plate, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bcH" = ( /obj/item/tool/screwdriver, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "bcV" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "bdI" = ( /obj/structure/bed/roller, /obj/item/bedsheet/green, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "bdL" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "bdS" = ( @@ -1751,14 +2071,16 @@ pixel_x = 6; pixel_y = -2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bej" = ( /obj/structure/barricade/handrail/type_b, /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "bel" = ( /obj/structure/prop/structure_lattice{ @@ -1772,8 +2094,9 @@ }, /area/fiorina/station/civres_blue) "beV" = ( -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "beW" = ( @@ -1788,7 +2111,9 @@ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "bfg" = ( /obj/structure/surface/rack, @@ -1796,11 +2121,19 @@ pixel_y = 3 }, /obj/item/storage/bible/hefa, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) +"bfs" = ( +/obj/item/stack/sheet/wood{ + amount = 10 + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "bfx" = ( /obj/item/trash/barcardine, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "bfF" = ( /obj/structure/cable/heavyduty{ @@ -1809,13 +2142,15 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "bfZ" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "bgb" = ( /obj/structure/surface/rack, /obj/item/storage/pill_bottle/bicaridine/skillless, /obj/item/storage/pill_bottle/bicaridine/skillless, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "bgc" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -1836,17 +2171,22 @@ /obj/structure/reagent_dispensers/watertank{ layer = 2.6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "bgR" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalleft" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "bha" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "bht" = ( /obj/effect/decal/cleanable/blood{ @@ -1869,11 +2209,15 @@ /area/fiorina/station/lowsec) "bhM" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "bhR" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "bhX" = ( /turf/open/floor/plating/prison, @@ -1886,44 +2230,57 @@ density = 0; dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "biJ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/kitchen/utensil/fork, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "bjk" = ( /obj/structure/sink{ dir = 4; pixel_x = 12 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "bjx" = ( -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/tumor/civres) "bjy" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "bjO" = ( /obj/structure/closet/bodybag, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "bka" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "bkS" = ( -/turf/open/floor/prison/red{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "red" }, /area/fiorina/lz/near_lzII) "blb" = ( @@ -1932,15 +2289,16 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "bln" = ( /obj/item/trash/used_stasis_bag{ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/tumor/civres) "blG" = ( @@ -1952,7 +2310,10 @@ /area/fiorina/station/lowsec) "blQ" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "bmE" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -1965,7 +2326,10 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "bmV" = ( /obj/item/device/flashlight/lamp/tripod, @@ -1976,14 +2340,17 @@ /obj/structure/machinery/computer/cameras{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "bnA" = ( /turf/closed/wall/prison, /area/fiorina/station/transit_hub) "bnK" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz1_tram) @@ -1996,8 +2363,9 @@ /obj/structure/prop/souto_land/streamer{ dir = 9 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "boe" = ( @@ -2006,11 +2374,12 @@ /area/fiorina/tumor/aux_engi) "boh" = ( /obj/item/stool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "bop" = ( -/turf/open/floor/prison/yellowangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellowcorner" }, /area/fiorina/station/lowsec) "bou" = ( @@ -2018,26 +2387,34 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "bow" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "bpq" = ( /obj/item/stack/sheet/wood{ amount = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "bpC" = ( /obj/item/tank/jetpack/carbondioxide, /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bpG" = ( /obj/effect/decal/hefa_cult_decals/d32{ icon_state = "bee" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bpK" = ( /obj/structure/surface/table/reinforced/prison, @@ -2045,36 +2422,54 @@ dir = 1 }, /obj/item/weapon/gun/energy/taser, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "bqy" = ( /obj/structure/closet/firecloset/full, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bra" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "brr" = ( /obj/structure/bed/chair/office/dark{ dir = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bry" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/tumor/servers) "brS" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clipboard, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "bsd" = ( /obj/structure/closet/basketball, /obj/item/storage/pill_bottle/bicaridine/skillless, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "bsm" = ( /obj/item/shard{ @@ -2095,25 +2490,33 @@ /obj/structure/flora/pottedplant{ pixel_y = 9 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "bsF" = ( /obj/structure/largecrate/random/case/double, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "bsJ" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/flight_deck) "btq" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "btz" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "btB" = ( /obj/structure/cargo_container/grant/right{ @@ -2123,19 +2526,24 @@ layer = 4; unacidable = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "btP" = ( /obj/item/tool/kitchen/rollingpin, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "bux" = ( /obj/structure/toilet{ dir = 4; pixel_y = 8 }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "buz" = ( @@ -2145,7 +2553,7 @@ "buO" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clothing/mask/surgical, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "bvK" = ( /obj/structure/surface/table/reinforced/prison, @@ -2168,15 +2576,19 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "bxr" = ( /obj/structure/machinery/cm_vending/sorted/tech/tool_storage{ density = 0; pixel_y = 16 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "bxV" = ( @@ -2185,8 +2597,10 @@ /turf/open/floor/wood, /area/fiorina/station/chapel) "bxW" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison, /area/fiorina/tumor/fiberbush) "byb" = ( /turf/closed/shuttle/ert{ @@ -2207,30 +2621,40 @@ /area/fiorina/lz/near_lzI) "byn" = ( /obj/structure/closet/emcloset, -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/power_ring) "byr" = ( /obj/structure/closet/crate/medical, /obj/item/storage/fancy/vials/random, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "byt" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "bzC" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/newspaper, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bzG" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight/lamp, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/disco) "bzH" = ( /obj/structure/sign/poster{ @@ -2239,11 +2663,13 @@ pixel_y = 6 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "bzL" = ( /obj/structure/bed/sofa/vert/grey/bot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "bzO" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -2251,7 +2677,9 @@ "bAb" = ( /obj/structure/surface/rack, /obj/item/explosive/grenade/high_explosive/frag, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bAc" = ( /turf/closed/shuttle/ert{ @@ -2272,7 +2700,10 @@ /area/fiorina/oob) "bAS" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "bAU" = ( /obj/structure/bed/chair{ @@ -2280,8 +2711,9 @@ }, /obj/effect/decal/cleanable/blood, /obj/effect/spawner/gibspawner/human, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "bBA" = ( @@ -2290,13 +2722,15 @@ }, /area/fiorina/station/power_ring) "bBS" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/security) "bBX" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "bCu" = ( /obj/item/shard{ @@ -2306,12 +2740,13 @@ /area/fiorina/tumor/aux_engi) "bDd" = ( /obj/structure/machinery/photocopier, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "bDu" = ( /obj/item/trash/barcardine, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "bDx" = ( @@ -2327,15 +2762,21 @@ "bDC" = ( /obj/structure/surface/rack, /obj/item/storage/firstaid/fire/empty, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bDD" = ( /obj/effect/decal/cleanable/blood/gibs/xeno/body, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bDN" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "bDU" = ( @@ -2343,12 +2784,15 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "bEn" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "bEO" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "bEP" = ( /obj/item/device/flashlight, @@ -2359,7 +2803,10 @@ "bET" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/uscm_mre, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bEX" = ( /obj/structure/window/framed/prison, @@ -2369,10 +2816,12 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "bFj" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/closed/shuttle/ert{ icon_state = "leftengine_1"; layer = 3 @@ -2383,7 +2832,9 @@ /area/fiorina/station/chapel) "bFt" = ( /obj/item/stool, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "bFA" = ( /turf/closed/shuttle/ert{ @@ -2399,40 +2850,53 @@ pixel_x = -12; pixel_y = 13 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "bFR" = ( /obj/item/ammo_magazine/rifle/m16, /obj/item/clothing/head/helmet/marine/veteran/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "bFY" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "bGr" = ( /obj/structure/barricade/metal/wired, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "bGs" = ( /obj/structure/inflatable/popped, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "bGt" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "bGy" = ( /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "bGQ" = ( /obj/structure/closet{ @@ -2440,13 +2904,14 @@ pixel_y = 18 }, /obj/item/clothing/gloves/combat, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "bGT" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "bGY" = ( /turf/closed/shuttle/elevator{ @@ -2454,11 +2919,13 @@ }, /area/fiorina/station/civres_blue) "bHl" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "bHv" = ( @@ -2469,7 +2936,9 @@ /area/fiorina/lz/near_lzI) "bHI" = ( /obj/item/frame/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bHY" = ( /obj/item/weapon/gun/flamer, @@ -2477,19 +2946,26 @@ /obj/item/ammo_magazine/flamer_tank, /obj/item/ammo_magazine/flamer_tank, /obj/item/storage/pouch/flamertank, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "bIg" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "bII" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "bIX" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/tumor/servers) "bIZ" = ( @@ -2525,26 +3001,32 @@ }, /area/fiorina/station/park) "bJz" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/tumor/servers) "bJF" = ( -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/chapel) "bKs" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "bKM" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bLd" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "bLg" = ( /obj/structure/platform{ @@ -2555,15 +3037,16 @@ dir = 6 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "bLz" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/park) "bLA" = ( @@ -2574,7 +3057,9 @@ /area/fiorina/station/security/wardens) "bMd" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "bMh" = ( /obj/item/frame/table/wood/fancy, @@ -2587,7 +3072,10 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/lowsec) "bMr" = ( -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "bMu" = ( /obj/structure/curtain{ @@ -2600,14 +3088,20 @@ desc = "A ticket to Souto Man's raffle!"; name = "\improper Souto Raffle Ticket" }, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/chapel) "bNf" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "bNz" = ( -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "bNA" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, @@ -2615,11 +3109,16 @@ dir = 8; health = 80 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "bNN" = ( /obj/structure/closet/crate/trashcart, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "bNP" = ( /obj/effect/spawner/random/tool, @@ -2633,10 +3132,14 @@ /area/fiorina/station/park) "bOh" = ( /obj/item/stack/folding_barricade, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "bOz" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/closed/shuttle/ert{ icon_state = "rightengine_1"; layer = 3; @@ -2650,16 +3153,18 @@ }, /area/fiorina/station/civres_blue) "bPf" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "bPk" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "bPl" = ( @@ -2676,8 +3181,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "bPS" = ( -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/power_ring) "bQh" = ( @@ -2706,7 +3212,10 @@ /area/fiorina/oob) "bQx" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "bQy" = ( /obj/structure/surface/table/woodentable, @@ -2734,12 +3243,16 @@ /obj/item/ammo_casing{ icon_state = "casing_6_1" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "bRU" = ( /obj/item/device/multitool, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "bSM" = ( @@ -2753,18 +3266,20 @@ /area/fiorina/station/botany) "bSP" = ( /obj/item/tool/surgery/scalpel, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "bST" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "bTe" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "bTo" = ( @@ -2774,7 +3289,9 @@ "bTG" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/gun/shotgun/highchance, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "bTI" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ @@ -2791,7 +3308,9 @@ /area/fiorina/tumor/servers) "bUy" = ( /obj/effect/landmark/yautja_teleport, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "bUB" = ( /obj/structure/platform_decoration/kutjevo{ @@ -2800,8 +3319,9 @@ /turf/open/space, /area/fiorina/oob) "bUH" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "bUJ" = ( @@ -2809,18 +3329,25 @@ /obj/structure/machinery/computer/objective{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "bVh" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "bVk" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "bVO" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; @@ -2830,7 +3357,9 @@ /area/fiorina/oob) "bVY" = ( /obj/structure/coatrack, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "bVZ" = ( /turf/closed/shuttle/ert{ @@ -2845,7 +3374,9 @@ /area/fiorina/station/security/wardens) "bWE" = ( /obj/effect/spawner/random/gun/rifle/midchance, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "bXa" = ( /obj/structure/barricade/handrail/type_b{ @@ -2855,30 +3386,40 @@ dir = 4; layer = 3.5 }, -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "bXk" = ( /obj/effect/decal/cleanable/blood/gibs/robot/limb, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "bYq" = ( /obj/item/ammo_casing{ icon_state = "casing_10_1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "bYv" = ( /obj/structure/filingcabinet, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "bYB" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "bYG" = ( /obj/structure/machinery/shower{ @@ -2886,26 +3427,32 @@ pixel_y = -1 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "bYS" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "bZu" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "bZF" = ( /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "bZY" = ( /obj/structure/machinery/light/double/blue, @@ -2915,15 +3462,18 @@ /turf/open/floor/wood, /area/fiorina/station/lowsec) "cbb" = ( -/obj/structure/monorail/launchtrack{ - dir = 5 +/obj/structure/monorail{ + dir = 5; + name = "launch track" }, /turf/open/space, /area/fiorina/oob) "cbe" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "cbx" = ( /obj/structure/closet/secure_closet/engineering_personal, @@ -2932,15 +3482,21 @@ pixel_y = 21 }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "cbC" = ( /obj/structure/kitchenspike, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "cbH" = ( /obj/structure/largecrate/supply/generator, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "cbK" = ( /obj/structure/closet/secure_closet/guncabinet{ @@ -2954,7 +3510,9 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "cbN" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -2964,8 +3522,9 @@ /turf/closed/wall/prison, /area/fiorina/station/civres_blue) "cdD" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "cel" = ( @@ -2974,7 +3533,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "ceC" = ( /turf/closed/wall/r_wall/prison, @@ -2983,7 +3544,9 @@ /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "cfc" = ( /obj/structure/barricade/sandbags{ @@ -2991,11 +3554,13 @@ icon_state = "sandbag_0" }, /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "cfj" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "cft" = ( /obj/item/frame/rack, @@ -3003,24 +3568,37 @@ dir = 4; layer = 3.5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "cfz" = ( /obj/item/stock_parts/manipulator/pico, -/turf/open/floor/prison/darkpurple2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "cfD" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "cfN" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "cgE" = ( /obj/structure/machinery/vending/sovietsoda, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "chA" = ( /obj/structure/barricade/handrail{ @@ -3042,11 +3620,16 @@ icon_state = "abed" }, /obj/item/storage/fancy/cigar/tarbacks, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "chS" = ( /obj/structure/window, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "chT" = ( /obj/structure/machinery/light/double/blue{ @@ -3061,8 +3644,9 @@ /obj/structure/prop/souto_land/streamer{ pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "cif" = ( @@ -3073,10 +3657,12 @@ dir = 4; layer = 3.5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "ciX" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/light/double/blue{ dir = 4; pixel_x = 10; @@ -3086,7 +3672,9 @@ /area/fiorina/oob) "ciZ" = ( /obj/item/explosive/grenade/incendiary/molotov, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "cjl" = ( /obj/structure/bed/roller, @@ -3095,8 +3683,9 @@ }, /obj/item/newspaper, /obj/item/bedsheet/green, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "cjp" = ( @@ -3105,14 +3694,16 @@ icon_state = "poster14"; pixel_y = 32 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cjs" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "cjA" = ( @@ -3131,12 +3722,15 @@ /turf/open/space, /area/fiorina/oob) "cjF" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "cjS" = ( /obj/item/newspaper, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "ckm" = ( @@ -3153,12 +3747,15 @@ "cky" = ( /obj/structure/bed/roller, /obj/item/trash/used_stasis_bag, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "ckD" = ( /obj/item/stool, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "cll" = ( @@ -3171,7 +3768,10 @@ pixel_x = -5; pixel_y = -11 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "cls" = ( /obj/structure/surface/table/woodentable, @@ -3182,7 +3782,7 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "clG" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/maintenance) "clN" = ( /obj/structure/prop/invuln/minecart_tracks{ @@ -3204,21 +3804,28 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "cmg" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "cmj" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "cmm" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "cmI" = ( /obj/structure/platform{ @@ -3227,7 +3834,7 @@ /obj/item/prop/almayer/comp_open{ pixel_y = 6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "cmP" = ( /obj/structure/pipes/standard/tank{ @@ -3236,45 +3843,55 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "cmV" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "cmW" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/station/chapel) "cnn" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "cnu" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "cnF" = ( /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "cnU" = ( /obj/structure/machinery/computer/atmos_alert, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "cnW" = ( /obj/structure/inflatable/popped, /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "coh" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "coj" = ( /obj/item/stool, @@ -3282,14 +3899,15 @@ /area/fiorina/station/lowsec) "coT" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "cph" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/spacecash/c20, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "cpP" = ( /turf/closed/shuttle/elevator/gears, @@ -3300,8 +3918,9 @@ dir = 4; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "cpW" = ( @@ -3312,13 +3931,16 @@ /area/fiorina/oob) "cqc" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "cqy" = ( /obj/structure/bed/chair/office/dark{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "cqz" = ( /turf/closed/shuttle/ert{ @@ -3328,11 +3950,16 @@ "cqH" = ( /obj/structure/surface/rack, /obj/item/clothing/gloves/latex, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "cqU" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "cri" = ( /obj/structure/machinery/computer/prisoner, @@ -3350,14 +3977,16 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzI) "crH" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "crM" = ( @@ -3367,26 +3996,33 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/servers) "crO" = ( -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/security) "csl" = ( /obj/item/trash/boonie, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "cso" = ( /obj/structure/surface/rack, /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/dexalin/skillless, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "csp" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "csH" = ( /obj/structure/prop/invuln/minecart_tracks{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "ctc" = ( /obj/structure/prop/resin_prop{ @@ -3402,7 +4038,7 @@ /obj/structure/machinery/power/apc{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "ctD" = ( /obj/effect/landmark/monkey_spawn, @@ -3410,11 +4046,16 @@ /area/fiorina/tumor/ice_lab) "ctJ" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "cua" = ( /obj/structure/sign/safety/fire_haz, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "cvf" = ( /obj/structure/prop/structure_lattice{ @@ -3425,7 +4066,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "cvk" = ( /obj/structure/closet{ @@ -3433,8 +4076,9 @@ pixel_y = 18 }, /obj/item/clothing/gloves/boxing/blue, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cvn" = ( @@ -3443,18 +4087,22 @@ /area/fiorina/station/chapel) "cvp" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "cvq" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "cvr" = ( /obj/structure/platform, /obj/structure/reagent_dispensers/oxygentank{ layer = 2.6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "cvL" = ( /obj/effect/landmark/nightmare{ @@ -3472,37 +4120,54 @@ }, /area/fiorina/tumor/fiberbush) "cwO" = ( -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "cwU" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "cxd" = ( /obj/structure/prop/invuln/minecart_tracks/bumper{ dir = 1 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cxe" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "cxl" = ( /obj/structure/filingcabinet/disk, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cxn" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "cxF" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "cyb" = ( /turf/open/organic/grass{ @@ -3511,8 +4176,12 @@ }, /area/fiorina/tumor/aux_engi) "cyd" = ( -/obj/structure/monorail/launchtrack, -/turf/open/floor/prison/floor_plate, +/obj/structure/monorail{ + name = "launch track" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "cye" = ( /obj/item/trash/pistachios, @@ -3523,19 +4192,26 @@ /obj/item/storage/toolbox/mechanical{ pixel_y = 6 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "cyL" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/tumor/aux_engi) "cyO" = ( /obj/structure/machinery/vending/hydronutrients, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "cyU" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/mineral/plastic/small_stack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "cyV" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -3543,31 +4219,39 @@ "czj" = ( /obj/structure/closet/toolcloset, /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "czC" = ( /obj/structure/bedsheetbin, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "cAv" = ( /obj/structure/barricade/handrail/type_b{ dir = 8; layer = 3.5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "cAA" = ( /obj/effect/landmark/static_comms/net_two, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "cAV" = ( /obj/item/ammo_casing{ dir = 2; icon_state = "casing_5" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "cAW" = ( /turf/open/space/basic, @@ -3575,7 +4259,9 @@ "cBB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/mineral/plastic, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cBK" = ( /obj/item/shard{ @@ -3591,7 +4277,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "cBT" = ( /obj/structure/surface/table/reinforced/prison, @@ -3601,19 +4290,24 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "cBU" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cBY" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "cCq" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cCt" = ( @@ -3640,11 +4334,18 @@ }, /obj/item/reagent_container/food/snacks/eat_bar, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "cDj" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "cDl" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -3656,21 +4357,27 @@ /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "cDZ" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "cEf" = ( /obj/item/tool/extinguisher, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "cEl" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/maintenance) "cEw" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -3681,8 +4388,9 @@ }, /area/fiorina/tumor/ship) "cEB" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "cFf" = ( @@ -3692,11 +4400,11 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "cFn" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "cFq" = ( /obj/item/tool/mop, @@ -3704,18 +4412,23 @@ /area/fiorina/maintenance) "cFy" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cFC" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "cFE" = ( /obj/item/clothing/mask/cigarette, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "cFQ" = ( @@ -3728,7 +4441,9 @@ pixel_x = 6; pixel_y = 3 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "cFX" = ( /obj/structure/largecrate/supply/supplies, @@ -3737,15 +4452,18 @@ /area/fiorina/station/power_ring) "cGg" = ( /obj/structure/machinery/gibber, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "cGm" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/chapel) "cGR" = ( @@ -3756,17 +4474,19 @@ /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "cHx" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "cHD" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ req_one_access = null }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "cHF" = ( /obj/structure/surface/table/reinforced/prison, @@ -3779,12 +4499,15 @@ /area/fiorina/station/security) "cHJ" = ( /obj/item/trash/hotdog, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "cJa" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "cJo" = ( @@ -3794,7 +4517,7 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "cJv" = ( /obj/item/stack/rods, @@ -3807,7 +4530,10 @@ /obj/item/clipboard, /obj/item/paper, /obj/item/tool/pen, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "cJz" = ( /obj/structure/machinery/light/double/blue{ @@ -3832,12 +4558,17 @@ /obj/item/bodybag/tarp/reactive{ pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "cLr" = ( /obj/structure/machinery/cm_vending/sorted/medical/no_access, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "cLu" = ( /obj/structure/machinery/light/double/blue{ @@ -3852,19 +4583,22 @@ pixel_y = 18 }, /obj/item/clothing/gloves/boxing/green, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cLR" = ( -/turf/open/floor/prison/greenblue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greenblue" }, /area/fiorina/station/botany) "cMg" = ( /obj/item/trash/snack_bowl, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "cME" = ( @@ -3872,43 +4606,53 @@ /area/fiorina/maintenance) "cMJ" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "cNn" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "cOb" = ( /obj/item/ammo_casing{ icon_state = "casing_6" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "cOl" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "cOn" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "cOq" = ( /obj/item/disk, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "cOy" = ( /obj/item/tool/shovel/snow, /obj/item/device/flashlight, /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "cPq" = ( /obj/structure/machinery/light/double/blue{ @@ -3929,22 +4673,25 @@ }, /obj/item/prop/helmetgarb/flair_initech, /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "cPQ" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "cQn" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "cQu" = ( /obj/item/weapon/gun/energy/taser, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "cQA" = ( /obj/structure/machinery/shower{ @@ -3953,22 +4700,29 @@ /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "cQG" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cQX" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "cRs" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "cRB" = ( @@ -3988,12 +4742,13 @@ icon_state = "hefasword"; name = "de-activated HEFA Sword" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "cRS" = ( /obj/structure/platform, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/botany) "cTr" = ( @@ -4004,13 +4759,16 @@ /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "cUE" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "cVk" = ( /obj/structure/platform_decoration{ @@ -4022,15 +4780,16 @@ /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gibup1" }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "cVl" = ( /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "cVQ" = ( /obj/structure/machinery/light/double/blue{ @@ -4050,13 +4809,15 @@ pixel_x = 1; pixel_y = -1 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "cWG" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/chapel) @@ -4070,20 +4831,23 @@ pixel_x = 7; pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "cWR" = ( /obj/effect/landmark/objective_landmark/medium, /obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "cWU" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "cXm" = ( /obj/item/inflatable, @@ -4092,7 +4856,7 @@ /obj/item/inflatable, /obj/item/inflatable, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "cXq" = ( /obj/structure/platform{ @@ -4101,17 +4865,20 @@ /obj/structure/surface/rack, /obj/item/stack/flag/yellow, /obj/item/stack/flag/yellow, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "cXw" = ( /obj/structure/machinery/photocopier{ pixel_y = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/oob) "cXY" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, @@ -4126,7 +4893,10 @@ /area/fiorina/oob) "cYg" = ( /obj/item/ammo_magazine/m56d, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "cYP" = ( /obj/structure/closet/crate/trashcart, @@ -4147,8 +4917,9 @@ /obj/structure/machinery/iv_drip{ pixel_y = 19 }, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "cZq" = ( @@ -4191,7 +4962,10 @@ /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "daS" = ( /obj/item/ammo_magazine/pistol/kt42, @@ -4210,27 +4984,34 @@ /area/fiorina/station/chapel) "dbL" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "dbX" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "ddc" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "dds" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "ddz" = ( /obj/item/stack/sheet/cardboard, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "ddA" = ( @@ -4247,11 +5028,14 @@ pixel_x = -5; pixel_y = -11 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "ddF" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) @@ -4274,7 +5058,9 @@ /obj/structure/machinery/computer/cameras{ dir = 1 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "dec" = ( /obj/structure/sign/prop3{ @@ -4296,7 +5082,10 @@ /area/fiorina/station/park) "deE" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "deL" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -4304,13 +5093,16 @@ /turf/open/floor/plating/prison, /area/fiorina/station/flight_deck) "deN" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "deR" = ( /obj/item/toy/crayon/red, @@ -4320,11 +5112,15 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "dfa" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "dfu" = ( /obj/item/prop/helmetgarb/spacejam_tickets{ @@ -4333,50 +5129,68 @@ pixel_x = 7; pixel_y = 6 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "dfz" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "dfD" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "dfV" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "dfZ" = ( /obj/effect/spawner/random/gun/rifle/lowchance, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "dgx" = ( /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "dgz" = ( /obj/item/trash/cigbutt/ucigbutt, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "dgB" = ( /obj/structure/barricade/wooden{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "dgF" = ( -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/chapel) "dhe" = ( /obj/structure/barricade/metal/wired{ dir = 4 }, -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/disco) "dhi" = ( /obj/structure/platform_decoration/kutjevo, @@ -4393,11 +5207,11 @@ pixel_x = -6; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "dhs" = ( /obj/item/tool/weldingtool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dhD" = ( /obj/structure/machinery/shower{ @@ -4407,31 +5221,40 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "dhN" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "dhV" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "diP" = ( -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "green" }, /area/fiorina/tumor/civres) "diR" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger, /obj/item/clothing/accessory/holobadge/cord, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "diS" = ( /obj/structure/largecrate/supply/supplies/water, @@ -4443,15 +5266,18 @@ pixel_x = 1; pixel_y = 12 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "diX" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "djd" = ( -/turf/open/floor/prison/greenblueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greenbluecorner" }, /area/fiorina/station/botany) "dje" = ( @@ -4464,7 +5290,9 @@ /area/fiorina/station/park) "djx" = ( /obj/item/paper/prison_station/inmate_handbook, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "djA" = ( /obj/structure/surface/table/reinforced/prison, @@ -4473,7 +5301,9 @@ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner" }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "djB" = ( /obj/vehicle/powerloader{ @@ -4484,8 +5314,12 @@ }, /area/fiorina/station/research_cells) "dka" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/bluefull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "dkb" = ( /obj/item/device/flashlight/lamp/tripod, @@ -4507,24 +5341,31 @@ /turf/open/space, /area/fiorina/oob) "dkj" = ( -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "dkC" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "dkP" = ( /obj/structure/largecrate/random, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "dla" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dlA" = ( /obj/effect/decal/cleanable/blood, @@ -4532,11 +5373,14 @@ /area/fiorina/tumor/aux_engi) "dlE" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "dlW" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "dlX" = ( @@ -4545,33 +5389,38 @@ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "dme" = ( /obj/structure/machinery/deployable/barrier, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dmu" = ( /obj/structure/filingcabinet/disk, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "dmB" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "dmH" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "dnp" = ( /obj/item/ammo_casing{ icon_state = "casing_8" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "dnx" = ( /obj/structure/bed/sofa/south/grey/left, @@ -4579,7 +5428,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "dnz" = ( /obj/structure/surface/table/woodentable/fancy, @@ -4588,15 +5440,16 @@ /area/fiorina/station/chapel) "dnB" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "dnE" = ( /obj/structure/machinery/newscaster{ pixel_y = 32 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dnK" = ( /obj/structure/bed/chair/comfy{ @@ -4628,7 +5481,7 @@ dir = 6; icon_state = "casing_10_1" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "doD" = ( /obj/structure/cable/heavyduty{ @@ -4655,17 +5508,22 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "dpt" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "dpE" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/powercell, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "dpH" = ( /obj/structure/reagent_dispensers/fueltank, @@ -4676,7 +5534,7 @@ dir = 8 }, /obj/item/clothing/head/helmet/marine/veteran/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dqa" = ( /obj/structure/platform{ @@ -4689,7 +5547,10 @@ /area/fiorina/station/park) "dqk" = ( /obj/effect/spawner/random/sentry/midchance, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "dqE" = ( /obj/structure/prop/souto_land/pole, @@ -4719,13 +5580,14 @@ pixel_x = 1; pixel_y = -1 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "dro" = ( /obj/structure/closet/l3closet/general, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "dso" = ( /obj/structure/closet{ @@ -4734,28 +5596,37 @@ }, /obj/effect/spawner/random/tool, /obj/item/clothing/gloves/combat, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "dsv" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "dsQ" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/greenbluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "greenblue" }, /area/fiorina/station/botany) "dsT" = ( -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "dtc" = ( /obj/structure/bed/chair{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/maintenance) "dtg" = ( @@ -4767,7 +5638,9 @@ /obj/item/ammo_casing{ icon_state = "casing_6_1" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "duw" = ( /obj/structure/reagent_dispensers/fueltank, @@ -4787,7 +5660,10 @@ /obj/structure/window{ dir = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "duF" = ( /obj/structure/window/framed/prison/reinforced, @@ -4806,12 +5682,15 @@ /obj/structure/machinery/computer/emails{ dir = 4 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "dvV" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/power_ring) "dvY" = ( @@ -4823,8 +5702,9 @@ /turf/open/space, /area/fiorina/oob) "dwg" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -4832,14 +5712,17 @@ "dwk" = ( /obj/structure/surface/rack, /obj/item/device/camera, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "dwM" = ( /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "dwQ" = ( @@ -4859,16 +5742,22 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "dxg" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "dxA" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/medbay) "dxE" = ( /obj/structure/prop/resin_prop{ @@ -4878,21 +5767,25 @@ /area/fiorina/tumor/aux_engi) "dxJ" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "dxO" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "dxS" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/tumor/servers) "dyd" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "dyi" = ( /obj/structure/machinery/light/double/blue{ @@ -4903,14 +5796,16 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "dyp" = ( /obj/item/tool/kitchen/utensil/pspoon, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "dyB" = ( @@ -4921,13 +5816,18 @@ /turf/open/floor/plating/prison, /area/fiorina/station/chapel) "dyM" = ( -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "dzj" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "dzk" = ( /obj/structure/bed/roller, @@ -4935,8 +5835,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "dzl" = ( @@ -4947,7 +5848,7 @@ /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dAe" = ( /obj/structure/machinery/line_nexter{ @@ -4955,21 +5856,22 @@ pixel_x = -2 }, /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "dAk" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "dAA" = ( /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "dAB" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "dAQ" = ( @@ -4978,11 +5880,12 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "dBa" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -5007,36 +5910,49 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "dBI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ashtray/plastic, /obj/item/trash/cigbutt, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dBR" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "dBY" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "dCb" = ( /obj/structure/platform, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "dCl" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "dCo" = ( /obj/item/clothing/shoes/laceup, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "dCu" = ( /obj/structure/machinery/door/airlock/almayer/generic{ @@ -5048,11 +5964,13 @@ "dCA" = ( /obj/item/organ/lungs, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "dCF" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "dCM" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -5060,25 +5978,31 @@ /area/fiorina/station/security) "dDm" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "dDy" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "dDM" = ( /obj/structure/closet/wardrobe/orange, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "dDS" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "dDU" = ( @@ -5088,8 +6012,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/chapel) "dEo" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /obj/structure/machinery/light/double/blue{ @@ -5101,17 +6026,24 @@ /area/fiorina/station/flight_deck) "dEy" = ( /obj/item/trash/uscm_mre, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "dEF" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "dEI" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -5121,32 +6053,39 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/chapel) "dFk" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "dFw" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "dFC" = ( /obj/structure/prop/almayer/computers/sensor_computer1{ name = "computer" }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "dFE" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "dFG" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "dFH" = ( @@ -5166,25 +6105,28 @@ "dFO" = ( /obj/item/weapon/gun/rifle/m16, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/security) "dGc" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "dGj" = ( /obj/structure/machinery/power/apc{ start_charge = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "dGw" = ( /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "dGx" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -5203,21 +6145,25 @@ /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/tumor/civres) "dHp" = ( -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "dIa" = ( /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "dIi" = ( -/obj/structure/stairs/perspective/p_stair_full, -/turf/open/floor/prison/floor, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, +/turf/open/floor/prison, /area/fiorina/station/security) "dIo" = ( /turf/closed/wall/prison, @@ -5225,11 +6171,12 @@ "dIp" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "dIq" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "dID" = ( @@ -5239,7 +6186,10 @@ icon_state = "triagedecaldir" }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dIK" = ( /obj/structure/machinery/light/double/blue{ @@ -5248,12 +6198,16 @@ pixel_y = -3 }, /obj/structure/largecrate/random, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "dJl" = ( /obj/item/device/flashlight/flare, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "dKo" = ( @@ -5262,13 +6216,17 @@ /area/fiorina/station/security/wardens) "dKy" = ( /obj/item/trash/c_tube, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dKI" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "dKX" = ( /obj/effect/landmark/survivor_spawner, @@ -5284,12 +6242,16 @@ /obj/structure/bed/chair/office/light{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dLF" = ( /obj/structure/barricade/handrail, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "dMa" = ( @@ -5297,18 +6259,23 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "dMc" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, /area/fiorina/station/park) "dMm" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "dMv" = ( -/turf/open/floor/prison/greenblueangle, +/turf/open/floor/prison{ + icon_state = "greenbluecorner" + }, /area/fiorina/station/botany) "dMK" = ( /obj/item/tool/pickaxe, @@ -5319,7 +6286,10 @@ pixel_y = 10 }, /obj/structure/surface/rack, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "dMO" = ( /obj/structure/bed/chair{ @@ -5329,7 +6299,10 @@ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/park) "dMU" = ( /obj/structure/barricade/handrail{ @@ -5350,10 +6323,16 @@ /turf/open/auto_turf/sand/layer1, /area/fiorina/lz/near_lzI) "dNF" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "dOs" = ( -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "dOE" = ( /obj/item/storage/bible/hefa, @@ -5369,30 +6348,37 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/oob) "dOX" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/lz/near_lzI) "dPC" = ( /obj/structure/machinery/computer3/server/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "dPQ" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "dQp" = ( /obj/effect/decal/hefa_cult_decals/d32, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "dQA" = ( /obj/item/tool/screwdriver, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "dQW" = ( /obj/item/ammo_casing{ @@ -5408,11 +6394,17 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "dRm" = ( /obj/item/storage/bible/hefa, -/turf/open/floor/prison/greencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "green" + }, /area/fiorina/station/chapel) "dRO" = ( /obj/effect/acid_hole{ @@ -5427,38 +6419,57 @@ /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "dSy" = ( /obj/structure/bed/sofa/vert/grey/bot{ pixel_y = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) +"dSz" = ( +/obj/structure/barricade/wooden{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "dTf" = ( /obj/structure/largecrate/random/case, /turf/open/floor/plating/prison, /area/fiorina/maintenance) "dTp" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "dTv" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "dTx" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "dUs" = ( -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "dUZ" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/space/basic, /area/fiorina/oob) "dVe" = ( @@ -5468,24 +6479,30 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "dVm" = ( /obj/item/storage/pill_bottle/spaceacillin/skillless, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "dVK" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/coffee, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "dWx" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "dWB" = ( /obj/effect/decal/cleanable/blood/oil, @@ -5493,11 +6510,16 @@ /area/fiorina/station/civres_blue) "dWM" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "dWN" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "dXv" = ( /obj/structure/barricade/wooden{ @@ -5513,7 +6535,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "dXG" = ( /turf/open/floor/plating/prison, @@ -5522,7 +6547,10 @@ /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "dYp" = ( /obj/docking_port/stationary/marine_dropship/lz1{ @@ -5533,11 +6561,13 @@ "dYr" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/explosive/grenade/incendiary/molotov, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "dYv" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "dYI" = ( /turf/closed/shuttle/ert{ @@ -5546,14 +6576,17 @@ /area/fiorina/tumor/aux_engi) "dYP" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "dZc" = ( /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/power_ring) "dZt" = ( @@ -5562,19 +6595,25 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "dZA" = ( /obj/structure/closet, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "eag" = ( /obj/item/clothing/under/color/orange, /obj/item/clothing/under/color/orange, /obj/item/clothing/under/color/orange, /obj/structure/surface/rack, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "eaL" = ( @@ -5586,17 +6625,21 @@ /obj/item/book/manual/engineering_guide{ pixel_x = -4 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "eaQ" = ( /obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "eaZ" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "ebc" = ( /obj/structure/platform{ @@ -5605,19 +6648,25 @@ /obj/effect/decal/medical_decals{ icon_state = "cryomid" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ebm" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greenbluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "greenblue" }, /area/fiorina/station/botany) "ebP" = ( /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "ecd" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -5625,7 +6674,7 @@ /area/fiorina/station/lowsec) "ecp" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "ecu" = ( /obj/item/stack/sheet/metal/medium_stack, @@ -5635,7 +6684,10 @@ /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ pixel_y = 32 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "ecL" = ( /obj/structure/surface/rack, @@ -5656,21 +6708,26 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "edv" = ( /obj/item/storage/fancy/cigar, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "eej" = ( /obj/item/reagent_container/food/drinks/coffee{ name = "\improper paper cup" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "eev" = ( /obj/structure/machinery/vending/walkman, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "eew" = ( /obj/structure/platform{ @@ -5680,7 +6737,9 @@ /obj/structure/platform_decoration{ dir = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "eeI" = ( /obj/structure/lattice, @@ -5688,8 +6747,9 @@ /turf/open/floor/almayer_hull, /area/fiorina/oob) "eeL" = ( -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/station/transit_hub) "efk" = ( @@ -5713,11 +6773,15 @@ /turf/open/floor/plating/prison, /area/fiorina/oob) "efz" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "efS" = ( -/obj/structure/monorail/launchtrack{ - dir = 9 +/obj/structure/monorail{ + dir = 9; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) @@ -5728,22 +6792,28 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/ice_lab) "ege" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "egm" = ( /obj/structure/bed/sofa/south/grey/right, /obj/item/storage/briefcase{ pixel_y = -2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "egv" = ( /turf/closed/wall/mineral/bone_resin, /area/fiorina/station/civres_blue) "egx" = ( /obj/item/trash/boonie, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "egL" = ( /obj/item/newspaper, @@ -5755,26 +6825,35 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "ehf" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "ehg" = ( /obj/structure/machinery/cm_vending/sorted/marine_food{ desc = "Prison meal vendor, containing preprepared meals fit for the dregs of society."; name = "\improper Fiorina Engineering Canteen Vendor" }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "ehA" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "eir" = ( @@ -5784,11 +6863,16 @@ /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "eix" = ( /obj/structure/closet/bombcloset, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "ejk" = ( /obj/structure/disposalpipe/segment{ @@ -5798,19 +6882,26 @@ name = "overhead pipe"; pixel_y = 12 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "ejn" = ( /obj/effect/decal/cleanable/blood, /obj/effect/spawner/random/gun/pistol/midchance, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "ejp" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/kitchen/rollingpin, /obj/item/reagent_container/food/snacks/grown/carrot, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "ejq" = ( /obj/structure/machinery/space_heater, @@ -5829,7 +6920,10 @@ icon_state = "sandbag_0"; pixel_y = 2 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "eki" = ( /obj/structure/filingcabinet, @@ -5838,15 +6932,19 @@ /area/fiorina/station/security/wardens) "ekH" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "eli" = ( /obj/structure/closet/emcloset, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "elq" = ( -/turf/open/floor/prison/greenblueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenbluecorner" }, /area/fiorina/station/botany) "elC" = ( @@ -5857,8 +6955,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "elY" = ( @@ -5868,7 +6967,7 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "emm" = ( /obj/structure/machinery/light/double/blue{ @@ -5891,13 +6990,16 @@ /area/fiorina/oob) "emU" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "ena" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "end" = ( /obj/structure/window/framed/prison/cell, @@ -5911,11 +7013,15 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "enG" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "enH" = ( /obj/effect/alien/weeds/node, @@ -5929,7 +7035,10 @@ /turf/open/floor/plating/prison, /area/fiorina/oob) "eok" = ( -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/oob) "eov" = ( /turf/closed/wall/r_wall/prison_unmeltable{ @@ -5939,7 +7048,7 @@ /area/fiorina/station/research_cells) "eoR" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "eoW" = ( /obj/structure/largecrate/random/case, @@ -5949,11 +7058,16 @@ /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) +"eph" = ( +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "eps" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "epV" = ( /obj/item/paper/crumpled/bloody, @@ -5961,11 +7075,14 @@ /area/fiorina/station/chapel) "eqq" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "eqC" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "eqQ" = ( /turf/open/floor/corsat{ @@ -5975,11 +7092,15 @@ "eqT" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper/janitor, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "ere" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "erl" = ( /obj/structure/machinery/light/double/blue{ @@ -5995,11 +7116,15 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "erB" = ( /obj/structure/machinery/vending/sovietsoda, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "erT" = ( /obj/structure/platform_decoration/kutjevo{ @@ -6011,10 +7136,14 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/lz/near_lzI) "esF" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/tumor/servers) "esS" = ( /obj/item/stack/sheet/metal, @@ -6033,12 +7162,14 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "euC" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "euG" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "euR" = ( /obj/structure/surface/table/reinforced/prison, @@ -6051,7 +7182,9 @@ pixel_y = 2 }, /obj/item/tool/stamp, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "euT" = ( /obj/item/tool/wet_sign, @@ -6059,23 +7192,29 @@ pixel_x = -6; pixel_y = -1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "evc" = ( /obj/structure/machinery/power/terminal{ dir = 1 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "evf" = ( /obj/item/ammo_casing{ icon_state = "casing_5_1" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "evg" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "evv" = ( /obj/structure/machinery/light/double/blue{ @@ -6085,17 +7224,20 @@ /obj/effect/landmark/nightmare{ insert_tag = "nogear" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "evD" = ( /obj/structure/lz_sign/prison_sign, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "evH" = ( /obj/structure/surface/rack, /obj/item/tool/plantspray/pests, /obj/item/tool/plantspray/weeds, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "evQ" = ( /obj/structure/surface/table/reinforced/prison, @@ -6106,7 +7248,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "evU" = ( /obj/item/device/flashlight/lamp/tripod, @@ -6114,7 +7258,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "ewx" = ( /obj/structure/bed/chair/comfy{ @@ -6125,11 +7271,14 @@ /turf/open/floor/carpet, /area/fiorina/station/security/wardens) "ewy" = ( -/obj/structure/flora/pottedplant/pottedplant_22{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; layer = 2.8 }, /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "ewE" = ( /obj/item/clothing/accessory/armband/cargo{ @@ -6146,7 +7295,9 @@ "ewY" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "exs" = ( /obj/structure/bed/chair{ @@ -6160,7 +7311,10 @@ dir = 4; pixel_y = 8 }, -/turf/open/floor/prison/bright_clean_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean_marked" + }, /area/fiorina/station/medbay) "exO" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -6175,7 +7329,10 @@ /area/fiorina/station/park) "eyo" = ( /obj/structure/prop/resin_prop, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "eyz" = ( /obj/structure/machinery/portable_atmospherics/canister/phoron, @@ -6185,11 +7342,23 @@ /area/fiorina/station/telecomm/lz1_cargo) "eyM" = ( /obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) +"eza" = ( +/obj/structure/barricade/wooden{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "ezb" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "ezn" = ( /obj/structure/sign/prop3{ @@ -6199,32 +7368,42 @@ /area/fiorina/station/telecomm/lz1_cargo) "ezo" = ( /obj/structure/bed/chair/janicart, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "ezr" = ( /obj/structure/bed{ icon_state = "psychbed" }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "ezx" = ( /obj/structure/platform{ dir = 8 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "ezz" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clothing/accessory/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "ezJ" = ( -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "ezT" = ( -/turf/open/floor/prison/redangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "redcorner" }, /area/fiorina/station/security) "ezV" = ( @@ -6232,13 +7411,16 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "eAo" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "eAy" = ( -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/transit_hub) "eAM" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ @@ -6248,31 +7430,49 @@ /area/fiorina/lz/near_lzII) "eAQ" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "eAY" = ( /obj/structure/girder/displaced, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) +"eBs" = ( +/obj/structure/barricade/wooden{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "eBC" = ( /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "eCg" = ( /obj/structure/largecrate/supply/explosives/mines, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "eCh" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "eCA" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "eDn" = ( /obj/structure/platform/kutjevo/smooth, @@ -6281,18 +7481,23 @@ /area/fiorina/oob) "eDs" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "eEh" = ( /obj/structure/barricade/wooden, /obj/item/device/flashlight/flare, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "eEk" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "eEo" = ( /obj/structure/prop/structure_lattice{ @@ -6303,7 +7508,7 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "eED" = ( /obj/structure/surface/table/woodentable/fancy, @@ -6331,15 +7536,18 @@ /area/fiorina/station/chapel) "eGg" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "eGz" = ( /obj/structure/machinery/constructable_frame, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "eGV" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "eGY" = ( /obj/structure/toilet{ @@ -6347,8 +7555,9 @@ pixel_y = 8 }, /obj/effect/spawner/random/gun/smg, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "eHa" = ( @@ -6373,8 +7582,9 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "eIF" = ( @@ -6387,8 +7597,9 @@ /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "eJm" = ( @@ -6405,12 +7616,15 @@ /obj/structure/machinery/autolathe/full{ layer = 2.98 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "eJP" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/cigbutt, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "eJQ" = ( /obj/structure/platform/kutjevo/smooth{ @@ -6420,11 +7634,15 @@ /turf/open/space/basic, /area/fiorina/oob) "eKu" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/bright_clean_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean_marked" + }, /area/fiorina/station/power_ring) "eLu" = ( /turf/closed/wall/prison, @@ -6433,7 +7651,10 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "eMG" = ( /obj/structure/machinery/door/airlock/multi_tile/elevator/access{ @@ -6442,11 +7663,15 @@ /turf/open/floor/plating/prison, /area/fiorina/station/botany) "eML" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "eMU" = ( /turf/closed/shuttle/ert{ @@ -6460,16 +7685,20 @@ layer = 2.97; pixel_y = -14 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "eNs" = ( -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/power_ring) "eNV" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "eOf" = ( /obj/structure/sink{ @@ -6477,7 +7706,10 @@ pixel_x = 12 }, /obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "eOo" = ( /obj/structure/prop/structure_lattice{ @@ -6488,7 +7720,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "eOF" = ( /obj/structure/platform/kutjevo/smooth{ @@ -6506,18 +7740,23 @@ pixel_y = 21 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "eOS" = ( /obj/item/tool/warning_cone, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "ePf" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "ePq" = ( /obj/item/trash/cigbutt/ucigbutt, @@ -6537,7 +7776,7 @@ /area/fiorina/oob) "ePx" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "ePB" = ( /turf/closed/wall/prison, @@ -6552,22 +7791,27 @@ /area/fiorina/station/civres_blue) "eQv" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "eQD" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "eQR" = ( -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "green" }, /area/fiorina/tumor/servers) "eRi" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "eRz" = ( @@ -6580,27 +7824,33 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "eRS" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "eRY" = ( /obj/structure/machinery/constructable_frame, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "eSg" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "eSs" = ( /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "eSF" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ @@ -6610,8 +7860,9 @@ /area/fiorina/lz/near_lzII) "eSZ" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "eTb" = ( @@ -6625,8 +7876,9 @@ /area/fiorina/station/chapel) "eTd" = ( /obj/item/prop/helmetgarb/gunoil, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "eTh" = ( @@ -6634,24 +7886,29 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "eTn" = ( /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "eTo" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/station_alert, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "eTx" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "eTC" = ( /obj/item/frame/rack, @@ -6666,15 +7923,16 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "eUi" = ( /obj/structure/extinguisher_cabinet, /turf/closed/wall/prison, /area/fiorina/station/telecomm/lz1_cargo) "eUk" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "eUD" = ( @@ -6682,12 +7940,13 @@ current_rounds = 0 }, /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "eVb" = ( /obj/item/reagent_container/blood, -/turf/open/floor/prison/greenblueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenbluecorner" }, /area/fiorina/station/botany) "eVf" = ( @@ -6706,8 +7965,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "eVL" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -6717,14 +7977,15 @@ /area/fiorina/tumor/ship) "eVZ" = ( /obj/item/trash/sosjerky, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "eWh" = ( /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "eWu" = ( @@ -6736,12 +7997,15 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "eWO" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/newspaper, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "eWP" = ( /obj/structure/sign/prop3{ @@ -6766,19 +8030,27 @@ "eXd" = ( /obj/structure/surface/rack, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "eXp" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/station/civres_blue) "eXr" = ( -/obj/structure/monorail/launchtrack, -/turf/open/floor/prison/floor_plate, +/obj/structure/monorail{ + name = "launch track" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "eXC" = ( /obj/structure/machinery/recharge_station, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "eXP" = ( @@ -6789,13 +8061,18 @@ /turf/open/floor/plating/prison, /area/fiorina/station/botany) "eXU" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "eYi" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "eYC" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -6817,7 +8094,9 @@ /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/station/security/wardens) "eZm" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, @@ -6856,17 +8135,23 @@ }, /obj/item/weapon/gun/launcher/grenade/m81, /obj/item/storage/pill_bottle/kelotane, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "eZL" = ( /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "eZN" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "fbo" = ( /obj/structure/barricade/plasteel, @@ -6883,12 +8168,13 @@ pixel_y = 9 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fbL" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "fbT" = ( @@ -6900,7 +8186,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "fbW" = ( /obj/effect/decal/medical_decals{ @@ -6909,12 +8197,18 @@ /obj/structure/pipes/standard/simple/visible{ dir = 5 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fcp" = ( /obj/item/trash/burger, /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "fcA" = ( /obj/effect/landmark/yautja_teleport, @@ -6927,7 +8221,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fcX" = ( /obj/structure/closet/crate/trashcart, @@ -6936,7 +8233,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "fcZ" = ( /obj/structure/platform/kutjevo/smooth{ @@ -6954,7 +8253,9 @@ /turf/open/space, /area/fiorina/oob) "fde" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "fdf" = ( @@ -6965,7 +8266,10 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "fdn" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 8; + icon_state = "floor_marked" + }, /area/fiorina/station/research_cells) "fdK" = ( /obj/effect/decal/cleanable/blood/oil, @@ -6976,11 +8280,13 @@ icon_state = "soutomobile"; name = "Disabled Souto Mobile" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "fdS" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "fdV" = ( /obj/structure/platform_decoration/kutjevo{ @@ -6990,21 +8296,27 @@ /area/fiorina/oob) "feO" = ( /obj/structure/largecrate/supply/medicine/iv, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "feY" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "ffm" = ( /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "ffN" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "ffU" = ( /obj/item/ammo_casing{ @@ -7013,7 +8325,10 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ffZ" = ( /obj/structure/extinguisher_cabinet, @@ -7027,11 +8342,16 @@ pixel_y = -3 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fgB" = ( /obj/item/stack/folding_barricade, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "fgM" = ( /obj/structure/platform, @@ -7049,7 +8369,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "fhc" = ( -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/maintenance) "fhz" = ( /obj/structure/barricade/handrail{ @@ -7067,19 +8389,24 @@ /area/fiorina/oob) "fhC" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "fhX" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/lz/near_lzI) "fhZ" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "fic" = ( @@ -7091,7 +8418,9 @@ /area/fiorina/station/park) "fin" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "fiq" = ( /turf/open/floor/plating/prison, @@ -7110,26 +8439,35 @@ pixel_y = 21 }, /obj/structure/inflatable, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "fiD" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fiF" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "fiI" = ( /obj/structure/barricade/handrail/type_b{ dir = 1 }, /obj/item/frame/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "fiU" = ( /turf/open/floor/plating/plating_catwalk, @@ -7156,7 +8494,10 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "fkY" = ( /obj/item/tool/wet_sign, @@ -7164,31 +8505,45 @@ pixel_x = -6; pixel_y = -1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "flg" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "flm" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) +"flo" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" + }, +/area/fiorina/station/disco) "flq" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "flC" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fmg" = ( /obj/item/shard{ @@ -7198,17 +8553,23 @@ /area/fiorina/tumor/aux_engi) "fmL" = ( /obj/item/frame/toolbox_tiles, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "fmM" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "fmU" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "green" + }, /area/fiorina/tumor/aux_engi) "fmY" = ( /obj/item/device/cassette_tape/ocean, @@ -7216,18 +8577,26 @@ /area/fiorina/tumor/aux_engi) "fnj" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "fnn" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "fnt" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/yellowcorner, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "fnB" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fnD" = ( /turf/closed/shuttle/elevator{ @@ -7236,38 +8605,46 @@ /area/fiorina/station/telecomm/lz1_cargo) "fnW" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "fon" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "foL" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "foT" = ( /obj/structure/machinery/power/port_gen/pacman, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "foV" = ( /obj/structure/largecrate/random, /obj/item/trash/pistachios, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "foZ" = ( /obj/item/stack/sandbags_empty, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "fpi" = ( /obj/item/clothing/head/soft/yellow, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "fpl" = ( @@ -7276,14 +8653,15 @@ icon_state = "sandbag_0"; pixel_y = 2 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "fpn" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/aux_engi) "fpp" = ( -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/tumor/civres) "fpB" = ( @@ -7294,18 +8672,23 @@ /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "fpY" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/briefcase/inflatable, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "fqD" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 5 +/obj/structure/stairs/perspective{ + dir = 5; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "fqF" = ( /obj/effect/landmark{ @@ -7319,28 +8702,36 @@ /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/metal/medium_stack, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "frt" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "frw" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/storage/fancy/crayons, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "frY" = ( -/turf/open/floor/prison/whitepurpleangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitepurplecorner" }, /area/fiorina/station/research_cells) "fsf" = ( /obj/structure/bed/roller, /obj/effect/spawner/random/gun/rifle/highchance, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "fsk" = ( /obj/structure/machinery/space_heater, @@ -7356,11 +8747,15 @@ /area/fiorina/oob) "ftq" = ( /obj/item/stack/cable_coil/orange, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "ftv" = ( -/turf/open/floor/prison/red{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "red" }, /area/fiorina/station/security) "ftH" = ( @@ -7372,12 +8767,15 @@ pixel_x = 4; pixel_y = 6 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "ftY" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "fum" = ( @@ -7385,12 +8783,15 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "fuA" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "fuF" = ( @@ -7399,11 +8800,16 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "fvk" = ( /obj/structure/barricade/metal/wired, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "fvL" = ( /obj/item/stack/sheet/metal, @@ -7422,13 +8828,18 @@ /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gib2" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "fwZ" = ( /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fxt" = ( /obj/structure/largecrate/random/barrel/blue, @@ -7440,14 +8851,19 @@ /obj/structure/pipes/standard/simple/visible{ dir = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fxP" = ( -/turf/open/floor/prison/yellowangle, +/turf/open/floor/prison{ + icon_state = "yellowcorner" + }, /area/fiorina/station/lowsec) "fxY" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "fye" = ( /obj/structure/surface/rack, @@ -7455,8 +8871,9 @@ /obj/item/tank/emergency_oxygen/engi, /obj/item/device/flashlight, /obj/item/device/flashlight, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "fyi" = ( @@ -7469,8 +8886,9 @@ /turf/open/floor/carpet, /area/fiorina/station/civres_blue) "fyA" = ( -/turf/open/floor/prison/greencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/tumor/aux_engi) "fyC" = ( @@ -7488,16 +8906,23 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "fyT" = ( /obj/item/trash/cigbutt/bcigbutt, /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fzb" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -7508,14 +8933,17 @@ /obj/structure/bed/chair/office/light{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "fzt" = ( /obj/structure/largecrate/random/barrel/white, /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "fzO" = ( /obj/structure/barricade/wooden{ @@ -7533,8 +8961,9 @@ pixel_y = 13 }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "fAs" = ( @@ -7542,7 +8971,10 @@ icon_state = "abed" }, /obj/item/bedsheet/green, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "fAt" = ( /obj/structure/flora/bush/ausbushes/ausbush{ @@ -7581,8 +9013,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "fAZ" = ( @@ -7594,17 +9027,22 @@ /turf/open/floor/prison/chapel_carpet, /area/fiorina/station/chapel) "fBc" = ( -/turf/open/floor/prison/damaged1, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged1" + }, /area/fiorina/station/lowsec) "fBd" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/power_ring) "fBg" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "fBi" = ( @@ -7614,15 +9052,21 @@ /area/fiorina/station/disco) "fBp" = ( /obj/structure/closet/firecloset, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "fBP" = ( -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "fCz" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "fCD" = ( @@ -7638,7 +9082,10 @@ /area/fiorina/station/power_ring) "fDo" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "fDI" = ( /obj/structure/prop/almayer/computers/mission_planning_system{ @@ -7648,7 +9095,9 @@ pixel_x = 2; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "fDQ" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -7666,7 +9115,9 @@ /area/fiorina/station/power_ring) "fFf" = ( /obj/item/stool, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "fFC" = ( /obj/structure/bed/chair{ @@ -7674,7 +9125,9 @@ }, /obj/effect/decal/cleanable/blood, /obj/effect/spawner/gibspawner/human, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "fFE" = ( /obj/item/tool/screwdriver, @@ -7683,56 +9136,73 @@ "fFU" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fGb" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "fGe" = ( /obj/structure/window/reinforced{ dir = 8 }, /obj/structure/window/reinforced, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fGp" = ( /obj/structure/surface/rack, /obj/item/handcuffs, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "fGB" = ( /obj/structure/prop/structure_lattice{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "fGL" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/tracker, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "fGM" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "fGY" = ( -/turf/open/floor/prison/floorscorched2, +/turf/open/floor/prison{ + icon_state = "floorscorched2" + }, /area/fiorina/tumor/civres) "fHh" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fHu" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/atmos_alert, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "fHB" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) "fHK" = ( @@ -7754,7 +9224,10 @@ /obj/item/coin/uranium{ desc = "You found one of the three uranium coins. It is entirely worthless." }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fHU" = ( /obj/structure/surface/table/reinforced/prison, @@ -7764,23 +9237,29 @@ /obj/structure/machinery/computer/cameras{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "fHV" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "fIj" = ( /obj/item/clothing/suit/storage/hazardvest, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "fIv" = ( /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "fII" = ( /obj/structure/surface/table/reinforced/prison, @@ -7789,7 +9268,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "fIT" = ( /obj/structure/largecrate/random/secure, @@ -7809,11 +9290,16 @@ /area/fiorina/tumor/civres) "fJx" = ( /obj/item/storage/briefcase, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "fJO" = ( /obj/structure/reagent_dispensers/water_cooler/stacks, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fJW" = ( /obj/structure/surface/table/reinforced/prison, @@ -7832,20 +9318,27 @@ /area/fiorina/station/chapel) "fKq" = ( /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fKr" = ( /obj/structure/platform{ dir = 4 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "fKv" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/power_ring) "fKF" = ( /obj/structure/machinery/light/double/blue{ @@ -7853,17 +9346,21 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "fLa" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "fLq" = ( -/turf/open/floor/prison/greencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/tumor/servers) "fLr" = ( @@ -7871,24 +9368,30 @@ /obj/structure/closet/fireaxecabinet{ pixel_y = 32 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "fLs" = ( /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "fLO" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/radio{ pixel_y = 8 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "fLR" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "fLS" = ( /obj/structure/bed/chair, @@ -7897,14 +9400,18 @@ "fMk" = ( /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "fMY" = ( /obj/structure/reagent_dispensers/watertank{ layer = 2.6 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "fNc" = ( /obj/structure/platform{ @@ -7915,11 +9422,15 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "fNp" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "fOg" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -7932,15 +9443,21 @@ "fOo" = ( /obj/structure/closet/crate/medical, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "fOs" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fOt" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -7949,15 +9466,19 @@ /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/power_ring) "fOZ" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "fPu" = ( @@ -7966,20 +9487,31 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fPF" = ( /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "fPZ" = ( -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "fQx" = ( /obj/item/reagent_container/food/drinks/bottle/tomatojuice, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "fQB" = ( /obj/item/ammo_casing/shell{ @@ -8003,17 +9535,20 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/chapel) "fSe" = ( /obj/structure/bed/sofa/vert/grey, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "fSl" = ( /obj/item/disk/data, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "fSq" = ( /obj/structure/machinery/door/airlock/almayer/marine{ @@ -8046,17 +9581,25 @@ /area/fiorina/tumor/ship) "fSI" = ( /obj/item/broken_device, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fSY" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ship) "fTs" = ( /obj/structure/machinery/light/double/blue, /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/power_ring) "fTx" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "fTz" = ( /obj/structure/closet, @@ -8074,7 +9617,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "fUd" = ( /obj/structure/barricade/plasteel{ @@ -8099,10 +9645,15 @@ "fUu" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/plate, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "fUF" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "fUX" = ( @@ -8111,12 +9662,15 @@ /area/fiorina/station/medbay) "fUZ" = ( /obj/structure/largecrate/supply, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "fVA" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "fWc" = ( @@ -8124,17 +9678,22 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "fWC" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/folder/black_random, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "fWD" = ( /obj/structure/machinery/recharge_station, -/turf/open/floor/prison/darkbrown2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "fWL" = ( @@ -8145,22 +9704,24 @@ /obj/structure/barricade/handrail{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "fWS" = ( /obj/structure/stairs/perspective, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "fXe" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "fXv" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "fXB" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -8180,11 +9741,15 @@ /obj/structure/platform{ dir = 8 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "fXS" = ( -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "fXT" = ( /obj/structure/machinery/light/double/blue{ @@ -8192,23 +9757,29 @@ pixel_y = 21 }, /obj/item/toy/beach_ball, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "fYn" = ( /obj/structure/bed/chair, /obj/structure/extinguisher_cabinet{ pixel_y = 32 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "fYB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/donut_box/empty, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "fYD" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "fYW" = ( /obj/structure/machinery/light/double/blue, @@ -8226,17 +9797,18 @@ /area/fiorina/station/park) "gas" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "gaL" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/telecomm/lz1_tram) "gaN" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "gaZ" = ( /obj/structure/closet/secure_closet/engineering_electrical, @@ -8246,27 +9818,35 @@ pixel_y = -3 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "gbi" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "gbn" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "gbD" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "gbP" = ( @@ -8278,7 +9858,9 @@ pixel_x = -6; pixel_y = 16 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "gbS" = ( /obj/structure/closet/emcloset, @@ -8289,26 +9871,35 @@ /obj/item/clothing/glasses/mbcg{ pixel_y = -14 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "gbU" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "gcr" = ( /obj/item/tool/wirecutters/clippers, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "gcy" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/lowsec) "gdn" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "gdt" = ( /obj/structure/window/framed/prison/reinforced/hull, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/chapel) "gec" = ( /obj/structure/prop/structure_lattice{ @@ -8345,7 +9936,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "gfh" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -8382,7 +9975,9 @@ /obj/item/storage/donut_box{ pixel_y = 9 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "gfL" = ( /obj/structure/prop/souto_land/pole, @@ -8394,7 +9989,7 @@ /area/fiorina/station/park) "gfN" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "ggd" = ( /turf/closed/shuttle/ert{ @@ -8419,8 +10014,9 @@ pixel_y = 18 }, /obj/item/clothing/gloves/boxing/yellow, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "ggu" = ( @@ -8428,18 +10024,24 @@ icon_state = "casing_6_1" }, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "ggB" = ( /obj/item/stool, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "ggG" = ( /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/machinery/space_heater, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "ggQ" = ( /obj/structure/platform_decoration/kutjevo{ @@ -8464,8 +10066,9 @@ /area/fiorina/oob) "ghv" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "ghw" = ( @@ -8476,20 +10079,26 @@ }, /area/fiorina/tumor/ship) "ghP" = ( -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "green" }, /area/fiorina/station/chapel) "ghU" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "gik" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger{ pixel_y = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "giX" = ( /obj/structure/barricade/handrail/type_b{ @@ -8502,36 +10111,46 @@ dir = 1; icon_state = "sandbag_0" }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "gjj" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ pixel_y = 17 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "gjX" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "gkd" = ( /obj/item/storage/wallet/random, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "gkm" = ( /obj/structure/machinery/line_nexter, -/turf/open/floor/prison/red{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "red" }, /area/fiorina/station/security) "gks" = ( -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "gkt" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison, /area/fiorina/station/medbay) "gkZ" = ( /obj/effect/decal/medical_decals{ @@ -8541,7 +10160,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "glj" = ( /obj/structure/window/framed/prison, @@ -8552,7 +10174,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "glD" = ( /obj/structure/bed{ @@ -8566,35 +10188,47 @@ /area/fiorina/tumor/aux_engi) "glH" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "glI" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "glW" = ( /obj/structure/holohoop{ pixel_y = 25 }, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "gma" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "gmv" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "gmy" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "gmS" = ( /obj/effect/decal/cleanable/blood/gibs, /obj/effect/spawner/random/gun/shotgun/midchance, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "gmT" = ( /obj/effect/landmark/xeno_spawn, @@ -8611,25 +10245,30 @@ /obj/structure/platform_decoration{ dir = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "gnj" = ( /obj/item/stack/folding_barricade, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "gnm" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "gnz" = ( /obj/item/tool/lighter/random{ pixel_x = 14; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "gnR" = ( /obj/structure/machinery/light/double/blue{ @@ -8637,27 +10276,33 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzI) "gnS" = ( /obj/effect/spawner/random/gun/rifle, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "gnV" = ( /obj/effect/decal/medical_decals{ icon_state = "cryomid" }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "goh" = ( /obj/structure/pipes/standard/manifold/visible, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "gol" = ( /obj/structure/filingcabinet{ @@ -8669,20 +10314,28 @@ pixel_y = 4 }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "gom" = ( /obj/structure/closet/firecloset/full, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "goz" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/maintenance) "goA" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "goG" = ( /obj/structure/window/framed/prison/reinforced, @@ -8691,14 +10344,17 @@ "goH" = ( /obj/structure/surface/rack, /obj/item/tool/mop, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "goM" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "gpq" = ( /obj/structure/machinery/shower{ @@ -8708,12 +10364,15 @@ /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "gpB" = ( /obj/item/storage/bible/hefa, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/chapel) "gpG" = ( @@ -8722,29 +10381,33 @@ /area/fiorina/station/security) "gqd" = ( /obj/item/tool/kitchen/utensil/pknife, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "gqe" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "gqH" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "gqZ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/radio, /obj/item/tool/pen/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "grL" = ( /obj/structure/bed/sofa/vert/grey, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "grO" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "gsL" = ( /obj/structure/platform, @@ -8760,11 +10423,13 @@ /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "gto" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "gtH" = ( /obj/structure/safe, @@ -8778,8 +10443,9 @@ /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "guf" = ( @@ -8794,29 +10460,43 @@ dir = 8; layer = 3.5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "guG" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "guQ" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/power_ring) "gvT" = ( /obj/structure/closet/secure_closet/engineering_materials, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "gvX" = ( /obj/structure/closet/secure_closet/security_empty, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "gws" = ( /turf/open/floor/plating, /area/fiorina/oob) "gwz" = ( /obj/effect/spawner/random/gun/pistol, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "gwH" = ( /turf/closed/wall/strata_ice/jungle{ @@ -8839,8 +10519,9 @@ pixel_x = 15; pixel_y = 25 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "gxj" = ( @@ -8851,8 +10532,9 @@ "gxx" = ( /obj/item/packageWrap, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "gxL" = ( @@ -8862,14 +10544,19 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "gxN" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "gyi" = ( -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "gyB" = ( /obj/structure/flora/bush/ausbushes/grassybush{ @@ -8882,7 +10569,9 @@ /area/fiorina/station/civres_blue) "gyI" = ( /obj/item/trash/candy, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "gyJ" = ( /obj/structure/machinery/light/double/blue{ @@ -8893,8 +10582,9 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "gyU" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/park) "gyW" = ( @@ -8912,19 +10602,23 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "gzy" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "gzz" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "gzA" = ( /obj/structure/machinery/gibber, @@ -8932,34 +10626,45 @@ pixel_x = 8; pixel_y = 10 }, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "gzF" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/corpsespawner/doctor, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "gzQ" = ( /obj/structure/machinery/computer/crew, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "gAa" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "gAA" = ( /obj/item/stack/sheet/metal/medium_stack, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "gAS" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) "gBo" = ( /obj/structure/closet/emcloset, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "gCb" = ( /obj/structure/barricade/sandbags{ @@ -8967,8 +10672,9 @@ icon_state = "sandbag_0"; pixel_y = 2 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "gCn" = ( @@ -8995,10 +10701,14 @@ /turf/closed/wall/mineral/bone_resin, /area/fiorina/tumor/civres) "gCX" = ( -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "gCY" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/flight_deck) "gDx" = ( /obj/structure/surface/table/woodentable, @@ -9013,23 +10723,27 @@ /area/fiorina/tumor/ice_lab) "gDz" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "gDP" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "gEe" = ( /obj/item/reagent_container/food/drinks/bottle/patron, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "gEv" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "gEx" = ( @@ -9046,57 +10760,74 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "gET" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clothing/mask/cigarette/cigar/tarbacks, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "gEU" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/space, /area/fiorina/oob) "gEW" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "gFc" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "gFe" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/fiberbush) "gFg" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "gFq" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "gFG" = ( -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "gFK" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "gGp" = ( /obj/item/ammo_casing{ icon_state = "casing_1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "gGu" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "gGx" = ( /obj/effect/landmark/queen_spawn, @@ -9106,11 +10837,13 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "gGG" = ( /obj/structure/closet/secure_closet/engineering_materials, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "gHb" = ( /obj/structure/prop/structure_lattice{ @@ -9119,11 +10852,15 @@ /obj/structure/prop/structure_lattice{ pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "gHc" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "gHh" = ( /obj/structure/machinery/light/double/blue{ @@ -9134,7 +10871,7 @@ /area/fiorina/station/research_cells) "gHl" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "gHy" = ( /obj/item/stack/sheet/metal/medium_stack, @@ -9151,7 +10888,10 @@ icon_state = "cryomid" }, /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "gHP" = ( /obj/item/prop/helmetgarb/spacejam_tickets{ @@ -9160,13 +10900,15 @@ pixel_x = 7; pixel_y = 6 }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/chapel) "gHW" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "gIB" = ( @@ -9176,7 +10918,7 @@ "gIF" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/technology_scanner, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "gJu" = ( /obj/effect/alien/weeds/node, @@ -9184,8 +10926,9 @@ /area/fiorina/tumor/aux_engi) "gJG" = ( /obj/item/stack/folding_barricade, -/turf/open/floor/prison/red{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "red" }, /area/fiorina/station/security) "gKi" = ( @@ -9207,17 +10950,22 @@ /obj/structure/prop/souto_land/streamer{ pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "gKu" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "Residential Apartment" }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "gKA" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "gKL" = ( /obj/structure/platform, @@ -9227,7 +10975,10 @@ /obj/structure/platform_decoration{ dir = 6 }, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "gLu" = ( /turf/closed/shuttle/ert{ @@ -9243,26 +10994,35 @@ /area/fiorina/tumor/servers) "gLG" = ( /obj/item/paper, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "gMw" = ( /obj/structure/pipes/standard/tank/oxygen, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "gMJ" = ( /obj/structure/barricade/deployable{ dir = 4 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "gMV" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "gNF" = ( /obj/structure/machinery/shower{ @@ -9272,24 +11032,22 @@ /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "gNK" = ( /obj/item/stack/rods/plasteel, -/turf/open/floor/prison/floor_plate, -/area/fiorina/station/disco) -"gNP" = ( -/obj/structure/bed/chair/comfy{ - dir = 8 - }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" }, /area/fiorina/station/disco) "gNW" = ( /obj/item/bodybag, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "gNY" = ( @@ -9305,8 +11063,9 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "gOJ" = ( @@ -9323,7 +11082,9 @@ /obj/item/ammo_casing{ icon_state = "casing_8" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "gPs" = ( /obj/structure/surface/table/woodentable/fancy, @@ -9335,8 +11096,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "gPS" = ( @@ -9353,14 +11115,19 @@ pixel_x = 1; pixel_y = 13 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "gQx" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "gQK" = ( @@ -9380,11 +11147,16 @@ /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "gRy" = ( /obj/item/tool/shovel/etool, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "gRT" = ( /obj/structure/surface/table/woodentable/fancy, @@ -9405,7 +11177,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "gRW" = ( /obj/structure/machinery/light/double/blue{ @@ -9420,11 +11195,14 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "gSG" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 @@ -9434,15 +11212,19 @@ dir = 4; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "gSN" = ( /obj/effect/decal/cleanable/blood/splatter{ icon_state = "handblood" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "gSP" = ( /obj/structure/surface/table/woodentable/fancy, @@ -9467,8 +11249,9 @@ /turf/open/space/basic, /area/fiorina/oob) "gUf" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "gUj" = ( @@ -9483,15 +11266,26 @@ pixel_y = 3 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) +"gUx" = ( +/obj/structure/machinery/light/double/blue{ + dir = 1; + pixel_y = 21 + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "gUH" = ( /obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "gUO" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "gVs" = ( /obj/structure/largecrate/random/barrel/blue, @@ -9510,14 +11304,19 @@ /area/fiorina/tumor/servers) "gVA" = ( /obj/item/frame/rack, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "gWf" = ( /obj/structure/barricade/handrail/type_b{ dir = 1 }, /obj/item/frame/rack, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "gWg" = ( /obj/structure/powerloader_wreckage, @@ -9538,12 +11337,15 @@ /area/fiorina/station/disco) "gWT" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/tumor/civres) "gXt" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/station/chapel) "gXu" = ( /obj/structure/surface/rack, @@ -9568,7 +11370,9 @@ pixel_x = -16; pixel_y = 12 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "gXL" = ( /obj/structure/bed/chair{ @@ -9579,13 +11383,18 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "gYA" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "gZc" = ( /obj/effect/decal/hefa_cult_decals/d32{ @@ -9606,10 +11415,14 @@ /obj/structure/machinery/computer/cameras{ dir = 1 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "gZT" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/station/transit_hub) "hab" = ( /obj/structure/surface/table/reinforced/prison, @@ -9617,16 +11430,21 @@ pixel_x = 1; pixel_y = 3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "hah" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/darkred2full, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "ham" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "hay" = ( @@ -9640,7 +11458,9 @@ pixel_y = 21 }, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "hbo" = ( /obj/structure/surface/table/reinforced/prison, @@ -9677,15 +11497,20 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "hbC" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/space, /area/fiorina/oob) "hcb" = ( -/turf/open/floor/prison/greenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greencorner" }, /area/fiorina/tumor/civres) "hce" = ( @@ -9706,11 +11531,16 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "hcf" = ( /obj/item/paper/carbon, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "hcv" = ( /obj/item/stack/tile/plasteel{ @@ -9730,11 +11560,15 @@ /area/fiorina/station/civres_blue) "hdv" = ( /obj/item/tool/scythe, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "heb" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, @@ -9744,7 +11578,10 @@ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "heO" = ( /turf/closed/shuttle/elevator, @@ -9769,7 +11606,10 @@ /area/fiorina/station/power_ring) "hfl" = ( /obj/item/device/pinpointer, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "hfT" = ( /turf/closed/wall/r_wall/prison, @@ -9779,26 +11619,34 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/oob) "hgr" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "hgu" = ( /obj/structure/barricade/handrail/type_b{ dir = 4; layer = 3.5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "hgz" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "hgC" = ( -/turf/open/floor/prison/greencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/station/transit_hub) "hgJ" = ( @@ -9817,21 +11665,28 @@ pixel_x = 6; pixel_y = 7 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "hhh" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "hhl" = ( /obj/item/device/flashlight/flare/on, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "hhy" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "hhL" = ( @@ -9851,8 +11706,9 @@ /area/fiorina/lz/near_lzI) "hiu" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/telecomm/lz1_tram) "hix" = ( @@ -9865,17 +11721,22 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "hiG" = ( /obj/item/storage/backpack/souto, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "hiK" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/darkred2full, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/disco) "hiO" = ( /turf/closed/shuttle/elevator{ @@ -9883,7 +11744,9 @@ }, /area/fiorina/tumor/aux_engi) "hja" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, @@ -9891,12 +11754,15 @@ /area/fiorina/station/botany) "hjb" = ( /obj/structure/closet/secure_closet/medical2, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "hjr" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "hjE" = ( @@ -9908,7 +11774,7 @@ /turf/open/floor/plating/prison, /area/fiorina/station/security) "hjP" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "hjV" = ( /obj/structure/stairs/perspective, @@ -9927,24 +11793,32 @@ /area/fiorina/oob) "hkW" = ( /obj/item/trash/popcorn, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "hll" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "hln" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "hlq" = ( /obj/structure/janitorialcart, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "hlK" = ( -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "hlT" = ( /obj/structure/machinery/light/double/blue{ @@ -9955,8 +11829,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "hmd" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -9965,14 +11840,18 @@ /area/fiorina/station/park) "hmg" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "hmj" = ( /obj/item/storage/firstaid/toxin, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "hmk" = ( -/turf/open/floor/prison/whitegreenangle, +/turf/open/floor/prison{ + icon_state = "whitegreencorner" + }, /area/fiorina/tumor/ice_lab) "hmr" = ( /obj/structure/bed/sofa/south/grey/right, @@ -9980,21 +11859,29 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "hng" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "hnJ" = ( /obj/item/clothing/under/stowaway, /obj/structure/machinery/shower{ pixel_y = 13 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "hob" = ( /obj/item/phone{ @@ -10007,11 +11894,13 @@ dir = 1; layer = 2.7 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "hoy" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "hoH" = ( /obj/effect/decal/cleanable/cobweb{ @@ -10025,15 +11914,18 @@ dir = 8; icon_state = "casing_6" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "hoY" = ( /obj/structure/surface/rack, /obj/item/frame/table/almayer, /obj/item/frame/table/almayer, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "hoZ" = ( /turf/open/floor/plating/prison, @@ -10051,8 +11943,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "hpz" = ( @@ -10080,7 +11973,10 @@ pixel_x = 2; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "hpW" = ( /obj/item/stack/cable_coil/orange, @@ -10104,8 +12000,9 @@ dir = 8; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "hqZ" = ( @@ -10113,7 +12010,10 @@ /obj/item/storage/firstaid/adv, /obj/item/storage/firstaid/adv, /obj/item/storage/firstaid/toxin, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "hro" = ( /obj/structure/girder, @@ -10121,7 +12021,9 @@ /area/fiorina/tumor/servers) "hrX" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "hsc" = ( /obj/structure/cable/heavyduty{ @@ -10131,16 +12033,23 @@ /area/fiorina/tumor/servers) "hsd" = ( /obj/item/device/flashlight/flare, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "hss" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "hsA" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "hsC" = ( /obj/structure/surface/table/reinforced/prison, @@ -10166,12 +12075,15 @@ "htL" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clipboard, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "hue" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "hul" = ( @@ -10184,7 +12096,9 @@ /area/fiorina/station/civres_blue) "huI" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "hva" = ( /obj/structure/bed/chair/office/light{ @@ -10209,13 +12123,18 @@ pixel_x = 3; pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "hvi" = ( /obj/effect/decal/medical_decals{ icon_state = "docstripingdir" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "hvE" = ( /obj/structure/machinery/light/double/blue{ @@ -10236,7 +12155,9 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "hvF" = ( /obj/structure/grille, @@ -10245,38 +12166,44 @@ "hvG" = ( /obj/item/weapon/gun/rifle/m16, /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "hwn" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "hxg" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "hxi" = ( /obj/item/roller, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "hxk" = ( /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "hxq" = ( /obj/structure/window/framed/prison/reinforced/hull, /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz1_cargo) "hxy" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "hxC" = ( -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/tumor/aux_engi) "hxJ" = ( /obj/structure/sign/poster{ @@ -10298,32 +12225,31 @@ /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "hyz" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/station/civres_blue) "hyG" = ( /obj/structure/platform_decoration{ dir = 4 }, /obj/item/clothing/gloves/botanic_leather, -/turf/open/floor/prison/floor_plate, -/area/fiorina/station/botany) -"hyI" = ( -/obj/structure/platform{ - dir = 4 +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 - }, -/area/fiorina/station/disco) +/area/fiorina/station/botany) "hyR" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "hyT" = ( @@ -10335,12 +12261,16 @@ /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "hzq" = ( /obj/item/storage/fancy/cigarettes/lucky_strikes, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "hzG" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ @@ -10360,8 +12290,9 @@ pixel_x = -16; pixel_y = 12 }, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "hAL" = ( @@ -10373,15 +12304,22 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "hAY" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "hBn" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "hBF" = ( /obj/structure/window_frame/prison/reinforced, @@ -10393,7 +12331,10 @@ "hBI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/megaphone, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "hBP" = ( /obj/structure/surface/table/reinforced/prison, @@ -10408,11 +12349,18 @@ pixel_x = -3; pixel_y = 16 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "hBX" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "hCc" = ( /obj/item/reagent_container/food/snacks/meat, @@ -10420,37 +12368,49 @@ /area/fiorina/station/park) "hCd" = ( /obj/structure/barricade/metal/wired, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "hCS" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "hCT" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "hCX" = ( /obj/effect/landmark/wo_supplies/storage/belts/knifebelt, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "hDr" = ( /obj/item/stool, -/turf/open/floor/prison/damaged2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged2" + }, /area/fiorina/station/lowsec) "hDx" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "hDy" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "hDL" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "hEb" = ( @@ -10469,13 +12429,19 @@ /obj/structure/barricade/handrail/type_b{ dir = 8 }, -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "hFn" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "hFH" = ( @@ -10488,21 +12454,26 @@ /area/fiorina/station/park) "hGz" = ( /obj/item/clothing/gloves/botanic_leather, -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "hGC" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/greenbluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "greenblue" }, /area/fiorina/station/botany) "hGZ" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "hHc" = ( /obj/structure/surface/table/woodentable/fancy, @@ -10520,7 +12491,10 @@ /area/fiorina/station/chapel) "hHh" = ( /obj/structure/machinery/landinglight/ds1/delayone, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "hHq" = ( /obj/structure/closet/cabinet, @@ -10531,42 +12505,61 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "hIe" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "hIo" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "hIu" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "hJc" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "hJw" = ( -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/civres_blue) +"hKE" = ( +/obj/structure/inflatable, +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" + }, +/area/fiorina/station/lowsec) "hKI" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "hKJ" = ( /obj/structure/closet/emcloset, /obj/item/storage/pill_bottle/kelotane/skillless, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "hKW" = ( /obj/structure/closet/crate/science{ @@ -10580,7 +12573,7 @@ pixel_y = 21 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "hLt" = ( /obj/structure/machinery/photocopier, @@ -10589,11 +12582,15 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "hLy" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "hLz" = ( /turf/closed/wall/prison, @@ -10602,7 +12599,9 @@ /obj/structure/machinery/landinglight/ds2{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "hLM" = ( /obj/structure/sign/safety/bulkhead_door, @@ -10610,14 +12609,15 @@ /area/fiorina/tumor/fiberbush) "hLO" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "hLX" = ( /obj/structure/platform{ dir = 4 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) @@ -10630,7 +12630,7 @@ /area/fiorina/station/chapel) "hMg" = ( /obj/item/clothing/head/helmet/marine/specialist/hefa, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "hMK" = ( /obj/effect/landmark/nightmare{ @@ -10640,12 +12640,16 @@ /area/fiorina/station/power_ring) "hMX" = ( /obj/item/weapon/twohanded/spear, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "hNc" = ( /obj/item/newspaper, -/turf/open/floor/prison/red{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "red" }, /area/fiorina/lz/near_lzII) "hNY" = ( @@ -10654,15 +12658,19 @@ /area/fiorina/station/chapel) "hOg" = ( /obj/structure/largecrate/random/barrel, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "hOz" = ( /obj/item/clothing/accessory/armband/cargo{ desc = "Sworn to the shrapnel and the shards therein. So sayeth her command when the first detonation occured."; name = "HEFA Order milita armband" }, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/chapel) "hOA" = ( @@ -10676,16 +12684,22 @@ /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "hOW" = ( -/turf/open/floor/prison/floorscorched2, +/turf/open/floor/prison{ + icon_state = "floorscorched2" + }, /area/fiorina/station/civres_blue) "hPs" = ( /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "hPF" = ( /obj/structure/reagent_dispensers/water_cooler{ @@ -10693,10 +12707,12 @@ pixel_x = -8; pixel_y = 16 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "hPW" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz1_tram) "hPY" = ( @@ -10705,7 +12721,9 @@ /area/fiorina/station/chapel) "hQg" = ( /obj/item/bedsheet, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "hQh" = ( /obj/structure/barricade/handrail/type_b{ @@ -10731,7 +12749,10 @@ dir = 8; health = 80 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "hRX" = ( /turf/open/gm/river{ @@ -10741,13 +12762,16 @@ /area/fiorina/station/park) "hSf" = ( /obj/item/dogtag, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "hSF" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "hSH" = ( /obj/item/reagent_container/food/snacks/donkpocket, @@ -10757,11 +12781,11 @@ /obj/effect/decal/hefa_cult_decals/d32{ icon_state = "2" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "hSR" = ( /obj/structure/window/reinforced, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "hTf" = ( /obj/structure/prop/structure_lattice{ @@ -10778,13 +12802,13 @@ /obj/structure/machinery/landinglight/ds2{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "hTr" = ( /obj/structure/closet, -/obj/item/clothing/mask/gas/clown_hat, /obj/effect/spawner/random/gun/shotgun/midchance, -/obj/item/clothing/under/marine/ucf_clown, /turf/open/floor/plating/prison, /area/fiorina/maintenance) "hTs" = ( @@ -10793,8 +12817,9 @@ }, /area/fiorina/station/civres_blue) "hTt" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkpurple2" }, /area/fiorina/tumor/ice_lab) "hTG" = ( @@ -10802,8 +12827,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "hTM" = ( @@ -10812,11 +12838,12 @@ /area/fiorina/station/transit_hub) "hUf" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "hUh" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkpurple2" }, /area/fiorina/tumor/ice_lab) "hUi" = ( @@ -10829,7 +12856,9 @@ dir = 8 }, /obj/item/storage/box/flashbangs, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "hUO" = ( /turf/open/floor/prison/chapel_carpet{ @@ -10839,11 +12868,15 @@ /area/fiorina/maintenance) "hUV" = ( /obj/item/clothing/head/helmet/marine/veteran/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "hVm" = ( /obj/item/trash/cigbutt/bcigbutt, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "hVu" = ( /obj/item/stack/sheet/metal, @@ -10857,7 +12890,9 @@ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "hVG" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -10876,7 +12911,9 @@ /area/fiorina/oob) "hWB" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/ice_lab) "hWF" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -10886,24 +12923,32 @@ /area/fiorina/tumor/ship) "hWJ" = ( /obj/item/trash/sosjerky, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "hWU" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "hXc" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin{ pixel_y = 7 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "hXi" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "hXZ" = ( /turf/closed/shuttle/ert{ @@ -10912,11 +12957,14 @@ /area/fiorina/station/medbay) "hYK" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "hYT" = ( /obj/item/disk/botany, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "hYV" = ( /obj/structure/prop/resin_prop{ @@ -10924,14 +12972,19 @@ icon_state = "chair"; pixel_y = 6 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "hZp" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/chapel) "hZR" = ( @@ -10943,30 +12996,40 @@ dir = 8; icon_state = "cartridge_2" }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "iaO" = ( -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/tumor/servers) "ibb" = ( /obj/item/trash/used_stasis_bag{ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "ibN" = ( -/turf/open/floor/prison/yellowangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellowcorner" }, /area/fiorina/station/lowsec) "icj" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottom" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "ick" = ( /obj/item/tool/candle, @@ -10977,7 +13040,10 @@ /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gibmid3" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "icS" = ( /obj/structure/bed/chair{ @@ -10993,12 +13059,13 @@ /obj/item/ammo_casing{ icon_state = "casing_5" }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "idE" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "idT" = ( /obj/structure/barricade/wooden{ @@ -11006,17 +13073,22 @@ pixel_y = 4 }, /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "idV" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "ied" = ( -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/tumor/servers) "ieu" = ( @@ -11041,14 +13113,14 @@ }, /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "ieW" = ( /obj/structure/machinery/computer3/server/rack, /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "ifk" = ( /obj/structure/platform_decoration{ @@ -11070,18 +13142,21 @@ /area/fiorina/station/civres_blue) "ifq" = ( /obj/item/stock_parts/micro_laser/ultra, -/turf/open/floor/prison/darkpurple2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "ifs" = ( /obj/structure/inflatable/popped, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "ifI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/surgery/surgicaldrill, -/turf/open/floor/prison/yellowangle, +/turf/open/floor/prison{ + icon_state = "yellowcorner" + }, /area/fiorina/station/lowsec) "ifJ" = ( /obj/structure/bed/chair/dropship/pilot{ @@ -11096,13 +13171,16 @@ /area/fiorina/tumor/ship) "igA" = ( /obj/effect/spawner/random/gun/smg, -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/tumor/civres) "igD" = ( /obj/structure/largecrate/supply/medicine/iv, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "igQ" = ( /obj/structure/closet/cabinet, @@ -11117,7 +13195,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "ihz" = ( /obj/effect/landmark/objective_landmark/medium, @@ -11126,35 +13206,48 @@ "ihA" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "ihC" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "iif" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "iin" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger{ pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "iir" = ( /obj/item/ammo_magazine/shotgun/buckshot, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "iiE" = ( /obj/item/device/flashlight/lamp/tripod, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "iiP" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "ijs" = ( /obj/structure/surface/rack, @@ -11165,17 +13258,19 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "ijP" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "ikq" = ( -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "ikz" = ( @@ -11183,54 +13278,72 @@ icon_state = "abed" }, /obj/item/toy/beach_ball/holoball, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "ikA" = ( /obj/item/reagent_container/food/drinks/coffee{ name = "\improper paper cup" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "ilb" = ( /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "ilh" = ( /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/head/helmet/marine/veteran/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "ilv" = ( /obj/item/ammo_magazine/smg/mp5, /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "ilI" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "ilX" = ( /obj/item/stack/folding_barricade, /obj/structure/surface/table/woodentable/fancy, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "imn" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "imt" = ( /turf/open/floor/almayer, /area/fiorina/tumor/ship) "imw" = ( /obj/structure/bed/roller, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "imz" = ( /obj/effect/decal/cleanable/blood, @@ -11240,7 +13353,7 @@ /area/fiorina/station/civres_blue) "imH" = ( /obj/item/tool/shovel/etool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "imL" = ( /obj/structure/surface/table/reinforced/prison, @@ -11248,11 +13361,14 @@ pixel_x = -4; pixel_y = 9 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "inh" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "inA" = ( @@ -11267,7 +13383,10 @@ /area/fiorina/station/medbay) "ioP" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "ipa" = ( /obj/structure/machinery/door/airlock/almayer/command{ @@ -11283,15 +13402,19 @@ /area/fiorina/station/botany) "ipy" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "ipJ" = ( /obj/effect/spawner/random/sentry/midchance, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "iqt" = ( /obj/item/fuelCell, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "iqB" = ( /obj/structure/surface/table/woodentable/fancy, @@ -11306,8 +13429,9 @@ /obj/structure/platform_decoration{ dir = 4 }, -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform{ dir = 1 @@ -11316,11 +13440,16 @@ /area/fiorina/station/power_ring) "iqV" = ( /obj/item/clothing/mask/cigarette/bcigarette, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "iry" = ( /obj/structure/janitorialcart, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "irB" = ( /turf/closed/wall/mineral/bone_resin, @@ -11334,8 +13463,9 @@ /area/fiorina/tumor/ice_lab) "irK" = ( /obj/effect/spawner/random/gun/rifle/lowchance, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "isi" = ( @@ -11347,30 +13477,38 @@ /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "isB" = ( /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "isJ" = ( /obj/structure/surface/rack, /obj/item/key, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "isK" = ( /obj/structure/inflatable, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "isP" = ( /obj/item/trash/snack_bowl, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "itd" = ( @@ -11381,8 +13519,9 @@ /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gib2" }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "itq" = ( @@ -11390,13 +13529,17 @@ pixel_y = 10 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "itt" = ( /obj/item/frame/rack, /obj/item/stack/medical/bruise_pack, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "itv" = ( /obj/item/toy/handcard/uno_reverse_yellow, @@ -11406,8 +13549,9 @@ /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "itN" = ( @@ -11422,7 +13566,9 @@ /area/fiorina/tumor/fiberbush) "iuV" = ( /obj/structure/curtain, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "iuW" = ( /obj/structure/prop/almayer/computers/sensor_computer1{ @@ -11432,7 +13578,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "iuZ" = ( /obj/item/stack/rods, @@ -11464,11 +13612,15 @@ /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "ivM" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "ivR" = ( /obj/structure/machinery/optable{ @@ -11483,7 +13635,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "iwf" = ( /obj/structure/machinery/light/double/blue, @@ -11492,7 +13647,9 @@ "iwK" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/snacks/mre_pack/meal1, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "iwT" = ( /obj/structure/ice/thin/indestructible{ @@ -11511,8 +13668,9 @@ dir = 8; icon_state = "cartridge_2" }, -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "iyc" = ( @@ -11527,8 +13685,9 @@ /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/park) "iyu" = ( @@ -11536,8 +13695,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/botany) "iyS" = ( @@ -11557,8 +13717,9 @@ pixel_x = -1; pixel_y = 9 }, -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/power_ring) "izP" = ( @@ -11566,7 +13727,10 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecalleft" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "izZ" = ( /turf/closed/wall/prison, @@ -11579,17 +13743,24 @@ /area/fiorina/station/medbay) "iAL" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "iAO" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "iBi" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "iBP" = ( /turf/closed/shuttle/ert{ @@ -11601,28 +13772,38 @@ density = 0; dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "iCC" = ( /obj/item/storage/donut_box{ pixel_y = 6 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "iCP" = ( /obj/structure/machinery/disposal, /obj/item/tool/kitchen/rollingpin{ pixel_y = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "iCR" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/bright_clean2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean2" + }, /area/fiorina/station/power_ring) "iCU" = ( /obj/structure/sign/nosmoking_1, @@ -11630,14 +13811,17 @@ /area/fiorina/station/disco) "iDa" = ( /obj/item/inflatable, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "iDo" = ( /obj/structure/platform, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "iDq" = ( /obj/structure/disposalpipe/segment{ @@ -11652,10 +13836,14 @@ /area/fiorina/tumor/servers) "iDE" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "iEi" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform{ dir = 1 }, @@ -11664,13 +13852,15 @@ "iEz" = ( /obj/item/weapon/gun/smg/mp5, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "iFj" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "iFu" = ( @@ -11679,8 +13869,9 @@ pixel_x = -12 }, /obj/item/reagent_container/food/drinks/flask/barflask, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "iFD" = ( @@ -11692,7 +13883,7 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "iGL" = ( /obj/structure/bed/chair/comfy{ @@ -11703,11 +13894,16 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "iGW" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "iGX" = ( /obj/effect/landmark/queen_spawn, @@ -11716,15 +13912,18 @@ "iHn" = ( /obj/item/frame/toolbox_tiles_sensor, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "iHJ" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/cameras{ network = list("PRISON") }, -/turf/open/floor/prison/redangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "redcorner" }, /area/fiorina/station/power_ring) "iHU" = ( @@ -11733,7 +13932,9 @@ health = 150; icon_state = "metal_2" }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/ice_lab) "iIS" = ( /obj/structure/machinery/constructable_frame, @@ -11746,11 +13947,14 @@ dir = 4; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "iJf" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "iJj" = ( @@ -11761,17 +13965,22 @@ /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "iJC" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/ice_lab) "iJE" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "iJF" = ( /obj/structure/surface/table/reinforced/prison, @@ -11786,15 +13995,20 @@ "iJG" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications/simple, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "iJJ" = ( /obj/item/reagent_container/food/drinks/bottle/orangejuice, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "iJM" = ( /obj/structure/largecrate/random/barrel/green, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "iKg" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, @@ -11804,7 +14018,9 @@ /obj/structure/machinery/newscaster{ pixel_y = 32 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "iKs" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -11812,17 +14028,21 @@ "iKC" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ammo_magazine/shotgun/buckshot, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "iKG" = ( /obj/structure/bed/chair, /obj/effect/decal/cleanable/blood, /obj/effect/landmark/corpsespawner/prison_security, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "iLy" = ( /obj/item/stack/rods/plasteel, -/turf/open/floor/prison/floorscorched2, +/turf/open/floor/prison{ + icon_state = "floorscorched2" + }, /area/fiorina/station/security) "iLJ" = ( /obj/effect/spawner/random/tool, @@ -11835,14 +14055,15 @@ /obj/item/stack/cable_coil/blue, /obj/item/stack/cable_coil/blue, /obj/item/stack/cable_coil/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "iMm" = ( /obj/structure/barricade/handrail/type_b{ layer = 3.5 }, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/tumor/servers) "iMo" = ( @@ -11853,27 +14074,39 @@ /area/fiorina/station/security/wardens) "iMF" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "iMM" = ( /obj/structure/machinery/vending/hydronutrients, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "iMS" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "iNw" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "iNO" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "iOa" = ( /obj/structure/machinery/floodlight/landing/floor, @@ -11881,26 +14114,35 @@ /area/fiorina/lz/near_lzI) "iOe" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "iOt" = ( -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "iOE" = ( /obj/structure/platform, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/security) "iOG" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "iOJ" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "iPq" = ( @@ -11909,18 +14151,23 @@ pixel_y = 15 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "iPx" = ( /obj/item/device/flashlight/lamp/tripod, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "iPM" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "iPV" = ( -/turf/open/floor/prison/red{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "red" }, /area/fiorina/lz/near_lzII) "iPZ" = ( @@ -11930,7 +14177,9 @@ name = "overhead ducting"; pixel_y = 33 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "iQu" = ( /obj/structure/coatrack, @@ -11942,7 +14191,10 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "iQK" = ( /obj/structure/disposalpipe/broken{ @@ -11953,7 +14205,10 @@ /area/fiorina/tumor/aux_engi) "iQP" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "iRa" = ( /obj/structure/window/framed/prison, @@ -11965,20 +14220,28 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "iRe" = ( /obj/item/clothing/suit/chef/classic, /obj/structure/bed/stool, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "iRy" = ( /obj/structure/surface/rack, /obj/item/storage/belt/gun/flaregun/full, /obj/item/storage/belt/gun/flaregun/full, /obj/item/storage/belt/gun/flaregun/full, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "iRH" = ( /obj/item/frame/firstaid_arm_assembly, @@ -11994,7 +14257,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "iSh" = ( /obj/structure/prop/structure_lattice{ @@ -12005,10 +14268,12 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "iSi" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/oob) "iSn" = ( @@ -12019,8 +14284,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "iSu" = ( @@ -12031,11 +14297,14 @@ /area/fiorina/station/park) "iSG" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "iSQ" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "iTm" = ( @@ -12043,18 +14312,28 @@ /area/fiorina/station/civres_blue) "iTw" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "iTy" = ( /obj/structure/machinery/photocopier, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "iTG" = ( /obj/vehicle/train/cargo/trolley, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "iUy" = ( -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "iUO" = ( /obj/structure/platform{ @@ -12064,11 +14343,14 @@ /area/fiorina/lz/near_lzI) "iVb" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "iVt" = ( /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "iVv" = ( /obj/structure/blocker/invisible_wall, @@ -12078,11 +14360,17 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "iWg" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "iWq" = ( /obj/structure/platform/kutjevo/smooth{ @@ -12096,71 +14384,88 @@ /turf/open/space, /area/fiorina/oob) "iWy" = ( -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/tumor/servers) "iWW" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "iXz" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "iXL" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "iYq" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkpurple2" }, /area/fiorina/tumor/ice_lab) "iYI" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "iZn" = ( /obj/structure/barricade/metal{ health = 250; icon_state = "metal_1" }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/ice_lab) "iZt" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "iZA" = ( /obj/structure/largecrate/random/barrel, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "iZV" = ( -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "iZZ" = ( /obj/structure/barricade/metal{ health = 250; icon_state = "metal_1" }, -/turf/open/floor/prison/darkpurple2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkpurple2" + }, /area/fiorina/tumor/ice_lab) "jae" = ( /obj/structure/cargo_container/grant/left, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "jah" = ( /obj/item/tool/crowbar, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "jal" = ( /obj/structure/largecrate/supply/explosives/mortar_flare, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "jao" = ( /obj/structure/filingcabinet{ @@ -12171,7 +14476,9 @@ pixel_x = -8; pixel_y = 4 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "jas" = ( /obj/structure/surface/table/reinforced/prison, @@ -12180,38 +14487,50 @@ pixel_x = -6; pixel_y = 12 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "jax" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "jay" = ( /obj/item/reagent_container/food/snacks/boiledegg, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "jaR" = ( /obj/item/trash/cigbutt/ucigbutt{ pixel_x = 5; pixel_y = 12 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jbk" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "jbx" = ( /obj/structure/prop/almayer/computers/sensor_computer3, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "jbG" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/shuttle/dropship/flight/lz2, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/console_II) "jbU" = ( /obj/structure/surface/table/reinforced/prison, @@ -12226,7 +14545,9 @@ /area/fiorina/station/research_cells) "jcg" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "jcv" = ( /obj/structure/bed/chair/comfy{ @@ -12244,7 +14565,9 @@ pixel_x = -9; pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "jdc" = ( /obj/structure/closet/secure_closet/engineering_personal, @@ -12255,16 +14578,20 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "jdh" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 10 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "jdo" = ( /obj/structure/machinery/washing_machine, @@ -12275,10 +14602,14 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "jeh" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform{ dir = 1 }, @@ -12290,7 +14621,9 @@ pixel_x = -6; pixel_y = 4 }, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "jeY" = ( /obj/structure/surface/table/reinforced/prison, @@ -12301,13 +14634,17 @@ /obj/item/tool/surgery/circular_saw{ pixel_y = -2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "jfa" = ( /obj/structure/machinery/cm_vending/sorted/marine_food{ name = "\improper Fiorina Engineering Canteen Vendor" }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "jfc" = ( /obj/item/stack/rods, @@ -12345,7 +14682,10 @@ "jfD" = ( /obj/item/weapon/gun/rifle/m16, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "jfN" = ( /obj/structure/machinery/light/double/blue{ @@ -12353,15 +14693,18 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "jgl" = ( /obj/structure/platform_decoration{ dir = 4 }, /obj/item/trash/used_stasis_bag, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "jgu" = ( @@ -12374,8 +14717,9 @@ /obj/item/bodybag/tarp/reactive, /obj/item/bodybag/tarp/reactive, /obj/structure/surface/rack, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "jhi" = ( @@ -12388,7 +14732,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "jhG" = ( /turf/closed/shuttle/ert{ @@ -12396,7 +14742,9 @@ }, /area/fiorina/tumor/ship) "jit" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/tumor/civres) "jiJ" = ( /obj/structure/prop/almayer/computers/mission_planning_system{ @@ -12405,7 +14753,7 @@ name = "\improper funny telephone booth"; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "jiV" = ( /obj/structure/surface/table/reinforced/prison, @@ -12421,13 +14769,18 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "jiW" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "jje" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "jjg" = ( /obj/structure/window/framed/prison, @@ -12449,8 +14802,9 @@ /area/fiorina/tumor/fiberbush) "jjS" = ( /obj/effect/decal/cleanable/blood/xeno, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "jjW" = ( @@ -12468,7 +14822,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "jkg" = ( /obj/structure/largecrate/supply, @@ -12476,17 +14832,24 @@ /area/fiorina/maintenance) "jki" = ( /obj/item/weapon/twohanded/spear, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "jkZ" = ( /obj/structure/barricade/handrail, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "jlg" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jlk" = ( /turf/closed/wall/mineral/bone_resin, @@ -12502,28 +14865,32 @@ /obj/structure/prop/resin_prop{ icon_state = "rack" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "jlO" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 10 }, /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "jlW" = ( /obj/effect/landmark/static_comms/net_one, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "jmm" = ( /obj/effect/spawner/random/gun/rifle/highchance, -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/security) "jmp" = ( /obj/item/ammo_magazine/handful/shotgun/incendiary{ @@ -12549,18 +14916,26 @@ /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "jmy" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "jmG" = ( /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/station/research_cells) "jmM" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "jmO" = ( /obj/structure/platform{ @@ -12573,13 +14948,15 @@ /obj/structure/reagent_dispensers/fueltank{ layer = 2.6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "jmV" = ( /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/maintenance) "jnd" = ( /obj/structure/machinery/light/double/blue{ @@ -12593,7 +14970,10 @@ /obj/structure/filingcabinet, /obj/item/card/data/clown, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "jnO" = ( /obj/structure/machinery/light/double/blue{ @@ -12601,7 +14981,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "jor" = ( /obj/effect/spawner/random/attachment, @@ -12628,26 +15010,34 @@ /area/fiorina/station/park) "joy" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "joz" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "joD" = ( /obj/item/trash/used_stasis_bag, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "joE" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, /turf/open/floor/wood, /area/fiorina/station/park) "joS" = ( /obj/item/weapon/gun/rifle/mar40, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "jpc" = ( /obj/structure/barricade/wooden{ @@ -12657,7 +15047,7 @@ /area/fiorina/station/chapel) "jpl" = ( /obj/item/clothing/under/CM_uniform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "jpt" = ( /obj/structure/machinery/light/small{ @@ -12687,7 +15077,9 @@ pixel_x = 3; pixel_y = 5 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "jpS" = ( /obj/structure/prop/structure_lattice{ @@ -12699,11 +15091,15 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "jqg" = ( /obj/structure/platform, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "jqs" = ( /obj/structure/disposalpipe/segment{ @@ -12729,38 +15125,48 @@ /area/fiorina/station/telecomm/lz1_cargo) "jqH" = ( /obj/structure/curtain, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "jqR" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "jqX" = ( /obj/structure/platform{ dir = 8 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "jre" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/microwave{ pixel_y = 6 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "jrk" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "jrn" = ( @@ -12768,11 +15174,15 @@ /obj/item/reagent_container/food/snacks/xenoburger, /obj/item/reagent_container/food/snacks/xenoburger, /obj/structure/closet/crate/freezer, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "jru" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "jrL" = ( /obj/structure/machinery/light/double/blue{ @@ -12780,24 +15190,27 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "jsn" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/fuelcell_recycler, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "jsD" = ( /obj/structure/bedsheetbin{ icon_state = "linenbin-empty" }, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "jsE" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "jta" = ( /obj/structure/bed{ @@ -12808,8 +15221,9 @@ "jtv" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "jtF" = ( @@ -12818,24 +15232,33 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "jum" = ( /obj/item/toy/crayon/mime, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "juE" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/spawner/random/pills/lowchance, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "juS" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "juW" = ( /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "jvm" = ( /obj/item/storage/surgical_tray, @@ -12850,11 +15273,14 @@ /area/fiorina/station/medbay) "jvp" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "jvu" = ( /obj/item/stool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "jvy" = ( /mob/living/simple_animal/hostile/carp{ @@ -12866,20 +15292,23 @@ "jvB" = ( /obj/structure/closet/firecloset, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "jvE" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "jvG" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "jwc" = ( @@ -12894,33 +15323,46 @@ /area/fiorina/lz/near_lzII) "jxa" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "jxy" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "jxN" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "jxY" = ( -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/civres_blue) "jya" = ( -/turf/open/floor/prison/greenblueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenbluecorner" }, /area/fiorina/station/botany) "jyc" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "jyK" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "jyM" = ( @@ -12933,15 +15375,16 @@ /area/fiorina/station/medbay) "jyR" = ( /obj/structure/largecrate/supply/supplies/tables_racks, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "jzY" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "jAx" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "cell_stripe" }, /area/fiorina/station/security) "jAy" = ( @@ -12949,7 +15392,7 @@ icon_state = "cartridge_1" }, /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "jAW" = ( /obj/structure/largecrate/supply/ammo, @@ -12957,19 +15400,26 @@ /area/fiorina/station/research_cells) "jBj" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "jBK" = ( /obj/structure/largecrate/random/case/double, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jBL" = ( /obj/item/weapon/harpoon, /obj/effect/decal/cleanable/blood{ icon_state = "gib6" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "jBQ" = ( /obj/structure/bed/chair/comfy, @@ -12985,14 +15435,22 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/chapel) "jCl" = ( -/turf/open/floor/prison/damaged2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged2" + }, /area/fiorina/station/security) "jCp" = ( /obj/structure/machinery/landinglight/ds1/delaytwo, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "jCt" = ( /obj/structure/machinery/light/small{ @@ -13022,7 +15480,10 @@ /area/fiorina/tumor/fiberbush) "jCQ" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jCU" = ( /obj/structure/closet{ @@ -13030,18 +15491,22 @@ pixel_y = 18 }, /obj/item/clothing/gloves/combat, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "jDj" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "jDk" = ( /obj/item/stack/rods, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "jDL" = ( @@ -13049,7 +15514,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jDR" = ( /obj/structure/machinery/light/double/blue{ @@ -13060,24 +15528,35 @@ /area/fiorina/tumor/aux_engi) "jDX" = ( /obj/item/trash/burger, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "jEb" = ( -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "jEf" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "jEl" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "jEG" = ( /obj/structure/prop/resin_prop, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "jEK" = ( /obj/structure/bed/chair/office/light{ @@ -13087,7 +15566,10 @@ /area/fiorina/station/research_cells) "jES" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "jFl" = ( /obj/effect/landmark/xeno_spawn, @@ -13096,7 +15578,9 @@ "jFN" = ( /obj/item/explosive/grenade/high_explosive/m15, /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/tumor/aux_engi) "jFO" = ( /obj/effect/landmark/nightmare{ @@ -13109,14 +15593,14 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "jGj" = ( /obj/structure/bed/sofa/vert/grey, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "jGA" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "jGL" = ( /obj/structure/machinery/light/double/blue{ @@ -13124,8 +15608,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "jGP" = ( @@ -13134,7 +15619,10 @@ pixel_x = 5; pixel_y = 22 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "jGV" = ( /obj/structure/surface/table/reinforced/prison, @@ -13147,16 +15635,22 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "jIm" = ( /obj/item/frame/firstaid_arm_assembly, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "jIZ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "jJb" = ( /obj/structure/barricade/wooden{ @@ -13167,7 +15661,9 @@ "jJh" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/objective, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "jJF" = ( /obj/structure/prop/almayer/computers/mission_planning_system{ @@ -13183,18 +15679,25 @@ pixel_x = 17; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jJG" = ( /obj/item/stack/sheet/wood/medium_stack, /obj/item/stack/sheet/wood/medium_stack, /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "jJM" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "jJS" = ( /obj/structure/surface/table/reinforced/prison, @@ -13225,27 +15728,29 @@ /area/fiorina/station/park) "jJT" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "jKb" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "jKm" = ( /obj/structure/largecrate/random/barrel/green, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "jKG" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "jKI" = ( /obj/structure/platform/kutjevo/smooth{ @@ -13262,11 +15767,15 @@ /turf/open/space, /area/fiorina/oob) "jKL" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/bright_clean_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean_marked" + }, /area/fiorina/station/power_ring) "jKR" = ( /obj/structure/machinery/shower{ @@ -13275,33 +15784,47 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/ice_lab) "jLs" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "jLF" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/station/chapel) "jLK" = ( /obj/item/stack/sheet/metal, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/station/security) "jLN" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/telecomm/lz1_cargo) "jLS" = ( /obj/structure/closet/bombcloset, /obj/effect/spawner/random/gun/rifle/midchance, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "jMe" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "jMf" = ( /obj/item/stack/tile/plasteel{ @@ -13316,7 +15839,7 @@ /area/fiorina/tumor/servers) "jMz" = ( /obj/structure/machinery/power/smes/buildable, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "jMH" = ( /obj/structure/barricade/metal/wired{ @@ -13335,8 +15858,9 @@ /area/fiorina/station/research_cells) "jNA" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/transit_hub) "jOr" = ( @@ -13352,7 +15876,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "jOt" = ( /obj/structure/surface/table/reinforced/prison, @@ -13360,25 +15887,34 @@ pixel_x = 11; pixel_y = 14 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "jOJ" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jOO" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "jOW" = ( /obj/item/trash/eat, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "jPz" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "jPK" = ( @@ -13394,7 +15930,9 @@ /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "jRf" = ( /obj/structure/girder/displaced, @@ -13417,8 +15955,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "jRp" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -13431,12 +15970,15 @@ /area/fiorina/station/disco) "jRR" = ( /obj/structure/inflatable, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "jSC" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "jSD" = ( @@ -13453,15 +15995,20 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "jTk" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "jTG" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "jTJ" = ( @@ -13471,7 +16018,9 @@ /obj/structure/window/reinforced/tinted, /obj/item/storage/briefcase, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "jUs" = ( /obj/structure/machinery/light/double/blue{ @@ -13485,28 +16034,39 @@ flipped = 1 }, /obj/item/reagent_container/food/snacks/eat_bar, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jUB" = ( /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "jUI" = ( -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "jUK" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "jVC" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger{ pixel_y = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/oob) "jVE" = ( /obj/structure/surface/table/reinforced/prison, @@ -13523,17 +16083,22 @@ /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "jVH" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "jVQ" = ( /obj/structure/window/framed/prison/reinforced, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "jVW" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/power_ring) "jWy" = ( /obj/structure/barricade/handrail, @@ -13546,7 +16111,7 @@ /area/fiorina/station/research_cells) "jWB" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "jXj" = ( /obj/item/stack/rods, @@ -13558,7 +16123,7 @@ /area/fiorina/tumor/ship) "jXv" = ( /obj/effect/landmark/yautja_teleport, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "jXz" = ( /turf/closed/wall/prison, @@ -13568,25 +16133,31 @@ network = list("omega") }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "jXC" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/pizzabox/mushroom, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "jXD" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "jXO" = ( /obj/structure/machinery/cm_vending/sorted/medical/no_access, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "jXQ" = ( /obj/structure/platform{ @@ -13595,14 +16166,18 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomleft" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "jXZ" = ( /turf/closed/shuttle/elevator, /area/fiorina/tumor/aux_engi) "jYd" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -13617,18 +16192,25 @@ /area/fiorina/station/research_cells) "jYB" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "jYS" = ( /obj/structure/machinery/light/double/blue{ dir = 4; pixel_x = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "jZb" = ( /obj/item/ammo_magazine/shotgun/buckshot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "jZc" = ( /obj/structure/disposalpipe/segment{ @@ -13644,14 +16226,19 @@ /obj/structure/barricade/handrail/type_b{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "kau" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stool{ pixel_y = 12 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "kaB" = ( /obj/effect/decal{ @@ -13661,16 +16248,24 @@ pixel_y = -11 }, /obj/structure/closet/bombcloset, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "kaC" = ( /obj/item/stack/cable_coil/random, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "kaH" = ( /obj/structure/surface/rack, /obj/item/tank/emergency_oxygen/engi, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/power_ring) "kaO" = ( /obj/structure/machinery/light/double/blue{ @@ -13693,7 +16288,7 @@ dir = 4 }, /obj/structure/window/reinforced, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kbi" = ( /obj/item/ammo_casing{ @@ -13708,11 +16303,15 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "kbO" = ( -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "kbT" = ( @@ -13722,14 +16321,19 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecaltopleft" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "kcw" = ( /obj/structure/machinery/computer3/server/rack, /obj/structure/window{ dir = 4 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "kcz" = ( /obj/structure/platform{ @@ -13741,7 +16345,7 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kcO" = ( /obj/structure/surface/table/reinforced/prison, @@ -13755,19 +16359,26 @@ pixel_x = 5; pixel_y = 11 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "kcP" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "kdb" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "kdk" = ( @@ -13782,11 +16393,15 @@ /obj/item/phone{ pixel_y = 7 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "kdo" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "kdw" = ( /obj/structure/surface/table/reinforced/prison, @@ -13795,11 +16410,15 @@ icon_state = "mwbloodyo"; pixel_y = 6 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "kdG" = ( -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/tumor/servers) "kdK" = ( @@ -13813,7 +16432,9 @@ "keF" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flash, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "keL" = ( /obj/structure/prop/structure_lattice{ @@ -13824,26 +16445,37 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "keV" = ( /obj/structure/surface/table/woodentable/fancy, /obj/effect/spawner/random/gun/rifle, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "kfl" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/flight_deck) "kfA" = ( -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "kfF" = ( /obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "kfW" = ( /obj/structure/surface/table/reinforced/prison, @@ -13859,13 +16491,16 @@ /area/fiorina/maintenance) "kge" = ( /obj/effect/spawner/random/gun/rifle/highchance, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "kgP" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "khu" = ( /obj/structure/prop/structure_lattice{ @@ -13882,13 +16517,15 @@ /obj/structure/barricade/wooden{ dir = 1 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "kik" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/security) "kil" = ( @@ -13900,31 +16537,41 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "kiE" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "kiW" = ( /obj/item/ammo_casing{ icon_state = "casing_1" }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "kjo" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "kjz" = ( /obj/item/trash/cigbutt/cigarbutt, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "kjA" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kjP" = ( /obj/structure/surface/table/reinforced/prison, @@ -13944,25 +16591,28 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "kky" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "klb" = ( /obj/item/tool/wirecutters, -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "klg" = ( /obj/item/stack/sheet/cardboard, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "klp" = ( /turf/closed/shuttle/ert{ @@ -13972,8 +16622,9 @@ /area/fiorina/tumor/ship) "klv" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "klC" = ( @@ -13987,24 +16638,29 @@ dir = 8 }, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "klL" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/chapel) "kmB" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/telecomm/lz1_tram) "kmE" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "kmL" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic/autoname{ @@ -14023,7 +16679,7 @@ /area/fiorina/station/security/wardens) "kng" = ( /obj/item/tool/stamp, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "knh" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, @@ -14033,21 +16689,28 @@ /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gibup1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "knu" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "knv" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "kny" = ( /obj/item/stack/tile/plasteel{ @@ -14062,7 +16725,9 @@ density = 0; dir = 4 }, -/turf/open/floor/prison/platingdmg3, +/turf/open/floor/prison{ + icon_state = "platingdmg3" + }, /area/fiorina/station/security) "kow" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -14090,11 +16755,12 @@ dir = 6 }, /obj/structure/closet/emcloset, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "kpm" = ( -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/transit_hub) "kpp" = ( @@ -14111,10 +16777,14 @@ pixel_x = 1; pixel_y = -1 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "kqe" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/platform{ dir = 8; layer = 2.5 @@ -14123,23 +16793,31 @@ /area/fiorina/station/telecomm/lz1_tram) "kqr" = ( /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "kqz" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "kqC" = ( /turf/closed/wall/prison, /area/fiorina/station/lowsec) "kqF" = ( /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "kqP" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "krn" = ( /obj/structure/barricade/handrail/type_b{ @@ -14154,13 +16832,14 @@ /obj/item/ammo_casing{ icon_state = "casing_9_1" }, -/turf/open/floor/prison/yellowangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellowcorner" }, /area/fiorina/station/lowsec) "krr" = ( /obj/structure/machinery/filtration/console, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "krG" = ( /obj/structure/platform{ @@ -14172,22 +16851,28 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "krQ" = ( /obj/item/trash/popcorn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "krT" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "ksk" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "ksV" = ( /obj/structure/barricade/handrail/type_b{ @@ -14201,26 +16886,34 @@ "kte" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/kitchen/rollingpin, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "kty" = ( /obj/structure/prop/ice_colony/surveying_device, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/tumor/servers) "ktD" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "ktI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/poster, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "kul" = ( -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "kur" = ( @@ -14230,7 +16923,10 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "kuS" = ( /obj/structure/machinery/optable{ @@ -14241,12 +16937,16 @@ desc = "It crinkles, aggressively."; name = "sterile wax sheet" }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "kvd" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/golden_cup, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "kvh" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -14266,7 +16966,9 @@ "kvn" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/weapon/gun/energy/taser, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "kvx" = ( /obj/effect/landmark/monkey_spawn, @@ -14280,15 +16982,17 @@ }, /obj/item/organ/eyes, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "kwm" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "kwv" = ( /obj/item/reagent_container/food/drinks/sillycup, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "kwy" = ( /obj/structure/surface/table/reinforced/prison, @@ -14296,7 +17000,9 @@ /obj/item/reagent_container/food/snacks/hugemushroomslice{ pixel_y = 3 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "kwK" = ( /obj/structure/bed/chair{ @@ -14308,8 +17014,9 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "kwL" = ( @@ -14335,12 +17042,13 @@ icon_state = "poster10"; pixel_x = 32 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kxM" = ( /obj/item/stack/rods, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "kxQ" = ( @@ -14351,23 +17059,30 @@ /area/fiorina/station/park) "kxV" = ( /obj/item/device/motiondetector, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "kye" = ( /obj/structure/bed/chair{ dir = 4; pixel_x = -5 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "kyl" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_17{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; pixel_y = 13 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "kyW" = ( /obj/item/stack/sandbags/large_stack, @@ -14395,15 +17110,20 @@ pixel_y = 8 }, /obj/structure/blocker/invisible_wall, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/oob) "kzN" = ( -/turf/open/floor/prison/floorscorched2, +/turf/open/floor/prison{ + icon_state = "floorscorched2" + }, /area/fiorina/station/security) "kzO" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; @@ -14414,12 +17134,15 @@ "kAo" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clipboard, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "kAr" = ( /obj/effect/decal/cleanable/blood/oil, -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) @@ -14428,7 +17151,7 @@ mags_max = 0; mags_min = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "kAO" = ( /obj/item/folder/yellow, @@ -14442,21 +17165,27 @@ /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "kCg" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "kCv" = ( /obj/item/trash/cigbutt/ucigbutt, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "kCG" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "kCI" = ( /obj/item/weapon/baseballbat/metal, @@ -14464,7 +17193,10 @@ /area/fiorina/station/chapel) "kCK" = ( /obj/item/trash/c_tube, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "kCY" = ( /obj/item/tool/weldingtool, @@ -14472,7 +17204,9 @@ /area/fiorina/tumor/servers) "kDg" = ( /obj/item/trash/cigbutt/cigarbutt, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "kDj" = ( /obj/structure/janitorialcart, @@ -14480,14 +17214,15 @@ pixel_x = -4; pixel_y = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "kDq" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "kDN" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -14505,7 +17240,10 @@ name = "overhead pipe"; pixel_y = 12 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "kDW" = ( /obj/item/tool/warning_cone{ @@ -14522,7 +17260,9 @@ }, /obj/structure/surface/rack, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "kEj" = ( /obj/structure/largecrate/random/barrel/blue, @@ -14532,7 +17272,7 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "kEy" = ( /obj/structure/bed/chair/dropship/pilot{ @@ -14546,7 +17286,9 @@ /turf/open/floor/plating/prison, /area/fiorina/oob) "kEE" = ( -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/chapel) "kEZ" = ( /obj/item/stack/tile/plasteel{ @@ -14560,40 +17302,52 @@ /obj/structure/machinery/computer/secure_data{ dir = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "kFH" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "kFM" = ( /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "kGh" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "kGi" = ( /obj/structure/bed/chair/office/light, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "kGq" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "kGu" = ( /obj/structure/surface/rack, /obj/item/storage/box/sprays, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "kGw" = ( /obj/structure/platform{ @@ -14602,11 +17356,13 @@ /obj/structure/machinery/cm_vending/sorted/tech/comp_storage{ layer = 3.5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "kGW" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kHa" = ( /obj/item/storage/toolbox, @@ -14625,7 +17381,9 @@ /obj/effect/decal/medical_decals{ icon_state = "cryocell2deval" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "kHG" = ( /obj/effect/decal/cleanable/blood/oil, @@ -14634,7 +17392,7 @@ "kIc" = ( /obj/structure/platform_decoration, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kIe" = ( /obj/structure/surface/table/reinforced/prison, @@ -14662,7 +17420,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "kJf" = ( /obj/item/tool/wrench, @@ -14670,8 +17430,9 @@ /area/fiorina/station/transit_hub) "kJC" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "kJI" = ( @@ -14679,8 +17440,9 @@ desc = "Watch your step."; icon_state = "gib6" }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "kJS" = ( @@ -14696,13 +17458,16 @@ }, /area/fiorina/tumor/servers) "kJX" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison, /area/fiorina/station/disco) "kKZ" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "kLo" = ( @@ -14711,7 +17476,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "kLI" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -14740,26 +17507,31 @@ pixel_x = -3; pixel_y = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kLQ" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "kLT" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "kLX" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/phone, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "kLY" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/chapel) "kMq" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -14773,7 +17545,10 @@ icon_state = "N"; pixel_y = 1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "kNs" = ( /obj/effect/decal/cleanable/blood, @@ -14783,8 +17558,9 @@ }, /area/fiorina/station/chapel) "kNz" = ( -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "kNB" = ( @@ -14801,7 +17577,7 @@ /area/fiorina/tumor/ship) "kNP" = ( /obj/item/stack/medical/bruise_pack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "kNW" = ( /obj/structure/barricade/handrail/type_b{ @@ -14821,8 +17597,9 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "kOb" = ( -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/tumor/servers) "kOB" = ( @@ -14832,48 +17609,61 @@ }, /area/fiorina/station/civres_blue) "kOM" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/station/park) "kOZ" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "kPe" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "kPi" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/tumor/aux_engi) "kPv" = ( -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "kPz" = ( /obj/structure/lattice, /turf/open/space, /area/fiorina/oob) "kPC" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "kPJ" = ( /obj/item/ammo_magazine/smg/nailgun, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "kPY" = ( /turf/closed/wall/prison, /area/fiorina/tumor/fiberbush) "kQY" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "kRt" = ( @@ -14886,11 +17676,17 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "kRM" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "kSh" = ( /turf/closed/shuttle/elevator{ @@ -14899,31 +17695,44 @@ /area/fiorina/station/telecomm/lz1_cargo) "kSp" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "kSI" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "kSL" = ( /obj/structure/platform, /obj/item/clothing/gloves/botanic_leather, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "kSP" = ( /obj/structure/closet/secure_closet/medical3, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "kSU" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_cargo) "kTK" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "kTL" = ( /obj/item/stack/rods, @@ -14947,7 +17756,9 @@ "kUr" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "kUI" = ( /obj/structure/machinery/light/double/blue{ @@ -14955,8 +17766,9 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "kVg" = ( @@ -14969,35 +17781,48 @@ /area/fiorina/station/power_ring) "kVz" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "kWj" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/briefcase, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "kWn" = ( /obj/structure/inflatable, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "kWD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/toy/deck/uno, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "kWJ" = ( /obj/item/tool/shovel/snow, /obj/item/device/flashlight, /obj/structure/surface/rack, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "kXw" = ( /obj/item/circuitboard/machine/rdserver, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "kXD" = ( /obj/structure/window/framed/prison, @@ -15016,7 +17841,10 @@ /obj/item/reagent_container/food/snacks/cherrypie{ pixel_y = 7 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "kXR" = ( /obj/structure/machinery/light/small{ @@ -15028,7 +17856,10 @@ /area/fiorina/tumor/ship) "kYM" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "kYZ" = ( /obj/structure/surface/table/woodentable, @@ -15037,7 +17868,9 @@ /area/fiorina/station/civres_blue) "kZb" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "kZy" = ( /obj/item/clothing/mask/breath, @@ -15046,7 +17879,9 @@ /area/fiorina/station/power_ring) "kZI" = ( /obj/item/stool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "kZQ" = ( /obj/structure/surface/table/reinforced/prison, @@ -15056,7 +17891,9 @@ pixel_x = -6; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "kZS" = ( /obj/structure/machinery/light/double/blue{ @@ -15075,21 +17912,25 @@ /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "lax" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "laD" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "laG" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage{ density = 0; pixel_y = 16 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "laJ" = ( @@ -15098,22 +17939,27 @@ /area/fiorina/lz/near_lzI) "laP" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "laZ" = ( /obj/item/reagent_container/food/drinks/coffee{ name = "\improper paper cup" }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "lbe" = ( /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "lbk" = ( @@ -15122,7 +17968,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "lbt" = ( /obj/structure/disposalpipe/segment{ @@ -15141,12 +17987,13 @@ /obj/structure/sign/prop2{ pixel_y = 32 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "lcu" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/whitegreenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "lcH" = ( @@ -15158,7 +18005,7 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/maintenance) "lde" = ( /obj/structure/prop/resin_prop{ @@ -15171,16 +18018,18 @@ dir = 8; pixel_y = 8 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "ldt" = ( /obj/item/ammo_casing{ icon_state = "casing_6" }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "ldy" = ( @@ -15188,7 +18037,10 @@ dir = 4; layer = 3.25 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "ldT" = ( /obj/structure/machinery/light/double/blue{ @@ -15196,13 +18048,17 @@ pixel_y = 21 }, /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "leq" = ( /obj/effect/landmark/corpsespawner/prison_security, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lev" = ( /obj/structure/largecrate/random/case/double, @@ -15216,34 +18072,46 @@ /area/fiorina/station/civres_blue) "leR" = ( /obj/item/device/whistle, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lfo" = ( /obj/structure/pipes/standard/manifold/visible, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "lfJ" = ( -/turf/open/floor/prison/greenbluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenblue" }, /area/fiorina/station/botany) "lfS" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "lgy" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "lhj" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "lhQ" = ( -/turf/open/floor/prison/greencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/tumor/civres) "lhY" = ( @@ -15266,12 +18134,16 @@ /obj/item/fuelCell, /obj/item/stack/sheet/plasteel, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "lik" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/pills/lowchance, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "liA" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -15281,7 +18153,9 @@ /area/fiorina/maintenance) "liX" = ( /obj/structure/reagent_dispensers/water_cooler/stacks, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "liZ" = ( /obj/structure/machinery/light/double/blue{ @@ -15304,26 +18178,33 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "ljW" = ( /obj/structure/bed/chair/office/dark{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "ljZ" = ( /obj/item/device/flashlight/flare, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "lka" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "lku" = ( @@ -15333,15 +18214,17 @@ /area/fiorina/oob) "lle" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "lll" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/cans/aspen, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "lls" = ( @@ -15363,11 +18246,15 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "llG" = ( /obj/structure/prop/almayer/computers/sensor_computer3, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "llQ" = ( /obj/structure/platform/kutjevo/smooth{ @@ -15379,8 +18266,9 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "lml" = ( @@ -15399,14 +18287,17 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/medbay) "lmr" = ( -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/chapel) "lmy" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "lmM" = ( /obj/structure/machinery/light/double/blue{ @@ -15414,10 +18305,10 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "lmV" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/fiberbush) "lmX" = ( /obj/structure/sink{ @@ -15428,14 +18319,17 @@ /obj/structure/mirror{ pixel_x = -29 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "lnf" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "lnK" = ( @@ -15443,21 +18337,26 @@ /area/fiorina/station/telecomm/lz1_tram) "lnU" = ( /obj/item/stool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "lok" = ( -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/oob) "loy" = ( /obj/structure/closet/secure_closet/freezer/fridge/full, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "lpf" = ( /obj/item/storage/belt/marine, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "lpl" = ( /turf/closed/shuttle/ert{ @@ -15466,7 +18365,10 @@ /area/fiorina/lz/near_lzI) "lpm" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "lpp" = ( /obj/structure/barricade/sandbags{ @@ -15474,8 +18376,9 @@ layer = 2.97; pixel_y = -14 }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "lpr" = ( @@ -15486,11 +18389,13 @@ /area/fiorina/station/chapel) "lps" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "lpA" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "lpV" = ( /obj/item/device/flashlight/lamp/tripod, @@ -15498,17 +18403,21 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "lqi" = ( /obj/effect/landmark/corpsespawner/engineer, -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "lqo" = ( /obj/structure/dropship_equipment/medevac_system, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/power_ring) "lqq" = ( /turf/open/floor/wood, @@ -15519,18 +18428,22 @@ dir = 4 }, /obj/item/weapon/classic_baton, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "lrm" = ( /obj/structure/barricade/metal/wired{ health = 250; icon_state = "metal_3" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "lro" = ( /obj/item/stack/cable_coil/blue, -/turf/open/floor/prison/whitegreenangle, +/turf/open/floor/prison{ + icon_state = "whitegreencorner" + }, /area/fiorina/tumor/ice_lab) "lrA" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, @@ -15538,7 +18451,9 @@ /area/fiorina/tumor/servers) "lrC" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "lrE" = ( /obj/structure/bed, @@ -15548,18 +18463,28 @@ /area/fiorina/tumor/ship) "lsf" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "lsl" = ( /obj/item/tool/shovel, -/turf/open/floor/prison/greencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "green" + }, /area/fiorina/tumor/civres) "lso" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "lsr" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "lsU" = ( /obj/effect/decal{ @@ -15569,7 +18494,9 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "ltb" = ( /obj/structure/closet/secure_closet/guncabinet{ @@ -15581,27 +18508,36 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "ltu" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "lty" = ( /obj/item/toy/bikehorn, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "ltV" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "luv" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer3/laptop/secure_data, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "luy" = ( /obj/item/trash/candle, @@ -15622,12 +18558,16 @@ pixel_x = -6; pixel_y = 3 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "luU" = ( /obj/effect/spawner/random/gun/rifle/midchance, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "lvg" = ( @@ -15643,7 +18583,10 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lvi" = ( /obj/structure/sign/poster{ @@ -15654,15 +18597,18 @@ /area/fiorina/station/security/wardens) "lvk" = ( /obj/structure/bed/sofa/south/grey, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "lvs" = ( -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/tumor/civres) "lvx" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "lvy" = ( @@ -15680,7 +18626,7 @@ }, /obj/item/weapon/gun/pistol/heavy, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "lwd" = ( /obj/structure/machinery/light/double/blue{ @@ -15695,34 +18641,44 @@ dir = 1; layer = 2.7 }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "lwG" = ( -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "lwK" = ( -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "lwO" = ( /obj/structure/largecrate/supply/supplies/water, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "lxe" = ( /obj/structure/surface/rack, /obj/item/weapon/gun/pistol/heavy, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "lxk" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "lyd" = ( /obj/structure/surface/rack, /obj/item/folder/black, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "lyf" = ( /obj/structure/flora/bush/ausbushes/ausbush{ @@ -15743,7 +18699,9 @@ pixel_x = 6; pixel_y = 20 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "lyF" = ( /obj/structure/surface/table/reinforced/prison, @@ -15751,7 +18709,9 @@ dir = 4; reason = "Visitor" }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "lyJ" = ( /obj/item/tool/crowbar, @@ -15760,8 +18720,16 @@ "lyX" = ( /obj/structure/inflatable/popped/door, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) +"lzb" = ( +/obj/structure/largecrate/random, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/disco) "lzm" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/window/reinforced/tinted, @@ -15778,21 +18746,31 @@ /area/fiorina/station/park) "lzO" = ( /obj/structure/closet/firecloset/full, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "lzW" = ( /obj/structure/barricade/sandbags{ dir = 8; icon_state = "sandbag_0" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "lzX" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/park) "lAf" = ( /obj/item/tool/crowbar, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "lAh" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -15804,10 +18782,12 @@ /obj/structure/mirror{ pixel_y = 28 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "lAS" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "lAV" = ( /obj/structure/bed/stool, @@ -15822,30 +18802,38 @@ /obj/structure/machinery/door/airlock/prison_hatch/autoname{ dir = 1 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "lBJ" = ( /obj/structure/bed/chair{ dir = 4; layer = 2.8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "lCm" = ( /obj/item/ammo_casing{ icon_state = "cartridge_1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lCs" = ( /obj/structure/barricade/metal/wired{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "lCw" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "lCz" = ( @@ -15859,30 +18847,40 @@ /obj/structure/closet/basketball, /obj/item/storage/pill_bottle/tramadol/skillless, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "lCE" = ( /obj/structure/platform{ dir = 4 }, /obj/item/tool/shovel/spade, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "lCZ" = ( /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "lDe" = ( /obj/structure/prop/souto_land/streamer{ dir = 6 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "lDm" = ( /obj/structure/foamed_metal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "lDC" = ( /obj/structure/platform/kutjevo/smooth, @@ -15892,7 +18890,9 @@ /turf/open/space/basic, /area/fiorina/oob) "lEa" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/chapel) @@ -15922,11 +18922,14 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/disco) "lEI" = ( -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/tumor/servers) "lFc" = ( @@ -15936,7 +18939,10 @@ /area/fiorina/station/park) "lFj" = ( /obj/effect/spawner/random/gun/pistol, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "lFx" = ( /obj/effect/decal/cleanable/blood, @@ -15944,28 +18950,38 @@ icon_state = "abed" }, /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "lFC" = ( /obj/item/clothing/head/cmcap, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/transit_hub) "lFO" = ( /obj/structure/largecrate/supply/supplies/water, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "lGh" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/landinglight/ds1/delaythree{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "lGm" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "lGA" = ( /obj/structure/machinery/bioprinter{ @@ -15975,28 +18991,36 @@ /obj/structure/machinery/door/window/eastright{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lHc" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/card/id/visa, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "lHx" = ( /obj/structure/window/framed/prison/reinforced/hull, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "lHy" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/disco) "lHB" = ( /obj/effect/spawner/random/gun/rifle/lowchance, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "lHL" = ( /obj/structure/surface/rack, @@ -16004,8 +19028,9 @@ /obj/effect/decal/cleanable/blood, /obj/item/attachable/bipod, /obj/item/device/multitool, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "lIv" = ( @@ -16015,7 +19040,9 @@ /area/fiorina/lz/near_lzI) "lIx" = ( /obj/item/tool/wet_sign, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "lIG" = ( /obj/structure/extinguisher_cabinet, @@ -16032,13 +19059,16 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "lJm" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "lJv" = ( /obj/structure/surface/table/reinforced/prison, @@ -16048,23 +19078,33 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "lJy" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "lKd" = ( -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "lKt" = ( /obj/structure/sign/poster{ icon_state = "poster18"; pixel_y = 32 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "lLe" = ( /obj/item/stack/sheet/metal, @@ -16074,7 +19114,7 @@ /obj/structure/machinery/landinglight/ds2{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "lLE" = ( /obj/item/bedsheet/blue, @@ -16084,13 +19124,16 @@ /obj/structure/bookcase/manuals/research_and_development{ pixel_y = 10 }, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "lLU" = ( /obj/effect/landmark/corpsespawner/engineer, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "lMi" = ( /obj/structure/largecrate/random, @@ -16098,14 +19141,20 @@ /area/fiorina/station/research_cells) "lMB" = ( /obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "lMM" = ( -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/tumor/servers) "lNg" = ( -/obj/structure/monorail/launchtrack, -/turf/open/floor/prison/floor_plate, +/obj/structure/monorail{ + name = "launch track" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "lNv" = ( /obj/item/handcuffs/cable/pink, @@ -16139,34 +19188,46 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "lOa" = ( -/turf/open/floor/prison/damaged2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged2" + }, /area/fiorina/station/lowsec) "lOb" = ( /obj/structure/closet/crate/internals, /obj/item/tool/crew_monitor, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "lOo" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "lOE" = ( -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/chapel) "lPq" = ( /obj/structure/prop/dam/crane, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 8; + icon_state = "floor_marked" + }, /area/fiorina/tumor/servers) "lPV" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "lPW" = ( /obj/structure/machinery/light/double/blue{ @@ -16174,39 +19235,48 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "lQd" = ( /obj/structure/closet/secure_closet/freezer/fridge/full, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "lQf" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "lQZ" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/emails{ pixel_y = 5 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "lRe" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "lRH" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "lRI" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "lRT" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -16220,14 +19290,19 @@ /area/fiorina/station/research_cells) "lSY" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "lTm" = ( /obj/structure/window/reinforced{ dir = 8 }, /obj/structure/machinery/photocopier, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "lTp" = ( /obj/structure/sink{ @@ -16238,11 +19313,14 @@ }, /area/fiorina/tumor/ship) "lUg" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "lUi" = ( /turf/closed/shuttle/ert{ @@ -16257,7 +19335,10 @@ /obj/item/reagent_container/food/drinks/coffee{ pixel_y = 13 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "lUs" = ( /obj/structure/ice/thin/indestructible{ @@ -16294,7 +19375,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/damaged2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged2" + }, /area/fiorina/station/lowsec) "lWD" = ( /obj/structure/machinery/light/double/blue{ @@ -16302,22 +19386,28 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "lXc" = ( /obj/item/stool, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "lXf" = ( -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/power_ring) "lXk" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "lXs" = ( /obj/item/book/manual/marine_law, @@ -16344,29 +19434,42 @@ /area/fiorina/tumor/ice_lab) "lYc" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "lYl" = ( /obj/structure/barricade/handrail/type_b{ layer = 3.4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "lYr" = ( /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "lYw" = ( /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "lYA" = ( /obj/structure/machinery/landinglight/ds1{ dir = 8 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "lZf" = ( /turf/closed/shuttle/elevator{ @@ -16383,7 +19486,9 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/maintenance) "lZL" = ( /obj/structure/barricade/sandbags{ @@ -16396,24 +19501,30 @@ pixel_y = 21 }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "mak" = ( /obj/structure/machinery/shower{ pixel_y = 13 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "mam" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform/stair_cut/alt, /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "maC" = ( /obj/structure/window/reinforced{ @@ -16421,24 +19532,26 @@ }, /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/faxmachine, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "maE" = ( /obj/item/device/motiondetector, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "mbc" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "mbe" = ( /obj/effect/decal/cleanable/blood/xeno{ icon_state = "xgib3" }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "mbg" = ( @@ -16450,7 +19563,10 @@ icon_state = "docstripingdir" }, /obj/item/stack/rods/plasteel, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mbp" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -16474,10 +19590,14 @@ /area/fiorina/station/lowsec) "mbN" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "mcc" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "mcr" = ( /obj/structure/surface/table/reinforced/prison, @@ -16486,13 +19606,15 @@ /area/fiorina/station/park) "mct" = ( /obj/item/trash/kepler, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mcE" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellowcorners2" }, /area/fiorina/lz/near_lzI) "mcG" = ( @@ -16501,19 +19623,27 @@ name = "xeno_hive_spawn" }, /obj/effect/landmark/ert_spawns/groundside_xeno, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "mcN" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzI) "mcT" = ( /obj/structure/barricade/handrail/type_b{ layer = 3.4 }, -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "mdd" = ( /obj/item/storage/toolbox/electrical, @@ -16521,7 +19651,9 @@ /area/fiorina/tumor/servers) "mdn" = ( /obj/structure/machinery/recharge_station, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "mdJ" = ( /obj/structure/platform/kutjevo/smooth{ @@ -16533,12 +19665,13 @@ "mea" = ( /obj/item/fuelCell, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/maintenance) "med" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "mei" = ( @@ -16557,11 +19690,15 @@ /area/fiorina/station/medbay) "mel" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/power_ring) "mey" = ( /obj/item/trash/chunk, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "meF" = ( /obj/structure/closet/secure_closet/guncabinet{ @@ -16569,25 +19706,31 @@ }, /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "meG" = ( /obj/structure/surface/rack, /obj/item/tank/emergency_oxygen/engi, -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/power_ring) "meM" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "mfd" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "mfe" = ( @@ -16598,19 +19741,24 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "mfo" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/station/disco) "mft" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "mfK" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "mfR" = ( /obj/structure/bed{ @@ -16624,8 +19772,9 @@ /area/fiorina/station/civres_blue) "mfV" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "mgC" = ( @@ -16634,23 +19783,30 @@ icon_state = "poster11"; pixel_y = 32 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "mgU" = ( /obj/effect/landmark/nightmare{ insert_tag = "birthday" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "mhb" = ( -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mhe" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "mho" = ( @@ -16662,7 +19818,10 @@ /area/fiorina/station/security/wardens) "mhu" = ( /obj/item/paper/prison_station/inmate_handbook, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "mhv" = ( /obj/structure/platform_decoration/kutjevo{ @@ -16689,29 +19848,35 @@ pixel_x = -4; pixel_y = 9 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "mie" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/flora/pottedplant/pottedplant_18{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; pixel_y = 12 }, /turf/open/floor/plating/prison, /area/fiorina/station/security/wardens) "mii" = ( /obj/item/weapon/pole/wooden_cane, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "miu" = ( /obj/structure/machinery/cm_vending/sorted/tech/comp_storage{ density = 0; pixel_y = 16 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "miB" = ( @@ -16719,18 +19884,20 @@ health = 85; icon_state = "metal_1" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "miU" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating/prison, /area/fiorina/station/disco) "miZ" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "mjx" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -16748,28 +19915,37 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "mki" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "mky" = ( /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mkB" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "mli" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "mlC" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -16781,11 +19957,11 @@ dir = 8; layer = 3.5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "mmh" = ( /obj/item/trash/burger, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "mmp" = ( /obj/structure/surface/table/reinforced/prison, @@ -16802,8 +19978,9 @@ /area/fiorina/station/power_ring) "mmP" = ( /obj/effect/decal/cleanable/blood/oil, -/obj/structure/monorail/launchtrack{ - dir = 10 +/obj/structure/monorail{ + dir = 10; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) @@ -16811,11 +19988,13 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "mnp" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "mny" = ( /turf/closed/wall/prison, @@ -16829,7 +20008,9 @@ pixel_x = -8; pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "moW" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, @@ -16845,32 +20026,39 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "mpO" = ( /obj/structure/machinery/power/smes/buildable{ capacity = 1e+006; dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "mpT" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "mqc" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "mqo" = ( /obj/structure/barricade/metal{ health = 250; icon_state = "metal_1" }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "mqY" = ( @@ -16878,7 +20066,10 @@ dir = 4; pixel_y = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mrk" = ( /obj/structure/machinery/light/double/blue{ @@ -16892,11 +20083,16 @@ pixel_x = 5; pixel_y = 5 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "mrn" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "mrG" = ( /obj/structure/extinguisher_cabinet, @@ -16904,8 +20100,12 @@ /turf/open/floor/plating/prison, /area/fiorina/station/disco) "mrO" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "mrX" = ( /obj/structure/bed/chair{ @@ -16932,7 +20132,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "msu" = ( /obj/structure/barricade/wooden{ @@ -16946,8 +20148,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "mtj" = ( @@ -16959,13 +20162,16 @@ /turf/open/floor/wood, /area/fiorina/station/park) "mtk" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "mtm" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "mtr" = ( /obj/structure/surface/table/reinforced/prison, @@ -16973,34 +20179,41 @@ pixel_x = 2; pixel_y = 3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "muB" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "muO" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "muT" = ( /obj/item/device/flashlight/flare/on, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "muZ" = ( /obj/item/storage/briefcase, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "mvl" = ( /obj/structure/window/framed/prison/reinforced, /turf/open/floor/plating/prison, /area/fiorina/station/research_cells) "mwL" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "mwU" = ( /obj/structure/barricade/handrail/type_b{ @@ -17013,15 +20226,18 @@ name = "overhead ducting"; pixel_y = 33 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "mxk" = ( /obj/item/trash/tray, /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/power_ring) "mxn" = ( -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/chapel) "mxs" = ( @@ -17034,17 +20250,21 @@ /area/fiorina/station/park) "mxz" = ( /obj/item/bedsheet, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "mxO" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/barricade/handrail/type_b{ dir = 1 }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "mxQ" = ( /turf/closed/wall/prison, @@ -17055,11 +20275,14 @@ /area/fiorina/station/chapel) "myg" = ( /obj/structure/machinery/cm_vending/sorted/tech/comp_storage, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "myt" = ( -/turf/open/floor/prison/redcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "red" }, /area/fiorina/station/power_ring) "myO" = ( @@ -17068,8 +20291,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mzp" = ( @@ -17079,7 +20303,10 @@ name = "overhead ducting"; pixel_y = 33 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "mzy" = ( /obj/structure/largecrate/random/barrel/green, @@ -17091,13 +20318,15 @@ /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "mzF" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "mzS" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -17121,7 +20350,9 @@ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "mAv" = ( /obj/item/ammo_magazine/rifle/m16{ @@ -17132,18 +20363,19 @@ /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "mAz" = ( /obj/structure/closet/emcloset, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mAA" = ( /obj/item/storage/briefcase/inflatable, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "mAB" = ( /obj/structure/filingcabinet{ @@ -17155,40 +20387,53 @@ pixel_y = 4 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "mAE" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/reagent_dispensers/water_cooler/stacks{ pixel_y = 11 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "mAG" = ( /obj/structure/machinery/shower{ pixel_y = 13 }, /obj/item/tool/soap/nanotrasen, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "mBm" = ( /obj/item/storage/briefcase, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "mBy" = ( /obj/structure/bed/chair{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "mBV" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "mCA" = ( /obj/structure/prop/resin_prop, @@ -17200,28 +20445,34 @@ /area/fiorina/station/lowsec) "mCG" = ( /obj/structure/machinery/processor, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "mCT" = ( /obj/structure/surface/rack, /obj/item/handcuffs/zip, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "mDi" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "mDs" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "mDz" = ( @@ -17231,48 +20482,62 @@ /turf/open/floor/carpet, /area/fiorina/station/civres_blue) "mDV" = ( -/turf/open/floor/prison/darkyellow2angle, +/turf/open/floor/prison{ + icon_state = "darkyellowcorners2" + }, /area/fiorina/station/telecomm/lz1_cargo) "mEb" = ( /obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "mEc" = ( -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/station/park) "mEv" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/snacks/mre_pack/meal5, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "mEL" = ( /obj/item/prop/helmetgarb/spacejam_tickets{ desc = "A ticket to Souto Man's raffle!"; name = "\improper Souto Raffle Ticket" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "mEO" = ( /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "mFf" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/oob) "mFh" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mFm" = ( /obj/item/tool/mop, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "mFz" = ( /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gibmid1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mGe" = ( /obj/structure/bed/chair{ @@ -17284,11 +20549,13 @@ pixel_x = -11; pixel_y = -6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "mGx" = ( /obj/item/reagent_container/food/drinks/sillycup, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "mHC" = ( /obj/effect/decal/cleanable/blood/oil, @@ -17296,7 +20563,9 @@ /area/fiorina/maintenance) "mHN" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "mHR" = ( /obj/structure/sign/prop3{ @@ -17310,15 +20579,19 @@ pixel_y = 8 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "mIk" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mIu" = ( /obj/effect/spawner/random/sentry/midchance, @@ -17329,16 +20602,19 @@ icon_state = "abed" }, /obj/item/bedsheet/green, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "mIE" = ( -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "mJe" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "mJk" = ( /obj/structure/surface/table/reinforced/prison, @@ -17360,28 +20636,37 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "mJy" = ( -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mJz" = ( /obj/structure/closet/emcloset, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "mJM" = ( /obj/item/trash/uscm_mre, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mKt" = ( /obj/item/storage/toolbox, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "mKy" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "mKG" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 8; + icon_state = "floor_marked" + }, /area/fiorina/station/lowsec) "mKS" = ( /obj/structure/platform/kutjevo/smooth{ @@ -17401,17 +20686,24 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "mLB" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "mLE" = ( /obj/structure/closet, /obj/item/reagent_container/spray/cleaner, /obj/item/stack/sheet/plasteel/small_stack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "mLP" = ( /obj/structure/surface/table/reinforced/prison, @@ -17430,13 +20722,18 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "mMb" = ( /obj/structure/machinery/photocopier{ pixel_y = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mMf" = ( /obj/structure/window/reinforced{ @@ -17444,15 +20741,25 @@ health = 80 }, /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mMo" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "mMq" = ( /obj/item/trash/chips, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "mMH" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -17478,7 +20785,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "mNh" = ( /obj/effect/decal/cleanable/blood/oil, @@ -17487,15 +20796,22 @@ "mNj" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "mNn" = ( /obj/structure/machinery/door/airlock/almayer/marine, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "mNC" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "mNJ" = ( /obj/structure/barricade/sandbags{ @@ -17507,35 +20823,48 @@ icon_state = "sandbag_0"; pixel_y = -14 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "mOn" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "mOr" = ( /obj/item/poster, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "mOC" = ( /obj/structure/closet/crate/medical, /obj/effect/spawner/random/toolbox, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "mOF" = ( -/turf/open/floor/prison/blueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "bluecorner" }, /area/fiorina/station/civres_blue) "mOW" = ( /obj/structure/barricade/handrail/type_b{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) +"mPA" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "mPW" = ( /obj/structure/prop/structure_lattice{ dir = 4; @@ -17545,13 +20874,17 @@ /area/fiorina/station/telecomm/lz1_cargo) "mQe" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "mQn" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "mQD" = ( /obj/structure/barricade/sandbags{ @@ -17560,7 +20893,7 @@ pixel_y = 2 }, /obj/item/storage/toolbox/syndicate, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "mQG" = ( /obj/structure/barricade/handrail/type_b{ @@ -17571,6 +20904,12 @@ name = "astroturf" }, /area/fiorina/station/civres_blue) +"mQZ" = ( +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/disco) "mRk" = ( /obj/item/tool/warning_cone{ pixel_x = -4; @@ -17585,15 +20924,18 @@ pixel_y = 8 }, /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "mRz" = ( /obj/item/ammo_casing{ dir = 6; icon_state = "casing_10_1" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "mRT" = ( @@ -17606,7 +20948,9 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "mRU" = ( /obj/structure/surface/table/reinforced/prison, @@ -17615,25 +20959,34 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "mSM" = ( /obj/item/stack/tile/plasteel{ pixel_x = 3; pixel_y = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "mSN" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/tumor/servers) "mSY" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/atmos_alert, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "mTa" = ( /obj/structure/ice/thin/indestructible{ @@ -17653,15 +21006,18 @@ layer = 2.8 }, /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "mTy" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ indestructible = 1; name = "launch bay door" }, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/oob) "mTJ" = ( @@ -17669,7 +21025,9 @@ /obj/item/trash/cigbutt{ pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "mTM" = ( /obj/item/tool/warning_cone, @@ -17677,11 +21035,14 @@ /area/fiorina/maintenance) "mTS" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "mTX" = ( -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "mUk" = ( @@ -17690,14 +21051,18 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "mUr" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/fancy/crayons, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mUA" = ( /obj/effect/decal/cleanable/blood/oil, @@ -17706,24 +21071,34 @@ "mUV" = ( /obj/structure/closet/basketball, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "mVg" = ( /obj/structure/window{ dir = 8 }, /obj/item/circuitboard/machine/rdserver, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "mWg" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/lz/near_lzII) "mWi" = ( /obj/structure/closet/secure_closet/engineering_materials, /obj/effect/spawner/random/gun/smg, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "mWx" = ( /obj/structure/machinery/light/double/blue{ @@ -17731,21 +21106,22 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "mWF" = ( /obj/structure/bed/chair{ dir = 1; layer = 2.7 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "mWV" = ( /obj/effect/decal/cleanable/blood{ icon_state = "xtracks" }, -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/chapel) "mWX" = ( @@ -17765,8 +21141,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "mXe" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -17786,39 +21163,53 @@ /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "mXI" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mXT" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "mXY" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "mYo" = ( /obj/structure/machinery/photocopier, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mYp" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/storage/bible/hefa, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "mYu" = ( /obj/structure/window/reinforced{ @@ -17829,7 +21220,10 @@ /obj/structure/machinery/computer/med_data/laptop{ dir = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "mYN" = ( /obj/structure/platform_decoration{ @@ -17838,11 +21232,14 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "mYZ" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "mZo" = ( /obj/item/tool/shovel, @@ -17852,14 +21249,21 @@ /obj/structure/prop/almayer/computers/sensor_computer1{ name = "computer" }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "mZG" = ( /obj/item/paper/crumpled/bloody, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "mZV" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/light/double/blue{ dir = 4; pixel_x = 10; @@ -17872,11 +21276,15 @@ /area/fiorina/oob) "naj" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "naN" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "naW" = ( /turf/closed/wall/r_wall/prison, @@ -17887,22 +21295,26 @@ /area/fiorina/station/telecomm/lz2_maint) "nbo" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "nbv" = ( -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "nbU" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "ncn" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "ncP" = ( @@ -17911,13 +21323,15 @@ pixel_x = 10; pixel_y = -1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "ncQ" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "ndh" = ( /obj/effect/decal/hefa_cult_decals/d32{ @@ -17926,7 +21340,7 @@ /obj/item/weapon/gun/shotgun/pump{ starting_attachment_types = list(/obj/item/attachable/stock/shotgun) }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "ndl" = ( /obj/item/storage/box/cups, @@ -17944,16 +21358,18 @@ pixel_y = -1 }, /obj/structure/largecrate/random/mini/chest/c, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "ndt" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "ndC" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/faxmachine, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "ndZ" = ( /obj/structure/machinery/constructable_frame{ @@ -17980,32 +21396,44 @@ /obj/structure/bed/chair/office/dark{ dir = 1 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nej" = ( /obj/item/storage/fancy/cigarettes/lucky_strikes, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "nes" = ( -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_tram) "neD" = ( /obj/effect/landmark/xeno_spawn, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "neH" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "neX" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "nfA" = ( /obj/structure/platform, @@ -18022,8 +21450,9 @@ /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "nga" = ( @@ -18034,42 +21463,53 @@ /area/fiorina/station/civres_blue) "ngd" = ( /obj/item/trash/hotdog, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "ngk" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "ngq" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "ngr" = ( /obj/structure/platform_decoration, /obj/item/reagent_container/food/drinks/sillycup, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "ngG" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "nhd" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "nhi" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/tool, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "nho" = ( /obj/structure/platform{ @@ -18082,16 +21522,21 @@ /turf/open/floor/wood, /area/fiorina/station/park) "nhz" = ( -/turf/open/floor/prison/whitepurpleangle, +/turf/open/floor/prison{ + icon_state = "whitepurplecorner" + }, /area/fiorina/station/research_cells) "nhF" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "nhR" = ( /obj/structure/closet/bodybag, /obj/effect/decal/cleanable/blood/gibs/limb, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "nhY" = ( /obj/structure/extinguisher_cabinet, @@ -18113,7 +21558,7 @@ layer = 2.97; pixel_y = -14 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "niw" = ( /obj/structure/barricade/handrail{ @@ -18125,10 +21570,12 @@ /area/fiorina/station/research_cells) "njq" = ( /obj/item/tool/weldpack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "njx" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "njC" = ( /obj/effect/decal{ @@ -18137,8 +21584,9 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "njK" = ( @@ -18161,7 +21609,9 @@ pixel_x = 8; pixel_y = 8 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "nlw" = ( /turf/open/floor/almayer{ @@ -18185,12 +21635,17 @@ }, /area/fiorina/station/research_cells) "nmx" = ( -/obj/structure/flora/pottedplant/pottedplant_21, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "nmQ" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/research_cells) "nmT" = ( /obj/item/toy/crayon/blue, @@ -18203,11 +21658,14 @@ pixel_x = -2; pixel_y = 7 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "nnX" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, @@ -18223,15 +21681,25 @@ }, /area/fiorina/station/park) "noY" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) +"nph" = ( +/obj/item/stool, +/turf/open/floor/prison{ + icon_state = "damaged2" + }, +/area/fiorina/station/lowsec) "npp" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "npx" = ( /obj/structure/barricade/handrail/type_b{ @@ -18243,11 +21711,15 @@ }, /area/fiorina/station/civres_blue) "npz" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_tram) "npN" = ( /obj/structure/sink{ @@ -18255,23 +21727,28 @@ pixel_x = -12 }, /obj/effect/spawner/random/gun/pistol, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "npV" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "nql" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "nqs" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "nqL" = ( @@ -18287,7 +21764,10 @@ /area/fiorina/station/security) "nqV" = ( /obj/item/device/cassette_tape/nam, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "nre" = ( /obj/item/stack/rods, @@ -18295,12 +21775,15 @@ /area/fiorina/station/civres_blue) "nrq" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "nrI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/plantspray/pests, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "nrL" = ( /obj/structure/barricade/sandbags{ @@ -18308,27 +21791,32 @@ pixel_y = -14 }, /obj/structure/machinery/m56d_hmg, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "nrR" = ( -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/station/transit_hub) "nrY" = ( -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/chapel) "nsb" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "nsg" = ( -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/tumor/civres) "nsn" = ( @@ -18337,27 +21825,35 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "nsx" = ( /obj/structure/closet/firecloset/full, /obj/item/storage/pill_bottle/bicaridine/skillless, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "nsC" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "nsH" = ( /obj/structure/platform, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/security) "ntg" = ( -/obj/structure/flora/pottedplant/pottedplant_27{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_27"; pixel_y = 6 }, /turf/open/floor/wood, @@ -18380,11 +21876,16 @@ /area/fiorina/tumor/ice_lab) "nuE" = ( /obj/structure/inflatable/popped, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "nvz" = ( /obj/structure/flora/pottedplant/random, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "nvC" = ( /obj/structure/platform{ @@ -18396,8 +21897,9 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nvD" = ( @@ -18405,7 +21907,7 @@ /area/fiorina/station/botany) "nvF" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "nvO" = ( /obj/structure/machinery/light/double/blue{ @@ -18413,18 +21915,24 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "nvZ" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "nwh" = ( /obj/effect/decal/medical_decals{ icon_state = "docstripingdir" }, /obj/structure/bed/roller, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "nxl" = ( /obj/structure/machinery/light/double/blue{ @@ -18438,7 +21946,10 @@ /area/fiorina/station/civres_blue) "nxH" = ( /obj/item/trash/boonie, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "nxM" = ( /obj/structure/barricade/sandbags{ @@ -18446,39 +21957,47 @@ icon_state = "sandbag_0"; pixel_y = 2 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "nyk" = ( /obj/structure/machinery/power/geothermal, -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "nyl" = ( /obj/structure/window{ dir = 1 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "nyo" = ( /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "nyy" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "nyD" = ( /obj/structure/barricade/handrail{ dir = 8 }, -/turf/open/floor/prison/red{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "red" }, /area/fiorina/station/security) "nyQ" = ( /obj/structure/dropship_equipment/mg_holder, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "nyS" = ( /obj/structure/platform{ @@ -18493,11 +22012,13 @@ "nza" = ( /obj/structure/machinery/deployable/barrier, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "nzm" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "nzI" = ( /obj/structure/largecrate/random, @@ -18520,12 +22041,16 @@ /turf/open/floor/wood, /area/fiorina/station/park) "nAr" = ( -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "nBp" = ( /obj/item/weapon/gun/smg/nailgun, /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "nBu" = ( /obj/structure/surface/table/reinforced/prison, @@ -18534,24 +22059,34 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "nBB" = ( /obj/structure/largecrate/random/barrel, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "nBG" = ( /obj/effect/decal/cleanable/blood/oil, /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "nBK" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "nBM" = ( /obj/structure/closet/secure_closet/security_empty, @@ -18559,32 +22094,43 @@ dir = 8 }, /obj/item/ammo_magazine/shotgun/beanbag, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "nBO" = ( /obj/effect/spawner/random/powercell, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "nBR" = ( /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "nBV" = ( -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "nCa" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "nCl" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "nCu" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "nCw" = ( /obj/structure/machinery/light/double/blue{ @@ -18593,7 +22139,16 @@ /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) +"nCC" = ( +/obj/item/trash/candy, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "nCX" = ( /turf/open/organic/grass{ @@ -18604,26 +22159,30 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nDT" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/handcuffs, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "nDW" = ( /obj/structure/machinery/space_heater, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nEs" = ( -/turf/open/floor/prison/greenangle, +/turf/open/floor/prison{ + icon_state = "greencorner" + }, /area/fiorina/tumor/civres) "nEy" = ( /obj/item/explosive/grenade/high_explosive/frag, @@ -18631,7 +22190,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "nEN" = ( /obj/item/clothing/glasses/material, @@ -18651,17 +22210,22 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "nGk" = ( /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 4 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "nGq" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "nGy" = ( /obj/item/newspaper, @@ -18669,15 +22233,20 @@ /area/fiorina/station/security/wardens) "nGz" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "nGI" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "nGW" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform_decoration{ dir = 8 @@ -18690,7 +22259,7 @@ dir = 8; icon_state = "commb" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "nHb" = ( /obj/structure/machinery/light/double/blue{ @@ -18698,7 +22267,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "nHm" = ( /obj/structure/surface/table/woodentable/fancy, @@ -18710,8 +22281,9 @@ /area/fiorina/station/chapel) "nHG" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/chapel) "nHH" = ( @@ -18720,8 +22292,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "nHZ" = ( @@ -18752,52 +22325,67 @@ }, /obj/item/stool, /obj/item/clothing/shoes/slippers_worn, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "nIh" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ density = 0; dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "nIn" = ( /obj/item/reagent_container/food/snacks/wrapped/booniebars, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "nIo" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/microwave{ pixel_y = 6 }, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "nIq" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "nIy" = ( /obj/item/explosive/grenade/high_explosive/frag, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "nID" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "nJC" = ( /obj/item/stack/sheet/metal/medium_stack, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "nJQ" = ( /obj/structure/surface/rack, /obj/item/weapon/gun/smg/nailgun, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "nKl" = ( /obj/structure/platform{ @@ -18816,7 +22404,10 @@ dir = 4 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "nKG" = ( /obj/item/stack/sheet/metal, @@ -18840,7 +22431,10 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "nLh" = ( /obj/structure/platform{ @@ -18850,11 +22444,14 @@ /obj/structure/platform_decoration{ dir = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "nLl" = ( -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "nLV" = ( @@ -18899,8 +22496,9 @@ /turf/open/floor/wood, /area/fiorina/station/chapel) "nOF" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "nPa" = ( @@ -18908,7 +22506,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "nPj" = ( /obj/item/clothing/glasses/gglasses, @@ -18930,8 +22530,9 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nQq" = ( @@ -18939,7 +22540,9 @@ /turf/closed/wall/prison, /area/fiorina/station/medbay) "nQN" = ( -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/botany) "nQS" = ( /obj/structure/reagent_dispensers/water_cooler{ @@ -18947,14 +22550,16 @@ pixel_x = -11; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "nRb" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security/wardens) "nRf" = ( /obj/structure/largecrate/random/barrel/white, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "nRI" = ( /obj/structure/machinery/light/small{ @@ -18962,25 +22567,33 @@ pixel_x = 11; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "nSa" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "nSi" = ( /obj/structure/machinery/door/window/eastright{ dir = 2 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "nSx" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/station/disco) "nSz" = ( -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "nSU" = ( /obj/structure/surface/rack, @@ -18997,8 +22610,9 @@ dir = 8 }, /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nUb" = ( @@ -19035,22 +22649,27 @@ dir = 2; name = "Confession Booth" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "nUF" = ( /obj/structure/prop/resin_prop{ icon_state = "rack" }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "nUJ" = ( /obj/effect/spawner/random/technology_scanner, /turf/open/floor/plating/prison, /area/fiorina/maintenance) "nVq" = ( -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/power_ring) "nVA" = ( @@ -19061,15 +22680,18 @@ icon_state = "medium"; name = "ice shard" }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "nVH" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "nWC" = ( /obj/item/clothing/shoes/yellow, @@ -19084,14 +22706,18 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "nXj" = ( /obj/structure/curtain/black, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "nXq" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/disco) "nYi" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -19100,16 +22726,20 @@ /turf/open/floor/plating/prison, /area/fiorina/station/security) "nYk" = ( -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/botany) "nYw" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "nYA" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -19124,23 +22754,28 @@ /obj/effect/decal/cleanable/blood/xeno{ icon_state = "xgib3" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "oan" = ( /obj/item/trash/semki, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "oaI" = ( /obj/structure/barricade/wooden{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "oaX" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/supply_kit, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "obz" = ( /obj/structure/machinery/computer/arcade, @@ -19154,11 +22789,15 @@ /area/fiorina/tumor/civres) "obL" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "obT" = ( -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "occ" = ( @@ -19190,7 +22829,7 @@ /area/fiorina/station/park) "ocd" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "ocB" = ( /obj/structure/bed{ @@ -19198,15 +22837,19 @@ }, /obj/item/coin/uranium, /obj/item/bedsheet/green, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "ocJ" = ( /obj/structure/toilet{ dir = 4; pixel_y = 8 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "ocS" = ( @@ -19222,23 +22865,29 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "odg" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "odH" = ( /obj/item/trash/candle, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "odN" = ( /obj/structure/bed/chair{ dir = 8 }, /obj/effect/spawner/random/gun/rifle/midchance, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "odQ" = ( @@ -19247,11 +22896,16 @@ /area/fiorina/station/research_cells) "oem" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "oex" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "oeG" = ( /obj/structure/largecrate/random, @@ -19259,20 +22913,22 @@ /obj/item/device/camera/oldcamera{ pixel_y = 11 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "oeZ" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "ofb" = ( /obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "ofo" = ( /obj/effect/spawner/random/tool, /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "ofq" = ( /turf/closed/shuttle/elevator{ @@ -19283,7 +22939,9 @@ /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "ofw" = ( /obj/structure/machinery/newscaster, @@ -19291,26 +22949,32 @@ /area/fiorina/station/transit_hub) "ofy" = ( /obj/structure/machinery/photocopier, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "ofF" = ( /obj/structure/prop/souto_land/pole, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "ogd" = ( /obj/structure/machinery/lapvend, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "ogo" = ( -/obj/structure/monorail/launchtrack{ - dir = 9 +/obj/structure/monorail{ + dir = 9; + name = "launch track" }, /turf/open/space, /area/fiorina/oob) "ogr" = ( /obj/item/stack/cable_coil/pink, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "ogM" = ( @@ -19321,19 +22985,25 @@ /obj/vehicle/powerloader{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "ohs" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/goggles/lowchance, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "ohF" = ( /obj/structure/platform/kutjevo/smooth, /turf/closed/wall/mineral/bone_resin, /area/fiorina/tumor/ice_lab) "ohI" = ( -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "ohN" = ( /obj/structure/machinery/shower{ @@ -19343,7 +23013,9 @@ /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "ohY" = ( /obj/item/circuitboard/machine/pacman/super, @@ -19354,23 +23026,28 @@ /area/fiorina/tumor/aux_engi) "oii" = ( /obj/structure/inflatable/popped, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "oiu" = ( -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "oiR" = ( /obj/effect/landmark/queen_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "oja" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, @@ -19378,12 +23055,15 @@ /area/fiorina/station/medbay) "ojf" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "ojh" = ( /obj/item/stack/rods/plasteel, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "ojv" = ( @@ -19453,7 +23133,9 @@ /area/fiorina/station/research_cells) "okM" = ( /obj/structure/machinery/vending/dinnerware, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "okT" = ( /obj/item/device/flashlight/lamp/tripod, @@ -19491,12 +23173,16 @@ pixel_y = 8 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "olm" = ( /obj/item/device/binoculars, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "olo" = ( /obj/structure/machinery/disposal, @@ -19514,8 +23200,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz2_maint) "olC" = ( -/turf/open/floor/prison/greenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greencorner" }, /area/fiorina/station/chapel) "olG" = ( @@ -19523,14 +23210,19 @@ /obj/structure/machinery/computer/station_alert{ dir = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "olT" = ( /obj/structure/machinery/computer3/server/rack, /obj/structure/window{ dir = 8 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "omb" = ( /obj/structure/surface/table/woodentable/fancy, @@ -19549,14 +23241,21 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "omw" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/bright_clean2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean2" + }, /area/fiorina/station/park) "omD" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, @@ -19567,7 +23266,10 @@ /area/fiorina/tumor/aux_engi) "omF" = ( /obj/structure/curtain/shower, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "omI" = ( /obj/effect/decal/cleanable/blood/splatter, @@ -19575,7 +23277,9 @@ /area/fiorina/station/transit_hub) "ond" = ( /obj/structure/machinery/computer3/server/rack, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "onw" = ( /obj/structure/bed/chair, @@ -19583,14 +23287,19 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "onz" = ( /obj/structure/machinery/optable{ desc = "This maybe could be used for advanced medical procedures."; name = "Exam Table" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ooF" = ( /obj/structure/machinery/power/apc, @@ -19609,35 +23318,42 @@ /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "opB" = ( /obj/structure/machinery/constructable_frame, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "opC" = ( -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "opV" = ( /obj/structure/bed{ icon_state = "psychbed" }, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "oqn" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/botany) "oqu" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) @@ -19656,31 +23372,39 @@ /area/fiorina/station/chapel) "ors" = ( /obj/item/trash/candle, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "orx" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "orA" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "orG" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "osO" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "osR" = ( /obj/item/trash/semki, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "osX" = ( /obj/structure/cable/heavyduty{ @@ -19690,29 +23414,32 @@ /area/fiorina/tumor/aux_engi) "oti" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "otq" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "otB" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "otG" = ( /obj/item/tool/scythe, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "otP" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "ouH" = ( /obj/structure/surface/table/reinforced/prison, @@ -19723,7 +23450,10 @@ /area/fiorina/tumor/ship) "ouS" = ( /obj/item/stack/rods, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ovc" = ( /obj/structure/sink{ @@ -19736,32 +23466,38 @@ pixel_x = 1; pixel_y = -1 }, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "ovj" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "ovr" = ( /obj/structure/girder/displaced, /turf/open/floor/plating/prison, /area/fiorina/station/security) "ovB" = ( -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/disco) "ovC" = ( /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gib2" }, -/turf/open/floor/prison/whitegreenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "ovE" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/flight_deck) "ovJ" = ( @@ -19778,12 +23514,18 @@ /area/fiorina/station/chapel) "ovZ" = ( /obj/structure/largecrate/supply/floodlights, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "own" = ( /obj/item/stack/sheet/metal/medium_stack, /obj/structure/surface/rack, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "owv" = ( /obj/structure/bed/roller, @@ -19796,13 +23538,17 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "owG" = ( /obj/structure/machinery/landinglight/ds1, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "oxg" = ( /obj/structure/machinery/light/double/blue{ @@ -19810,15 +23556,18 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "oxk" = ( /obj/structure/inflatable/popped/door, /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "oxA" = ( @@ -19834,7 +23583,10 @@ /area/fiorina/tumor/aux_engi) "oxN" = ( /obj/structure/machinery/vending/hydroseeds, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "oxS" = ( /obj/item/paper/crumpled/bloody, @@ -19844,7 +23596,9 @@ /area/fiorina/station/chapel) "oxT" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "oxZ" = ( /obj/structure/inflatable/popped, @@ -19852,8 +23606,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "oyd" = ( @@ -19861,8 +23616,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "oyg" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/security/wardens) "oys" = ( @@ -19871,8 +23627,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/station/chapel) "oyC" = ( @@ -19890,15 +23647,23 @@ dir = 9 }, /obj/structure/largecrate/random, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "ozh" = ( -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "ozH" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "oAa" = ( /obj/structure/surface/table/woodentable/fancy, @@ -19906,20 +23671,25 @@ desc = "Sworn to the shrapnel and the shards therein. So sayeth her command when the first detonation occured."; name = "HEFA Order milita armband" }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "oAm" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "oAv" = ( /obj/item/reagent_container/food/drinks/cans/waterbottle, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "oAH" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "oAL" = ( /obj/effect/decal/cleanable/blood/writing{ @@ -19936,7 +23706,9 @@ pixel_x = -12; pixel_y = 2 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "oAQ" = ( /obj/item/shard{ @@ -19946,19 +23718,20 @@ /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "oAV" = ( /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "oBd" = ( /obj/structure/largecrate/random/barrel/green, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "oBj" = ( /obj/effect/decal/cleanable/blood, @@ -19973,8 +23746,9 @@ /turf/open/ice/noweed, /area/fiorina/station/research_cells) "oBP" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "oCe" = ( @@ -19984,7 +23758,9 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "oDe" = ( /obj/effect/landmark/monkey_spawn, @@ -19993,18 +23769,22 @@ "oDn" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "oDz" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "oDG" = ( /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "oEs" = ( @@ -20025,7 +23805,9 @@ pixel_x = 3; pixel_y = 5 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "oED" = ( /obj/effect/landmark/monkey_spawn, @@ -20035,7 +23817,9 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "oEK" = ( /obj/structure/surface/table/reinforced/prison, @@ -20053,8 +23837,9 @@ /area/fiorina/station/power_ring) "oEY" = ( /obj/item/explosive/grenade/incendiary/molotov, -/turf/open/floor/prison/red{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "red" }, /area/fiorina/station/security) "oFk" = ( @@ -20067,7 +23852,9 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/disco) "oFI" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -20080,7 +23867,9 @@ dir = 1; layer = 2.7 }, -/turf/open/floor/prison/whitegreenangle, +/turf/open/floor/prison{ + icon_state = "whitegreencorner" + }, /area/fiorina/station/medbay) "oGm" = ( /obj/structure/machinery/light/double/blue{ @@ -20088,11 +23877,16 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "oGT" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/station/park) "oGU" = ( /obj/structure/surface/table/woodentable, @@ -20106,17 +23900,24 @@ icon = 'icons/obj/items/policetape.dmi'; icon_state = "engineering_v" }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "oHn" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/pill_bottle/imidazoline, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "oHI" = ( -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/disco) "oHX" = ( /obj/structure/ice/thin/indestructible{ @@ -20140,13 +23941,16 @@ /area/fiorina/tumor/ice_lab) "oIR" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/blueangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "bluecorner" }, /area/fiorina/station/chapel) "oJs" = ( /obj/structure/machinery/photocopier, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "oJL" = ( /obj/structure/machinery/light/small{ @@ -20166,8 +23970,9 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "oJU" = ( @@ -20175,25 +23980,28 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenblue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greenblue" }, /area/fiorina/station/botany) "oJW" = ( /obj/structure/closet/bodybag, /obj/effect/decal/cleanable/blood/gibs/down, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "oKa" = ( /obj/item/trash/used_stasis_bag{ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "oKl" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "oKn" = ( /obj/structure/holohoop{ @@ -20220,16 +24028,18 @@ /area/fiorina/station/civres_blue) "oLd" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "oLB" = ( /obj/structure/platform{ dir = 8 }, -/obj/structure/stairs/perspective/p_stair_ew_half_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_half_cap" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) @@ -20237,20 +24047,23 @@ /obj/structure/barricade/metal/wired{ dir = 1 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "oMz" = ( /obj/structure/inflatable, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "oMR" = ( /obj/item/paper, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "oNx" = ( @@ -20270,8 +24083,9 @@ /area/fiorina/maintenance) "oOK" = ( /obj/item/device/multitool, -/turf/open/floor/prison/greencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "green" }, /area/fiorina/tumor/civres) "oOV" = ( @@ -20284,7 +24098,9 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "oPN" = ( /obj/structure/inflatable/popped/door, @@ -20294,7 +24110,9 @@ /obj/structure/closet/crate/medical, /obj/item/clothing/gloves/latex, /obj/item/clothing/gloves/latex, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "oPZ" = ( /obj/structure/largecrate/random/case/double, @@ -20304,12 +24122,13 @@ /obj/item/prop/almayer/comp_closed{ pixel_x = -1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "oQF" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "oQI" = ( @@ -20322,11 +24141,16 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "oQY" = ( -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "oRb" = ( /obj/item/trash/boonie, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "oRR" = ( /obj/structure/surface/table/reinforced/prison, @@ -20334,28 +24158,38 @@ /area/fiorina/station/park) "oSo" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/lowsec) "oSK" = ( -/obj/structure/monorail/launchtrack{ - dir = 9 +/obj/structure/monorail{ + dir = 9; + name = "launch track" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "oSR" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "oTe" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger{ pixel_y = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "oTl" = ( /obj/effect/decal/cleanable/blood/oil/streak, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "oTz" = ( /obj/structure/barricade/handrail/type_b{ @@ -20371,11 +24205,14 @@ /area/fiorina/station/civres_blue) "oTH" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "oTU" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "oUg" = ( @@ -20391,18 +24228,23 @@ "oVn" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "oVC" = ( -/turf/open/floor/prison/greencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "green" + }, /area/fiorina/tumor/civres) "oWc" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "oWz" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "oWB" = ( /obj/structure/prop/structure_lattice{ @@ -20414,7 +24256,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/research_cells) "oWF" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -20423,22 +24267,27 @@ "oWV" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical/green, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "oWW" = ( -/turf/open/floor/prison/redangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "redcorner" }, /area/fiorina/station/security) "oXE" = ( /obj/item/newspaper, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "oXJ" = ( /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "oXR" = ( /obj/structure/ice/thin/indestructible{ @@ -20462,28 +24311,41 @@ dir = 1; pixel_y = -1 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "oYm" = ( /obj/item/ammo_casing{ icon_state = "casing_5" }, /obj/item/clothing/suit/armor/vest/security, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "oYH" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "oYM" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "oYX" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "oZc" = ( -/turf/open/floor/prison/darkyellow2angle, +/turf/open/floor/prison{ + icon_state = "darkyellowcorners2" + }, /area/fiorina/station/flight_deck) "oZy" = ( /obj/structure/platform{ @@ -20506,7 +24368,9 @@ /obj/structure/machinery/door/window/eastright{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "pab" = ( /obj/item/tool/weldpack{ @@ -20527,30 +24391,37 @@ "pan" = ( /obj/item/reagent_container/food/snacks/meat, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "pat" = ( /obj/item/clothing/accessory/armband/cargo{ desc = "Sworn to the shrapnel and the shards therein. So sayeth her command when the first detonation occured."; name = "HEFA Order milita armband" }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/chapel) "pax" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "paQ" = ( /obj/structure/platform{ dir = 4 }, /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "pbp" = ( @@ -20561,18 +24432,19 @@ /area/fiorina/station/telecomm/lz1_cargo) "pbC" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "pbF" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "pbS" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/surgical_tray/empty, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "pbV" = ( /obj/structure/platform/kutjevo/smooth{ @@ -20593,8 +24465,9 @@ pixel_x = 1; pixel_y = 3 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "pcl" = ( @@ -20602,14 +24475,19 @@ dir = 1; pixel_y = -1 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "pcu" = ( /turf/open/floor/almayer_hull, /area/fiorina/oob) "pcD" = ( /obj/structure/bookcase/manuals/engineering, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "pcK" = ( /obj/structure/surface/rack, @@ -20618,7 +24496,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/chapel) "pdf" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, @@ -20628,14 +24508,16 @@ /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "pdw" = ( /obj/item/stack/rods, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "pdB" = ( @@ -20649,7 +24531,9 @@ /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "peh" = ( /obj/structure/platform_decoration{ @@ -20658,35 +24542,45 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "pes" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "peY" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "pfi" = ( -/obj/structure/monorail/launchtrack{ - dir = 6 +/obj/structure/monorail{ + dir = 6; + name = "launch track" }, /turf/open/space, /area/fiorina/oob) "pfE" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "pfW" = ( /obj/item/trash/cigbutt/cigarbutt, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "pgV" = ( /obj/item/book/manual/atmospipes, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "phe" = ( @@ -20695,27 +24589,33 @@ /area/fiorina/maintenance) "phg" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "phz" = ( /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "pie" = ( -/turf/open/floor/prison/platingdmg3, +/turf/open/floor/prison{ + icon_state = "platingdmg3" + }, /area/fiorina/station/transit_hub) "pip" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "piy" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "piL" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "pjT" = ( @@ -20728,26 +24628,29 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "pkc" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/dropper, /obj/item/attachable/bipod, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "pkp" = ( /obj/item/stack/cable_coil/cut, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "pkG" = ( /obj/item/stool, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "pkM" = ( @@ -20756,14 +24659,16 @@ /area/fiorina/station/medbay) "plc" = ( /obj/structure/machinery/computer/arcade, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "plr" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "plu" = ( /obj/item/device/flashlight/lamp/tripod, @@ -20777,38 +24682,51 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "pmo" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "pmy" = ( /obj/item/device/t_scanner, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "pmM" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "pnc" = ( /obj/structure/largecrate/random/case/double, /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottom" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "pnv" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/greenbluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "greenblue" + }, /area/fiorina/station/botany) "pnA" = ( /obj/item/toy/handcard/uno_reverse_blue, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "pnS" = ( /obj/structure/surface/table/reinforced/prison, @@ -20816,21 +24734,25 @@ /area/fiorina/tumor/servers) "poo" = ( /obj/item/tool/crowbar/red, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "poD" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 9 +/obj/structure/stairs/perspective{ + dir = 9; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "ppb" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "ppG" = ( /obj/item/stack/rods/plasteel, @@ -20847,7 +24769,9 @@ /obj/item/storage/donut_box{ pixel_y = 6 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "ppO" = ( /obj/structure/machinery/light/double/blue{ @@ -20855,8 +24779,9 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "ppX" = ( @@ -20875,8 +24800,9 @@ pixel_y = 2 }, /obj/item/storage/pouch/tools/full, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "pqq" = ( @@ -20886,7 +24812,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "pqz" = ( /obj/item/clothing/suit/storage/labcoat, @@ -20902,7 +24830,9 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "pqO" = ( /turf/closed/shuttle/ert{ @@ -20918,17 +24848,22 @@ /area/fiorina/tumor/ship) "pri" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "pry" = ( /obj/structure/prop/resin_prop{ icon_state = "coolanttank" }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "prP" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "pso" = ( @@ -20941,8 +24876,9 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "psO" = ( @@ -20954,19 +24890,26 @@ pixel_x = -16; pixel_y = 12 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "pte" = ( /obj/structure/extinguisher_cabinet, /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/station/power_ring) "pty" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/greenfull_2, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "ptV" = ( /obj/vehicle/train/cargo/trolley, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "ptZ" = ( /obj/structure/surface/table/reinforced/prison, @@ -20974,7 +24917,7 @@ pixel_y = 9 }, /obj/item/storage/pill_bottle/kelotane/skillless, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "puw" = ( /obj/effect/decal/cleanable/blood/drip, @@ -20987,7 +24930,10 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "puE" = ( /turf/open/floor/plating/prison, @@ -20999,19 +24945,27 @@ }, /area/fiorina/oob) "pvT" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, -/turf/open/floor/prison/floor_plate, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "pwg" = ( /obj/structure/platform/stair_cut/alt, -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "pwi" = ( /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "pwL" = ( /obj/item/stack/tile/plasteel{ @@ -21022,11 +24976,15 @@ /area/fiorina/tumor/civres) "pwN" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "pxa" = ( /obj/item/circuitboard/machine/rdserver, -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/tumor/servers) "pxk" = ( /obj/structure/closet/cabinet, @@ -21037,29 +24995,37 @@ /area/fiorina/station/civres_blue) "pxu" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "pxI" = ( /obj/item/reagent_container/food/snacks/eat_bar, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "pxR" = ( /obj/structure/closet/crate/trashcart, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "pya" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "pyv" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "pyK" = ( /obj/structure/machinery/door/airlock/multi_tile/elevator/freight, @@ -21074,7 +25040,10 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "pzh" = ( /obj/item/toy/beach_ball, @@ -21085,8 +25054,9 @@ /area/fiorina/station/park) "pzG" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "pzN" = ( @@ -21095,25 +25065,32 @@ pixel_y = 18 }, /obj/item/stool, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "pzQ" = ( /obj/item/paper, /obj/structure/inflatable/door, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "pzV" = ( /obj/item/ammo_box/magazine/M16, /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "pAe" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "pAt" = ( /obj/effect/decal{ @@ -21125,8 +25102,9 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "pAB" = ( @@ -21135,17 +25113,23 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "pAN" = ( /obj/structure/machinery/landinglight/ds1{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "pAO" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -21153,11 +25137,16 @@ "pBg" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/electrical, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "pBn" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "pBq" = ( /obj/structure/largecrate/random/barrel/white, @@ -21193,17 +25182,20 @@ /area/fiorina/tumor/ice_lab) "pCF" = ( /obj/structure/lz_sign/prison_sign, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "pCN" = ( /obj/structure/toilet{ dir = 1 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "pCS" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "pCX" = ( /obj/item/stack/sheet/metal, @@ -21211,23 +25203,28 @@ /area/fiorina/tumor/servers) "pCZ" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "pDg" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/floor/plating/prison, /area/fiorina/station/botany) "pDH" = ( /obj/effect/decal/cleanable/blood, /obj/effect/spawner/random/gun/rifle/highchance, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "pDV" = ( /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "pEe" = ( @@ -21235,13 +25232,15 @@ /obj/item/reagent_container/food/drinks/coffee{ pixel_y = 13 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "pEw" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "pEL" = ( @@ -21251,11 +25250,15 @@ pixel_y = 21 }, /obj/effect/spawner/random/gun/smg/lowchance, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "pER" = ( /obj/structure/closet/secure_closet/engineering_materials, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "pEY" = ( /obj/structure/barricade/sandbags{ @@ -21267,14 +25270,19 @@ icon_state = "sandbag_0"; pixel_y = -14 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "pFg" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/reagent_container/food/snacks/wrapped/barcardine, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "pFi" = ( /obj/structure/platform_decoration{ @@ -21303,7 +25311,9 @@ /area/fiorina/tumor/ice_lab) "pFY" = ( /obj/structure/largecrate/supply/supplies/mre, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "pGf" = ( /obj/structure/platform{ @@ -21311,17 +25321,24 @@ }, /obj/item/prop/almayer/handheld1, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "pGg" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "pGi" = ( -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_tram) "pGv" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/lz/near_lzII) "pGH" = ( /turf/closed/shuttle/ert{ @@ -21338,7 +25355,9 @@ /area/fiorina/station/park) "pHc" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "pHh" = ( /obj/structure/ice/thin/indestructible{ @@ -21353,8 +25372,9 @@ /turf/open/ice/noweed, /area/fiorina/tumor/ice_lab) "pHu" = ( -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "pIi" = ( @@ -21362,13 +25382,16 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "pIo" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/chapel) "pIs" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -21391,25 +25414,30 @@ /area/fiorina/station/park) "pIK" = ( /obj/structure/platform, -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "pIX" = ( /obj/structure/inflatable/door, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "pJa" = ( /obj/structure/bed/chair/office/light{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "pJo" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "pJK" = ( @@ -21420,7 +25448,10 @@ "pKd" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ashtray/plastic, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "pKh" = ( /obj/item/stool{ @@ -21431,13 +25462,17 @@ icon_state = "poster1"; pixel_y = 32 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "pKz" = ( /obj/structure/largecrate/random/barrel/blue, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "pKJ" = ( /obj/structure/flora/grass/tallgrass/jungle/corner, @@ -21460,11 +25495,16 @@ /area/fiorina/station/civres_blue) "pLh" = ( /obj/structure/bed/sofa/vert/grey/bot, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/transit_hub) "pLk" = ( /obj/structure/machinery/door/airlock/prison/horizontal, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "pLQ" = ( /obj/effect/decal/cleanable/blood/oil/streak, @@ -21483,7 +25523,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "pNj" = ( /obj/structure/bookcase, @@ -21497,27 +25539,34 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "pNV" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "pOd" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "pOm" = ( /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "pON" = ( /obj/structure/closet, -/obj/item/storage/backpack/clown, -/obj/item/toy/bikehorn, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "pPb" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/oob) "pPd" = ( /obj/structure/prop/resin_prop{ @@ -21527,7 +25576,7 @@ /area/fiorina/tumor/ice_lab) "pPf" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "pPG" = ( /obj/structure/disposalpipe/segment{ @@ -21547,8 +25596,9 @@ /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "pQb" = ( @@ -21556,33 +25606,44 @@ /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "pQh" = ( /obj/item/trash/liquidfood, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "pQq" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "pQu" = ( /obj/structure/holohoop{ dir = 1 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "pQD" = ( /obj/structure/window/reinforced{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "pRn" = ( /obj/item/paper/crumpled, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "pRG" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -21600,7 +25661,10 @@ pixel_x = -8 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "pSJ" = ( /obj/effect/landmark/corpsespawner/pmc, @@ -21618,7 +25682,9 @@ /obj/structure/toilet{ dir = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "pTR" = ( /obj/structure/machinery/light/double/blue{ @@ -21642,16 +25708,18 @@ /obj/structure/sign/nosmoking_1{ pixel_y = 30 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "pVq" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/research_cells) "pVv" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "pVw" = ( /obj/structure/mirror{ @@ -21661,7 +25729,10 @@ dir = 8; pixel_x = -12 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "pVR" = ( /obj/structure/surface/table/woodentable/fancy, @@ -21676,7 +25747,9 @@ /obj/item/storage/beer_pack{ pixel_y = 7 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "pWp" = ( /turf/closed/shuttle/ert{ @@ -21685,7 +25758,7 @@ /area/fiorina/tumor/ship) "pWH" = ( /obj/item/clipboard, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "pWO" = ( /obj/item/stack/rods, @@ -21696,7 +25769,7 @@ /area/fiorina/tumor/aux_engi) "pXj" = ( /obj/item/tool/wet_sign, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "pXH" = ( /obj/item/device/flashlight/lamp/tripod, @@ -21708,7 +25781,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "pXY" = ( /obj/structure/bookcase{ @@ -21724,30 +25797,39 @@ /area/fiorina/station/chapel) "pYh" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "pYp" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "pYI" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/storage/bible/hefa, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "pYO" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/darkyellow2angle, +/turf/open/floor/prison{ + icon_state = "darkyellowcorners2" + }, /area/fiorina/station/telecomm/lz1_cargo) "pYW" = ( /obj/item/tool/weldingtool/hugetank, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "pZb" = ( -/turf/open/floor/prison/yellowangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellowcorner" }, /area/fiorina/station/lowsec) "pZm" = ( @@ -21766,7 +25848,9 @@ /area/fiorina/oob) "qam" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "qaO" = ( /obj/structure/barricade/handrail/type_b{ @@ -21794,18 +25878,25 @@ /obj/structure/bed/chair/office/dark{ dir = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qbD" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/greenfull_2, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "qbT" = ( /obj/item/trash/used_stasis_bag{ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "qbW" = ( /obj/item/tool/candle{ @@ -21822,26 +25913,29 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "qcv" = ( -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/lz/near_lzII) "qcK" = ( /obj/effect/landmark/railgun_camera_pos, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "qcM" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/skills{ dir = 4 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "qcT" = ( /obj/structure/barricade/metal/wired{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "qdd" = ( /obj/structure/grille, @@ -21850,7 +25944,9 @@ /area/fiorina/oob) "qdB" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "qdJ" = ( /obj/structure/window/framed/prison/reinforced, @@ -21860,13 +25956,16 @@ /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security/wardens) "qeu" = ( /obj/structure/toilet{ pixel_y = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "qew" = ( /obj/structure/disposalpipe/segment{ @@ -21878,7 +25977,7 @@ pixel_y = 12 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "qeC" = ( /obj/structure/surface/table/reinforced/prison, @@ -21903,7 +26002,10 @@ }, /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qeX" = ( /obj/structure/surface/table/reinforced/prison{ @@ -21928,17 +26030,24 @@ pixel_x = 12 }, /obj/structure/blocker/invisible_wall, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/oob) "qfI" = ( /obj/structure/bed/chair/office/dark{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qfU" = ( -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "qgd" = ( @@ -21951,7 +26060,9 @@ "qgh" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/book/manual/surgery, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "qgi" = ( /obj/structure/disposalpipe/segment{ @@ -21979,11 +26090,16 @@ pixel_x = -6; pixel_y = 6 }, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/power_ring) "qgA" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qgB" = ( /obj/item/clothing/gloves/rainbow, @@ -21998,33 +26114,37 @@ pixel_y = -1 }, /obj/item/stack/barbed_wire, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qhB" = ( /obj/effect/decal/cleanable/blood, /obj/item/trash/kepler, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "qiq" = ( /obj/item/trash/cigbutt, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "qit" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "qjc" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/park) "qjg" = ( /obj/item/tool/shovel/etool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "qjp" = ( /obj/structure/prop/almayer/computers/mission_planning_system{ @@ -22041,11 +26161,12 @@ pixel_x = 2; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qjC" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -22053,14 +26174,20 @@ "qjY" = ( /obj/item/device/flashlight/lamp/tripod, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "qkf" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; layer = 3.5; pixel_y = 6 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "qkg" = ( /obj/structure/machinery/light/double/blue, @@ -22070,7 +26197,9 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "qks" = ( /obj/structure/surface/table/reinforced/prison, @@ -22079,7 +26208,9 @@ pixel_y = 7 }, /obj/item/tool/pen, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qkN" = ( /obj/structure/surface/table/reinforced/prison, @@ -22091,8 +26222,9 @@ icon_state = "abed" }, /obj/effect/spawner/random/sentry/midchance, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "qlf" = ( @@ -22103,20 +26235,22 @@ /area/fiorina/station/civres_blue) "qmd" = ( /obj/item/storage/toolbox/antag, -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/tumor/civres) "qms" = ( /obj/structure/barricade/deployable{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "qmz" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "qmC" = ( @@ -22132,7 +26266,10 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomright" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qmO" = ( /obj/structure/surface/table/reinforced/prison, @@ -22141,33 +26278,44 @@ pixel_y = 22 }, /obj/item/reagent_container/food/snacks/cheesyfries, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "qmS" = ( /obj/structure/surface/rack, /obj/item/stack/sheet/wood/medium_stack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "qnc" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/power_ring) "qnq" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "qnu" = ( -/turf/open/floor/prison/damaged1, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged1" + }, /area/fiorina/station/disco) "qnB" = ( -/obj/structure/monorail/launchtrack{ - dir = 6 +/obj/structure/monorail{ + dir = 6; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) @@ -22177,17 +26325,21 @@ health = 85; icon_state = "metal_1" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "qnK" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "qnQ" = ( /obj/structure/machinery/vending/snack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "qob" = ( /obj/structure/machinery/light/double/blue{ @@ -22202,7 +26354,9 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "qoG" = ( /obj/item/toy/crayon/rainbow, @@ -22215,12 +26369,16 @@ /obj/structure/pipes/standard/simple/visible{ dir = 9 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "qpa" = ( /obj/structure/largecrate/supply/supplies/tables_racks, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "qpw" = ( @@ -22228,7 +26386,7 @@ dir = 1; layer = 3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "qpB" = ( /obj/item/stack/cable_coil/blue, @@ -22249,32 +26407,40 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "qqu" = ( /obj/structure/surface/rack, /obj/item/poster, /obj/item/poster, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "qqJ" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qqM" = ( /obj/structure/closet/emcloset, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "qqX" = ( /obj/item/disk, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "qqZ" = ( -/turf/open/floor/prison/whitepurpleangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurplecorner" }, /area/fiorina/station/research_cells) "qrz" = ( @@ -22291,21 +26457,28 @@ /area/fiorina/maintenance) "qtq" = ( /obj/effect/landmark/yautja_teleport, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "qty" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "qtX" = ( /obj/structure/blocker/invisible_wall, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/oob) "quk" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "qun" = ( @@ -22321,7 +26494,10 @@ /area/fiorina/station/park) "quy" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/darkpurple2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "quU" = ( /obj/structure/filingcabinet{ @@ -22334,7 +26510,9 @@ pixel_x = -7; pixel_y = 11 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qva" = ( /obj/structure/surface/table/reinforced/prison, @@ -22346,11 +26524,15 @@ /area/fiorina/station/research_cells) "qvk" = ( /obj/structure/largecrate/random/barrel/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "qvn" = ( -/obj/structure/monorail/launchtrack{ - dir = 10 +/obj/structure/monorail{ + dir = 10; + name = "launch track" }, /turf/open/space, /area/fiorina/oob) @@ -22358,25 +26540,34 @@ /obj/structure/barricade/metal/wired{ dir = 8 }, -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/disco) "qvL" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/power_ring) "qwh" = ( /obj/structure/barricade/wooden{ dir = 4 }, /obj/structure/barricade/wooden, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "qwl" = ( /obj/item/clothing/mask/cigarette/cigar/cohiba, /obj/structure/surface/table/woodentable/fancy, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "qws" = ( /obj/effect/decal/hefa_cult_decals/d32{ @@ -22389,8 +26580,9 @@ /area/fiorina/maintenance) "qwy" = ( /obj/item/weapon/baton/cattleprod, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "qwJ" = ( @@ -22399,25 +26591,32 @@ pixel_x = 5; pixel_y = 22 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "qwU" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrowncorners2" }, /area/fiorina/maintenance) "qxB" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "qxL" = ( /obj/item/toy/deck, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qxN" = ( /obj/structure/barricade/sandbags{ @@ -22429,27 +26628,34 @@ /area/fiorina/lz/near_lzII) "qyc" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "qyi" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "qyk" = ( /obj/structure/machinery/power/port_gen/pacman, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "qyB" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "qyX" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "qzl" = ( /obj/structure/machinery/shower{ @@ -22458,52 +26664,69 @@ /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "qzn" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "qzy" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/aux_engi) "qzB" = ( /obj/item/reagent_container/food/condiment/peppermill{ pixel_x = -5; pixel_y = -11 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "qzI" = ( /obj/item/tool/crowbar/red, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "qzS" = ( /obj/structure/largecrate/random/barrel/red, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "qzW" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "qzX" = ( /obj/structure/machinery/photocopier{ pixel_y = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qBh" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/toy/handcard/aceofspades, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "qBk" = ( /obj/item/reagent_container/food/drinks/cans/aspen, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "qBs" = ( /obj/item/tool/mop{ @@ -22513,7 +26736,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qBB" = ( /obj/item/prop/helmetgarb/spacejam_tickets{ @@ -22535,14 +26758,19 @@ /obj/structure/inflatable/popped/door, /obj/item/stack/barbed_wire, /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "qBQ" = ( /obj/item/storage/secure/briefcase{ pixel_x = 9; pixel_y = 18 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "qCa" = ( /obj/structure/prop/resin_prop{ @@ -22554,14 +26782,19 @@ /area/fiorina/tumor/aux_engi) "qCs" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "qCw" = ( /obj/structure/inflatable/popped/door, /obj/item/ammo_casing{ icon_state = "casing_1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "qCW" = ( /turf/closed/shuttle/elevator{ @@ -22569,13 +26802,16 @@ }, /area/fiorina/tumor/aux_engi) "qDc" = ( -/obj/structure/monorail/launchtrack{ - dir = 9 +/obj/structure/monorail{ + dir = 9; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "qDd" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/flight_deck) @@ -22584,7 +26820,9 @@ pixel_x = -5; pixel_y = -6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "qDn" = ( /obj/item/stool, @@ -22599,11 +26837,11 @@ /area/fiorina/maintenance) "qDo" = ( /obj/structure/janitorialcart, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "qDy" = ( /obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "qDD" = ( /obj/structure/machinery/light/double/blue{ @@ -22612,17 +26850,24 @@ pixel_y = -3 }, /obj/structure/largecrate/random/case, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "qDG" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor_plate, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "qDH" = ( /obj/structure/bookcase{ icon_state = "book-5" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qDI" = ( /obj/structure/toilet{ @@ -22630,8 +26875,9 @@ pixel_y = 8 }, /obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "qDY" = ( @@ -22639,17 +26885,23 @@ icon_state = "sandbag_0"; pixel_y = -14 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "qEn" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitepurple{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "qFg" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "qFi" = ( /obj/structure/machinery/light/small{ @@ -22669,19 +26921,22 @@ /turf/open/space/basic, /area/fiorina/oob) "qFQ" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/barricade/handrail/type_b{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "qGl" = ( /obj/structure/largecrate/random/barrel/yellow, /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "qGn" = ( @@ -22697,17 +26952,15 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, -/area/fiorina/tumor/aux_engi) -"qHh" = ( -/obj/structure/machinery/light/double/blue{ - dir = 1; - pixel_y = 21 +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/area/fiorina/tumor/aux_engi) +"qHC" = ( +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/fiorina/station/disco) +/area/fiorina/lz/near_lzI) "qHG" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ pixel_y = 25 @@ -22716,11 +26969,13 @@ /area/fiorina/tumor/ship) "qHK" = ( /obj/item/gift, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "qHZ" = ( /obj/item/tool/warning_cone, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "qIk" = ( /obj/structure/platform{ @@ -22733,7 +26988,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "qIq" = ( /obj/structure/largecrate/random/case/small, @@ -22741,18 +26998,24 @@ /area/fiorina/maintenance) "qIy" = ( /obj/item/tool/match, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qIO" = ( /obj/item/stock_parts/manipulator/pico, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "qIZ" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "qJf" = ( /obj/structure/surface/table/reinforced/prison, @@ -22785,8 +27048,9 @@ /obj/structure/bed/chair/comfy{ dir = 8 }, -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "qJK" = ( @@ -22810,14 +27074,16 @@ /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/spray/pepper, /obj/item/clothing/glasses/sunglasses/sechud, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "qKF" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qKT" = ( /obj/item/stack/rods/plasteel, @@ -22827,11 +27093,13 @@ /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "qLz" = ( /obj/structure/machinery/autolathe/medilathe/full, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "qLI" = ( /obj/item/storage/toolbox, @@ -22846,7 +27114,7 @@ /area/fiorina/station/civres_blue) "qLJ" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "qLN" = ( /obj/item/storage/toolbox/mechanical/green, @@ -22858,14 +27126,17 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/power_ring) "qNm" = ( /obj/structure/closet/secure_closet/engineering_materials, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "qNv" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -22878,19 +27149,29 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "qNS" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "qNW" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/station/park) "qOd" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/yellowfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "qOk" = ( /obj/structure/platform/kutjevo/smooth{ @@ -22905,12 +27186,14 @@ "qOy" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer3/laptop/secure_data, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "qOG" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/cups, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "qON" = ( /obj/item/stack/cable_coil/cyan, @@ -22935,7 +27218,9 @@ /obj/structure/window/reinforced, /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "qPb" = ( /turf/open/organic/grass{ @@ -22948,23 +27233,29 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/maintenance) "qPC" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/park) "qPG" = ( /obj/structure/machinery/washing_machine, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "qPT" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "qQf" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "qQj" = ( @@ -22991,12 +27282,12 @@ /area/fiorina/station/chapel) "qQO" = ( /obj/item/tool/wet_sign, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "qQU" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/prop/helmetgarb/raincover, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "qRg" = ( /obj/structure/sign/prop3{ @@ -23018,15 +27309,19 @@ /area/fiorina/station/lowsec) "qRD" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "qSg" = ( /obj/structure/machinery/bot/medbot{ name = "Dr. O" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "qSv" = ( /obj/structure/machinery/vending/snack/packaged, @@ -23035,11 +27330,14 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "qTa" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/security) "qTp" = ( @@ -23053,11 +27351,17 @@ pixel_x = 5; pixel_y = 25 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "qTr" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "qTy" = ( /obj/structure/reagent_dispensers/water_cooler{ @@ -23072,7 +27376,9 @@ pixel_x = 1; pixel_y = 8 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "qUe" = ( /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, @@ -23083,7 +27389,7 @@ health = 250; icon_state = "metal_1" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "qUo" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -23110,21 +27416,28 @@ name = "xeno_hive_spawn" }, /obj/effect/landmark/ert_spawns/groundside_xeno, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "qUx" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "qUQ" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "qUZ" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, /obj/structure/machinery/light/double/blue{ @@ -23137,7 +27450,9 @@ desc = "Prison meal vendor, containing preprepared meals fit for the dregs of society."; name = "\improper Fiorina Green Block Canteen Vendor" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "qVq" = ( /obj/item/ammo_box/magazine/misc/flares{ @@ -23145,7 +27460,10 @@ pixel_y = 16 }, /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "qVt" = ( /obj/structure/machinery/light/double/blue{ @@ -23153,7 +27471,10 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_tram) "qVD" = ( /obj/structure/platform, @@ -23163,31 +27484,38 @@ /obj/structure/platform_decoration{ dir = 10 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "qVF" = ( /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "qWa" = ( /obj/effect/decal/cleanable/blood, /obj/effect/spawner/random/gun/rifle/lowchance, -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "qWf" = ( /obj/item/trash/popcorn, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "qWi" = ( /obj/structure/largecrate/guns/merc, /obj/item/toy/deck/uno, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "qWw" = ( /obj/structure/prop/souto_land/streamer{ @@ -23198,19 +27526,25 @@ dir = 1 }, /obj/effect/landmark/corpsespawner/security/liaison, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "qWB" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "qXl" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/turf/open/floor/prison/floor_plate, /area/fiorina/station/security) "qXM" = ( /obj/item/stack/tile/plasteel, @@ -23218,29 +27552,33 @@ /area/fiorina/tumor/civres) "qXP" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "qYc" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "qYq" = ( /obj/effect/decal/cleanable/blood{ desc = "Watch your step."; icon_state = "gib6" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "qZa" = ( /obj/item/shard{ icon_state = "large"; name = "ice shard" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "qZh" = ( /obj/structure/platform_decoration, @@ -23248,14 +27586,19 @@ icon_state = "medium"; name = "ice shard" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "qZx" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; layer = 3.5; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "qZL" = ( /obj/structure/machinery/computer/arcade, @@ -23264,12 +27607,13 @@ pixel_x = 12; pixel_y = 25 }, -/obj/structure/flora/pottedplant/pottedplant_22{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; layer = 2.8; pixel_x = 15; pixel_y = 5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "qZW" = ( /obj/structure/surface/table/reinforced/prison, @@ -23277,7 +27621,9 @@ pixel_x = 5; pixel_y = 2 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "rar" = ( /obj/structure/window/reinforced{ @@ -23286,7 +27632,9 @@ /obj/structure/window/reinforced, /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "raD" = ( /obj/structure/machinery/light/double/blue{ @@ -23294,8 +27642,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/whitepurple{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "raF" = ( @@ -23304,18 +27653,25 @@ name = "certified powerloader operator card"; registered_name = "John Forklift" }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "rbD" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/cameras{ dir = 8 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "rbE" = ( /obj/structure/reagent_dispensers/water_cooler/stacks, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rbK" = ( /obj/effect/spawner/random/tool, @@ -23323,40 +27679,47 @@ /area/fiorina/station/power_ring) "rcu" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/redfull, -/area/fiorina/station/security) -"rds" = ( -/obj/structure/inflatable, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + icon_state = "redfull" }, -/area/fiorina/station/lowsec) +/area/fiorina/station/security) "rdS" = ( /obj/structure/machinery/light/double/blue{ dir = 8; pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "rdX" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight/lamp/green, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "rev" = ( -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/power_ring) "reO" = ( /obj/structure/platform_decoration{ dir = 4 }, -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "rfa" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "rfd" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited, @@ -23367,27 +27730,31 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "rfq" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "rfD" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitepurple{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "rfG" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/toolbox/mechanical/green, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "rfJ" = ( /obj/structure/surface/table/reinforced/prison, @@ -23395,14 +27762,18 @@ name = "\improper prison food"; pixel_y = 9 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "rfR" = ( /obj/item/shard{ icon_state = "medium"; name = "ice shard" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "rgg" = ( /obj/item/tool/candle{ @@ -23412,45 +27783,60 @@ /area/fiorina/station/chapel) "rgD" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "rhF" = ( /obj/item/stack/sheet/metal/medium_stack, /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "rhK" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "rib" = ( /obj/item/trash/cigbutt/cigarbutt, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "ril" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/fancy/cigarettes/emeraldgreen, /obj/item/tool/lighter, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "riu" = ( /obj/structure/reagent_dispensers/water_cooler{ pixel_x = 1; pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "rja" = ( /turf/closed/wall/prison, /area/fiorina/station/civres_blue) "rjn" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "rjz" = ( -/obj/structure/stairs/perspective/p_stair_full, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /obj/effect/decal/cleanable/blood{ icon_state = "gibarm_flesh" }, @@ -23462,8 +27848,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/cell_stripe{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "cell_stripe" }, /area/fiorina/station/medbay) "rjM" = ( @@ -23472,7 +27859,9 @@ name = "Lung Transplants for Dummies"; pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "rkb" = ( /obj/structure/closet/secure_closet/engineering_welding, @@ -23482,19 +27871,21 @@ pixel_y = 13 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "rkh" = ( /obj/structure/closet/bodybag, /obj/effect/decal/cleanable/blood/gibs/up, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "rkr" = ( -/turf/open/floor/prison/greenbluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "greenblue" }, /area/fiorina/station/botany) "rkB" = ( @@ -23510,7 +27901,10 @@ /obj/structure/surface/table/woodentable/fancy, /obj/item/stack/rods, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/chapel) "rkR" = ( /obj/item/clothing/glasses/science, @@ -23528,17 +27922,24 @@ /obj/structure/platform_decoration{ dir = 10 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/chapel) "rmb" = ( /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "rmg" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "rmh" = ( /obj/structure/surface/rack, @@ -23550,14 +27951,17 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "rmA" = ( -/turf/open/floor/prison/platingdmg3, +/turf/open/floor/prison{ + icon_state = "platingdmg3" + }, /area/fiorina/station/security) "rmG" = ( /obj/item/ammo_casing{ icon_state = "casing_5" }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "rmI" = ( @@ -23567,8 +27971,9 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomleft" }, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "rmS" = ( @@ -23580,8 +27985,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "rna" = ( @@ -23595,8 +28001,9 @@ /turf/open/floor/wood, /area/fiorina/station/civres_blue) "rol" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) @@ -23605,20 +28012,24 @@ dir = 8; pixel_x = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "ror" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "rov" = ( /obj/effect/decal/cleanable/blood{ icon_state = "gib6" }, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "rox" = ( @@ -23627,42 +28038,55 @@ dir = 4; layer = 3.5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "roC" = ( /obj/item/tool/weldpack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "roN" = ( /obj/structure/closet/crate/medical, /obj/item/tool/surgery/bonegel, /obj/item/tool/surgery/bonegel, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "roS" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "roY" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "rpe" = ( /obj/structure/surface/rack, /obj/item/tool/crowbar/red, /obj/item/storage/pill_bottle/inaprovaline/skillless, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "rqL" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "rrb" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "rrj" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "rru" = ( /obj/effect/spawner/random/goggles/midchance, @@ -23672,8 +28096,9 @@ /area/fiorina/station/research_cells) "rrP" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/station/chapel) "rsh" = ( @@ -23681,7 +28106,9 @@ /obj/item/clothing/mask/cigarette/weed{ icon_state = "ucigoff" }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "rsp" = ( /obj/item/toy/crayon/purple, @@ -23690,7 +28117,10 @@ "rss" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/coffee, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rsz" = ( /obj/structure/prop/structure_lattice{ @@ -23702,20 +28132,24 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "rsE" = ( /obj/structure/sink{ dir = 8; pixel_x = -12 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "rsW" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "rth" = ( @@ -23724,41 +28158,51 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "rtM" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "rue" = ( -/obj/structure/monorail/launchtrack{ - dir = 10 +/obj/structure/monorail{ + dir = 10; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "ruv" = ( -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/station/chapel) "ruy" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "ruB" = ( /obj/effect/decal/medical_decals{ dir = 4; icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ruD" = ( /turf/open/floor/wood, /area/fiorina/oob) "ruE" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "ruJ" = ( /obj/structure/disposalpipe/segment{ @@ -23776,11 +28220,15 @@ dir = 1; icon_state = "human2" }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "rvu" = ( /obj/structure/toilet, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "rvR" = ( /obj/structure/surface/table/reinforced/prison, @@ -23792,11 +28240,15 @@ pixel_x = 9; pixel_y = 2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "rvW" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/power_ring) "rwj" = ( /obj/structure/barricade/plasteel, @@ -23806,7 +28258,9 @@ /area/fiorina/station/park) "rwt" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "rwu" = ( /obj/structure/bed/chair{ @@ -23825,8 +28279,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "rxr" = ( @@ -23837,7 +28292,7 @@ /area/fiorina/oob) "rxz" = ( /obj/structure/curtain/open/black, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/maintenance) "rym" = ( /obj/structure/inflatable/popped/door, @@ -23845,11 +28300,13 @@ /area/fiorina/station/disco) "ryt" = ( /obj/structure/window/framed/prison/reinforced, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "ryx" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "ryJ" = ( /obj/structure/machinery/door/airlock/prison/horizontal{ @@ -23858,8 +28315,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/lowsec) "ryN" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "rzt" = ( @@ -23868,14 +28326,18 @@ /area/fiorina/station/power_ring) "rzR" = ( /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/blueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "rAa" = ( /obj/item/pamphlet/skill/powerloader, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rAe" = ( /obj/structure/platform/kutjevo/smooth, @@ -23883,13 +28345,14 @@ /turf/open/space, /area/fiorina/oob) "rAk" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "rAm" = ( /obj/structure/surface/rack, @@ -23898,7 +28361,9 @@ /area/fiorina/station/telecomm/lz2_maint) "rAt" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "rAK" = ( /obj/structure/barricade/metal{ @@ -23918,14 +28383,17 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "rAW" = ( /obj/structure/largecrate/random, /obj/structure/barricade/wooden, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "rBa" = ( /obj/structure/surface/table/reinforced/prison, @@ -23933,7 +28401,9 @@ dir = 8 }, /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "rBr" = ( /obj/item/device/flashlight/lamp/tripod, @@ -23955,8 +28425,9 @@ /area/fiorina/station/flight_deck) "rBR" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzI) "rCq" = ( @@ -23982,28 +28453,39 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "rCO" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, /area/fiorina/tumor/servers) "rDl" = ( /obj/item/trash/hotdog, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "rDm" = ( /obj/item/tool/crowbar/red, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rEe" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "rEg" = ( /obj/structure/sink{ @@ -24011,21 +28493,28 @@ pixel_x = 12 }, /obj/item/storage/fancy/cigarettes/blackpack, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "rEm" = ( /obj/item/tool/weldingtool/largetank, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "rEH" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/oob) "rFr" = ( /obj/structure/barricade/wooden{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/disco) "rFu" = ( /obj/effect/decal/cleanable/blood/drip, @@ -24037,7 +28526,9 @@ /obj/item/ammo_casing{ icon_state = "casing_7_1" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "rGf" = ( /turf/open/auto_turf/sand/layer1, @@ -24066,19 +28557,26 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "rHd" = ( /obj/item/stock_parts/manipulator/pico, -/turf/open/floor/prison/darkpurple2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "rHj" = ( /obj/structure/surface/table/reinforced/prison{ flipped = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rHr" = ( /obj/effect/alien/weeds/node, @@ -24094,19 +28592,24 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "rIo" = ( -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/chapel) "rIC" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "rIE" = ( /obj/item/stack/rods, @@ -24116,7 +28619,7 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "rIS" = ( /obj/structure/sign/poster{ @@ -24126,10 +28629,15 @@ /area/fiorina/station/medbay) "rIW" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/red, +/turf/open/floor/prison{ + icon_state = "red" + }, /area/fiorina/station/security) "rIX" = ( -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/civres_blue) "rJh" = ( /obj/effect/decal/cleanable/blood, @@ -24142,14 +28650,16 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "rJK" = ( -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/chapel) "rJO" = ( /turf/open/floor/carpet, /area/fiorina/station/security/wardens) "rJT" = ( /obj/item/storage/bag/trash, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "rJZ" = ( /obj/item/stack/cable_coil/green, @@ -24168,36 +28678,42 @@ "rKB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ammo_magazine/rifle/m16, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "rKS" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/darkpurple2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "rKX" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "rKZ" = ( /obj/item/storage/toolbox/electrical, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "rLb" = ( /obj/structure/surface/rack, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "rLC" = ( /obj/structure/window{ dir = 4 }, /obj/item/circuitboard/machine/rdserver, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "rLJ" = ( /obj/structure/largecrate/random/case/double, @@ -24205,27 +28721,40 @@ /area/fiorina/station/chapel) "rLT" = ( /obj/structure/machinery/photocopier, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rMg" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/greenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "rMt" = ( /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "rME" = ( /obj/structure/machinery/bot/medbot, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "rMP" = ( /obj/structure/barricade/metal/wired{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "rMS" = ( /obj/structure/largecrate/random/secure, @@ -24234,7 +28763,10 @@ pixel_x = 10; pixel_y = 1 }, -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "rMY" = ( /obj/structure/machinery/light/small{ @@ -24260,25 +28792,29 @@ "rNp" = ( /obj/item/reagent_container/glass/bucket/mopbucket, /obj/item/tool/mop, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "rNF" = ( /obj/item/stack/sandbags/large_stack, -/turf/open/floor/prison/greencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "green" + }, /area/fiorina/tumor/civres) "rOa" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "rOm" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "rOo" = ( -/obj/structure/monorail/launchtrack{ - dir = 9 +/obj/structure/monorail{ + dir = 9; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) @@ -24289,7 +28825,9 @@ /area/fiorina/maintenance) "rOE" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "rOI" = ( /obj/structure/flora/bush/ausbushes/ausbush{ @@ -24303,17 +28841,22 @@ /obj/structure/closet/crate/trashcart, /obj/item/storage/pill_bottle/kelotane/skillless, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "rPh" = ( -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/ice_lab) "rPu" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "rPI" = ( /obj/structure/surface/table/reinforced/prison, @@ -24348,7 +28891,9 @@ icon_state = "poster11"; pixel_x = -24 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "rPS" = ( /obj/item/device/flashlight/lamp/tripod, @@ -24373,12 +28918,15 @@ pixel_y = 13 }, /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "rQF" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/greenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greencorner" }, /area/fiorina/tumor/aux_engi) "rQK" = ( @@ -24393,15 +28941,18 @@ /obj/structure/machinery/power/terminal{ dir = 8 }, -/turf/open/floor/prison/blueangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "rRb" = ( /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "rRO" = ( /obj/item/ammo_magazine/rifle/m16{ @@ -24411,15 +28962,19 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "rRT" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "rSh" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "rSr" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -24430,11 +28985,14 @@ /area/fiorina/station/research_cells) "rSM" = ( /obj/structure/inflatable/popped, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "rTb" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) @@ -24446,18 +29004,22 @@ /turf/open/floor/carpet, /area/fiorina/station/security/wardens) "rTL" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "rUc" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzI) "rUr" = ( -/obj/structure/monorail/launchtrack{ - dir = 4 +/obj/structure/monorail{ + dir = 4; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) @@ -24467,25 +29029,32 @@ /area/fiorina/tumor/fiberbush) "rUL" = ( /obj/item/stack/cable_coil/green, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "rUT" = ( /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "rUY" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "rVy" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/effect/spawner/random/pills/midchance, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "rVM" = ( @@ -24502,20 +29071,30 @@ /area/fiorina/station/power_ring) "rVS" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "rVZ" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/civres_blue) "rWi" = ( /obj/structure/machinery/vending/sovietsoda, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "rWX" = ( -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/disco) "rWZ" = ( /obj/item/weapon/gun/rifle/m16, @@ -24523,40 +29102,53 @@ dir = 6; icon_state = "casing_5" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "rXz" = ( /obj/structure/pipes/unary/freezer{ icon_state = "freezer_1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "rXT" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "rYC" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 10 +/obj/structure/stairs/perspective{ + dir = 10; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "rYJ" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "rZa" = ( /obj/structure/barricade/metal/wired{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "rZh" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/park) @@ -24567,24 +29159,30 @@ /area/fiorina/station/power_ring) "rZr" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "rZP" = ( /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/tumor/aux_engi) "sad" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "saI" = ( /obj/item/stack/rods, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "saQ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/pill_bottle/inaprovaline/skillless, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "sbf" = ( /obj/effect/landmark/corpsespawner/prisoner, @@ -24595,21 +29193,39 @@ /area/fiorina/station/park) "sbg" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "sbj" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "sbp" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) +"sbM" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" + }, +/area/fiorina/station/disco) "sbQ" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "sbY" = ( /obj/structure/inflatable, @@ -24617,11 +29233,16 @@ /obj/structure/barricade/handrail/type_b{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "scg" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "sct" = ( /obj/structure/closet/crate/delta{ @@ -24629,14 +29250,16 @@ name = "crate" }, /obj/item/ammo_box/magazine/shotgun/buckshot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "scw" = ( /obj/item/storage/beer_pack{ pixel_y = 10 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "scM" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -24646,7 +29269,9 @@ dir = 4 }, /obj/item/storage/briefcase, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "scZ" = ( /obj/structure/platform, @@ -24660,13 +29285,18 @@ /area/fiorina/station/security) "sde" = ( /obj/item/tool/kitchen/utensil/fork, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "sdg" = ( /obj/item/implanter/compressed, /obj/structure/safe, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "sdK" = ( /obj/structure/surface/table/woodentable, @@ -24684,8 +29314,9 @@ }, /area/fiorina/station/civres_blue) "sel" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /turf/open/floor/plating/prison, @@ -24699,7 +29330,9 @@ /obj/item/frame/rack, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "sfi" = ( /obj/structure/platform_decoration{ @@ -24718,7 +29351,10 @@ }, /area/fiorina/station/chapel) "sfw" = ( -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/station/power_ring) "sfW" = ( /obj/structure/platform{ @@ -24728,7 +29364,10 @@ /area/fiorina/station/power_ring) "sgb" = ( /obj/item/ammo_box/magazine/misc/flares/empty, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "sgw" = ( /obj/structure/window_frame/prison, @@ -24744,11 +29383,16 @@ /area/fiorina/station/civres_blue) "shq" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "shC" = ( /obj/structure/machinery/autolathe/full, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "shG" = ( /obj/structure/sink{ @@ -24757,16 +29401,22 @@ }, /obj/structure/surface/table/reinforced/prison, /obj/item/clothing/gloves/latex, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "siz" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "siR" = ( /obj/structure/machinery/shower{ @@ -24776,33 +29426,45 @@ /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/gun/special, /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "sjc" = ( /obj/structure/barricade/sandbags{ dir = 8; icon_state = "sandbag_0" }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "sjl" = ( /obj/item/stack/nanopaste, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "sjn" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" }, -/turf/open/floor/prison/whitegreenfull, /area/fiorina/tumor/ice_lab) "sjw" = ( -/turf/open/floor/prison/whitegreenangle, +/turf/open/floor/prison{ + icon_state = "whitegreencorner" + }, /area/fiorina/station/medbay) "sjx" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "sjR" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -24820,15 +29482,19 @@ /obj/effect/landmark/nightmare{ insert_tag = "repairpanelslz" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "skO" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "slG" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "slM" = ( /obj/structure/closet/crate/trashcart, @@ -24840,23 +29506,32 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "sma" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "smh" = ( /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "smq" = ( /obj/structure/closet/emcloset, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "smv" = ( /obj/item/trash/used_stasis_bag{ @@ -24867,13 +29542,16 @@ /area/fiorina/lz/near_lzI) "smX" = ( /obj/item/stock_parts/matter_bin/super, -/turf/open/floor/prison/darkpurple2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "snp" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "snq" = ( /obj/structure/platform{ @@ -24883,14 +29561,19 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "sns" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "snO" = ( -/turf/open/floor/prison/bluecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "blue" + }, /area/fiorina/station/power_ring) "soc" = ( /obj/effect/decal/cleanable/blood{ @@ -24898,8 +29581,9 @@ icon_state = "gib6" }, /obj/effect/spawner/random/gun/rifle, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "sol" = ( @@ -24909,7 +29593,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "sov" = ( /turf/closed/shuttle/ert{ @@ -24927,8 +29614,9 @@ /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "spl" = ( @@ -24941,14 +29629,15 @@ }, /area/fiorina/station/research_cells) "sqg" = ( -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "sql" = ( /obj/structure/closet/bodybag, /obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "sqx" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -24962,8 +29651,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/park) "sqC" = ( @@ -24977,15 +29667,18 @@ pixel_x = 7; pixel_y = 22 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "srz" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "srI" = ( @@ -25002,7 +29695,9 @@ indestructible = 1; name = "launch bay door" }, -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/oob) "ssJ" = ( @@ -25023,26 +29718,34 @@ /turf/open/floor/plating/prison, /area/fiorina/station/research_cells) "stq" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/disco) "stX" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "suj" = ( /obj/structure/barricade/wooden{ dir = 1 }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "sun" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /obj/structure/platform{ dir = 8 }, @@ -25050,7 +29753,7 @@ /area/fiorina/station/disco) "suB" = ( /obj/structure/dropship_equipment/fulton_system, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "suE" = ( /obj/structure/closet/secure_closet/guncabinet{ @@ -25061,7 +29764,9 @@ /obj/item/reagent_container/glass/bottle/robot/antitoxin, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "svh" = ( /obj/structure/machinery/computer/telecomms/monitor, @@ -25069,13 +29774,14 @@ /area/fiorina/station/medbay) "svF" = ( /obj/structure/blocker/invisible_wall, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/oob) "svG" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "swg" = ( /obj/structure/platform_decoration/kutjevo, @@ -25083,7 +29789,7 @@ /area/fiorina/oob) "swh" = ( /obj/structure/machinery/power/geothermal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "sws" = ( /obj/structure/bed/chair/comfy{ @@ -25093,14 +29799,17 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "syf" = ( /obj/structure/inflatable, /obj/structure/barricade/handrail/type_b{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "syF" = ( /obj/structure/machinery/microwave{ @@ -25109,7 +29818,7 @@ pixel_y = 6 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "syG" = ( /obj/item/tool/wirecutters/clippers, @@ -25141,33 +29850,44 @@ /area/fiorina/station/park) "szQ" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "sAe" = ( /obj/effect/spawner/random/gun/smg, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "sAk" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "sAv" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "sAx" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/effect/spawner/random/goggles/lowchance, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "sAK" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/greenblue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greenblue" }, /area/fiorina/station/botany) "sBl" = ( @@ -25185,11 +29905,16 @@ pixel_y = 12 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "sBr" = ( /obj/item/reagent_container/food/drinks/coffee, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "sBA" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -25203,8 +29928,9 @@ icon_state = "abed" }, /obj/item/card/id/silver/clearance_badge, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "sCj" = ( @@ -25213,21 +29939,31 @@ icon_state = "mwo"; pixel_y = 6 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "sCo" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "sCB" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "sDp" = ( /obj/structure/largecrate/random, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "sDF" = ( /obj/structure/surface/table/reinforced/prison, @@ -25235,7 +29971,9 @@ pixel_y = 7 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "sDL" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -25245,42 +29983,55 @@ /turf/open/floor/plating/prison, /area/fiorina/oob) "sEi" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) +"sED" = ( +/turf/open/floor/prison{ + icon_state = "damaged2" + }, +/area/fiorina/station/disco) "sEO" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/lz/near_lzII) "sFf" = ( /obj/item/tool/crowbar/red, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "sFn" = ( /obj/structure/machinery/door/window/northleft{ dir = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security/wardens) "sFI" = ( /obj/structure/machinery/door/airlock/almayer/generic{ dir = 2; name = "Residential Archives" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "sFN" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/chem_dispenser/soda, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "sGb" = ( /obj/item/trash/used_stasis_bag{ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "sGu" = ( @@ -25290,7 +30041,9 @@ pixel_y = 4 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "sGI" = ( /obj/structure/largecrate/random/case/double, @@ -25300,16 +30053,20 @@ /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "sHw" = ( /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/yellowangle, +/turf/open/floor/prison{ + icon_state = "yellowcorner" + }, /area/fiorina/station/lowsec) "sHH" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "sHO" = ( /obj/structure/platform/kutjevo/smooth{ @@ -25322,7 +30079,10 @@ /area/fiorina/oob) "sHQ" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "sII" = ( /obj/structure/bookcase{ @@ -25337,13 +30097,18 @@ /area/fiorina/lz/near_lzI) "sIQ" = ( /obj/item/stack/tile/plasteel, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "sIT" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "sJc" = ( /obj/structure/machinery/light/double/blue{ @@ -25351,11 +30116,16 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "sJl" = ( /obj/structure/largecrate/random/barrel/white, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "sJu" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -25364,7 +30134,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "sJw" = ( -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/station/chapel) "sJN" = ( /obj/structure/sign/prop3{ @@ -25373,34 +30145,48 @@ /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/lz/near_lzI) "sJT" = ( -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "sKn" = ( /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "sKq" = ( -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/lz/near_lzII) "sKP" = ( /obj/structure/barricade/handrail/type_b{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "sKS" = ( /obj/structure/bed/chair/comfy{ dir = 4 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "sLo" = ( /obj/structure/machinery/landinglight/ds1/delaythree{ dir = 1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "sLx" = ( /obj/structure/disposalpipe/segment{ @@ -25414,7 +30200,9 @@ /area/fiorina/tumor/civres) "sLT" = ( /obj/item/tool/weldingtool/largetank, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "sMj" = ( /obj/structure/largecrate/random/secure, @@ -25423,7 +30211,9 @@ "sMo" = ( /obj/item/clothing/under/marine/ua_riot, /obj/item/weapon/gun/rifle/m16, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "sNb" = ( /obj/item/device/radio, @@ -25433,14 +30223,22 @@ }, /area/fiorina/tumor/fiberbush) "sNd" = ( -/obj/structure/flora/pottedplant/pottedplant_21, -/turf/open/floor/prison/whitegreenfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "sNu" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "sNK" = ( /obj/structure/machinery/light/double/blue{ @@ -25448,7 +30246,7 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "sNN" = ( /obj/structure/platform, @@ -25456,8 +30254,9 @@ /area/fiorina/station/lowsec) "sNT" = ( /obj/effect/spawner/random/gun/pistol/lowchance, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "sOf" = ( @@ -25476,15 +30275,18 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "sOn" = ( -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security/wardens) "sOp" = ( /obj/effect/decal/cleanable/blood{ desc = "Watch your step."; icon_state = "gib6" }, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "sOs" = ( @@ -25495,25 +30297,30 @@ }, /area/fiorina/tumor/ship) "sPk" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "sPC" = ( /obj/item/paper_bin{ pixel_x = 5; pixel_y = 22 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "sQK" = ( /obj/effect/decal/cleanable/blood/splatter{ icon_state = "gibdown1" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "sQL" = ( /obj/structure/platform, @@ -25529,31 +30336,43 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "sRg" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "sRk" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "sRH" = ( /obj/item/pamphlet/engineer, /obj/structure/closet, /obj/item/handcuffs, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/lowsec) "sRV" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "sSJ" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 8; + icon_state = "floor_marked" + }, /area/fiorina/station/lowsec) "sSY" = ( /obj/structure/disposalpipe/segment{ @@ -25567,8 +30386,9 @@ /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/tumor/servers) "sTa" = ( -/turf/open/floor/prison/red{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "red" }, /area/fiorina/station/security) "sTd" = ( @@ -25589,10 +30409,16 @@ icon_state = "S" }, /obj/effect/decal/cleanable/blood/oil/streak, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "sTV" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/power_ring) "sUl" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -25602,7 +30428,9 @@ /area/fiorina/tumor/civres) "sUq" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "sUX" = ( /obj/effect/decal/cleanable/blood/oil, @@ -25621,13 +30449,14 @@ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "sVi" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "sVv" = ( /obj/structure/platform/kutjevo/smooth{ @@ -25641,7 +30470,7 @@ layer = 3.5 }, /obj/item/storage/bag/plasticbag, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "sVy" = ( /obj/structure/barricade/handrail/type_b{ @@ -25649,24 +30478,35 @@ layer = 3.5 }, /obj/item/trash/barcardine, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "sVD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/pamphlet/skill/powerloader, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "sVM" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "sVN" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "sVP" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "sVU" = ( @@ -25680,10 +30520,16 @@ /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "sWF" = ( -/turf/open/floor/prison/damaged2, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged2" + }, /area/fiorina/station/disco) "sXi" = ( /turf/open/floor/corsat{ @@ -25692,7 +30538,9 @@ /area/fiorina/tumor/aux_engi) "sXy" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "sYn" = ( /obj/structure/machinery/light/double/blue, @@ -25707,7 +30555,9 @@ /area/fiorina/oob) "sYM" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "sYP" = ( /obj/item/stack/sheet/metal, @@ -25715,7 +30565,10 @@ /area/fiorina/station/security) "sZr" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tam" = ( /obj/structure/closet/secure_closet/guncabinet{ @@ -25728,7 +30581,9 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "tan" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -25741,7 +30596,9 @@ /area/fiorina/station/park) "tax" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "taX" = ( /obj/structure/prop/structure_lattice{ @@ -25752,7 +30609,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "taY" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -25760,32 +30619,41 @@ /area/fiorina/lz/near_lzI) "tbs" = ( /obj/structure/largecrate/random/secure, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "tbC" = ( -/turf/open/floor/prison/greencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/tumor/aux_engi) "tbZ" = ( /obj/structure/filingcabinet, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "tcl" = ( /obj/structure/largecrate/random/mini/med, -/turf/open/floor/prison/whitegreencorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "tcJ" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/turf/open/floor/prison/floor_plate, /area/fiorina/station/botany) "tcO" = ( -/turf/open/floor/prison/blueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "bluecorner" }, /area/fiorina/station/chapel) "tdb" = ( @@ -25793,32 +30661,37 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "tdo" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "tdA" = ( -/turf/open/floor/prison/redangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "redcorner" }, /area/fiorina/station/power_ring) "tdG" = ( /obj/item/storage/backpack/satchel/lockable, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "tdZ" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "tef" = ( -/obj/structure/flora/pottedplant/pottedplant_22{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; layer = 2.5 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "tel" = ( /turf/closed/wall/mineral/bone_resin, @@ -25835,11 +30708,16 @@ /area/fiorina/station/telecomm/lz1_cargo) "teH" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "teT" = ( /obj/item/paper/crumpled, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tfx" = ( /obj/structure/barricade/wooden{ @@ -25856,14 +30734,18 @@ /area/fiorina/station/civres_blue) "tgc" = ( /obj/item/tool/wet_sign, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "tgv" = ( /obj/structure/machinery/computer/emails{ pixel_y = 6 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "tgB" = ( /obj/structure/barricade/wooden{ @@ -25872,16 +30754,21 @@ /turf/open/floor/plating/prison, /area/fiorina/station/chapel) "the" = ( -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/station/security) "thi" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/tumor/aux_engi) "thU" = ( /obj/structure/prop/almayer/computers/sensor_computer1, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "tih" = ( /obj/item/tool/warning_cone, @@ -25890,20 +30777,21 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "tik" = ( /obj/structure/barricade/handrail/type_b{ layer = 3.5 }, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "tiW" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/chunk, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "tiX" = ( /obj/item/stack/sheet/mineral/plastic, @@ -25911,12 +30799,15 @@ /area/fiorina/station/lowsec) "tjo" = ( /obj/structure/machinery/vending/coffee/simple, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "tjQ" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/green{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "green" }, /area/fiorina/station/chapel) "tjU" = ( @@ -25925,10 +30816,14 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "tke" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/constructable_frame{ icon_state = "box_1" }, @@ -25936,18 +30831,24 @@ /area/fiorina/lz/near_lzI) "tkk" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "tld" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/floor, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "tlp" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/microwave{ pixel_y = 7 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "tlq" = ( /obj/structure/surface/table/reinforced/prison, @@ -25967,7 +30868,10 @@ /area/fiorina/tumor/ship) "tlM" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "tlQ" = ( /obj/effect/decal/cleanable/blood/oil, @@ -25976,7 +30880,9 @@ "tlS" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/mineral/plastic, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "tlV" = ( /obj/structure/machinery/space_heater, @@ -25987,7 +30893,10 @@ /area/fiorina/station/telecomm/lz2_maint) "tmi" = ( /obj/item/device/flashlight, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "tmx" = ( /obj/structure/bed/chair{ @@ -26012,46 +30921,62 @@ /area/fiorina/station/chapel) "tnd" = ( /obj/structure/largecrate/supply/medicine/medkits, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tng" = ( /obj/structure/computerframe, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "tnj" = ( /obj/item/stack/sheet/mineral/plastic, -/turf/open/floor/prison/yellowcorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "tno" = ( /obj/item/stack/sheet/cardboard, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "tnr" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "tnA" = ( /obj/structure/platform, /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "tnH" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "tnP" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/pills/lowchance, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "tob" = ( /obj/structure/machinery/door/airlock/almayer/generic{ @@ -26069,8 +30994,9 @@ /area/fiorina/station/disco) "tov" = ( /obj/effect/spawner/random/gun/smg/midchance, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "toE" = ( @@ -26085,7 +31011,9 @@ /obj/structure/machinery/computer/cameras{ dir = 8 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "tpa" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ @@ -26122,7 +31050,7 @@ pixel_x = 6; pixel_y = 31 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "tpY" = ( /obj/effect/landmark/monkey_spawn, @@ -26130,7 +31058,9 @@ /area/fiorina/station/civres_blue) "tqM" = ( /obj/structure/filingcabinet, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "tqN" = ( /obj/structure/surface/table/reinforced/prison, @@ -26141,11 +31071,15 @@ pixel_x = -2; pixel_y = 10 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "tqQ" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellowcorners2" }, /area/fiorina/lz/near_lzI) "tqR" = ( @@ -26155,8 +31089,9 @@ /obj/effect/decal/medical_decals{ icon_state = "triagedecalleft" }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "trl" = ( @@ -26165,14 +31100,19 @@ /area/fiorina/tumor/ice_lab) "trB" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "trH" = ( /obj/structure/bed/chair{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "trS" = ( /obj/structure/barricade/wooden{ @@ -26183,29 +31123,36 @@ /area/fiorina/station/chapel) "tsi" = ( /obj/structure/barricade/metal/wired, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "tsu" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/power_ring) "tsQ" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "tts" = ( /obj/structure/machinery/landinglight/ds2, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "ttK" = ( /obj/structure/machinery/landinglight/ds2/delaythree, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "tuf" = ( /obj/item/clothing/shoes/jackboots{ @@ -26231,15 +31178,20 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "tur" = ( -/turf/open/floor/prison/whitegreencorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "tuB" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/pen/blue/clicky, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "tuD" = ( /obj/structure/platform{ @@ -26249,7 +31201,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "tuH" = ( /obj/structure/machinery/light/double/blue{ @@ -26259,7 +31211,9 @@ dir = 1; layer = 2.8 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "tuX" = ( /obj/structure/platform{ @@ -26275,7 +31229,9 @@ /area/fiorina/station/power_ring) "tvu" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "tvI" = ( /obj/structure/platform/kutjevo/smooth{ @@ -26294,20 +31250,22 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "tvU" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_27{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_27"; layer = 3.1; pixel_x = -2; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "tvX" = ( -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/chapel) "twb" = ( @@ -26315,8 +31273,9 @@ /area/fiorina/maintenance) "twd" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "twB" = ( @@ -26324,15 +31283,19 @@ /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "twL" = ( /obj/vehicle/train/cargo/trolley, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "txS" = ( /obj/item/stack/sandbags, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "tyb" = ( /obj/structure/surface/table/reinforced/prison, @@ -26340,32 +31303,43 @@ pixel_x = -4; pixel_y = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "tyk" = ( /obj/structure/barricade/handrail, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "tyO" = ( /obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "tyQ" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ dir = 1 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "tzj" = ( -/turf/open/floor/prison/greenangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greencorner" }, /area/fiorina/tumor/civres) "tzx" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "tzy" = ( /obj/item/ammo_magazine/smg/mp5, @@ -26376,7 +31350,10 @@ /area/fiorina/station/research_cells) "tzF" = ( /obj/item/storage/pill_bottle/tramadol/skillless, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tAb" = ( /obj/structure/surface/rack, @@ -26390,22 +31367,31 @@ /obj/effect/decal/warning_stripes{ icon_state = "S" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "tAk" = ( /obj/item/weapon/gun/rifle/m16, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "tAI" = ( /obj/item/stack/rods, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "tBa" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ammo_magazine/shotgun/buckshot, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "tBe" = ( /obj/effect/decal{ @@ -26415,17 +31401,21 @@ pixel_y = -11 }, /obj/item/device/flashlight/flare, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "tBt" = ( /obj/item/newspaper, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/transit_hub) "tBy" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/telecomm/lz1_tram) "tBD" = ( @@ -26433,7 +31423,9 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "tBP" = ( /obj/structure/machinery/shower{ @@ -26445,22 +31437,41 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_cargo) "tBU" = ( /obj/item/paper/crumpled/bloody/csheet, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) +"tCf" = ( +/obj/structure/barricade/handrail/type_b{ + dir = 8 + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/flight_deck) "tCj" = ( /obj/structure/machinery/power/apc{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "tCu" = ( /obj/item/frame/rack, /obj/item/clothing/under/marine/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "tCZ" = ( /obj/structure/platform/kutjevo/smooth{ @@ -26503,17 +31514,22 @@ dir = 1 }, /obj/item/tool/pickaxe, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "tEb" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/flight_deck) "tEj" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "tEH" = ( /obj/structure/window/framed/prison, @@ -26528,7 +31544,7 @@ /area/fiorina/station/transit_hub) "tFu" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "tFA" = ( /obj/structure/platform{ @@ -26541,31 +31557,40 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "tGl" = ( /obj/structure/bed/sofa/vert/grey, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "tGF" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/newspaper, /obj/item/attachable/bipod, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "tGO" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications{ dir = 1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/tumor/ice_lab) "tHh" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/atmos_alert{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "tHl" = ( /obj/structure/inflatable, @@ -26573,14 +31598,20 @@ /area/fiorina/station/lowsec) "tHr" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "tHs" = ( -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "tHu" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitepurple, +/turf/open/floor/prison{ + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "tHL" = ( /obj/structure/blocker/invisible_wall, @@ -26591,13 +31622,15 @@ /area/fiorina/station/medbay) "tHP" = ( /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/darkyellow2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "tHU" = ( -/obj/structure/monorail/launchtrack{ - dir = 5 +/obj/structure/monorail{ + dir = 5; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) @@ -26605,7 +31638,10 @@ /obj/effect/decal/medical_decals{ icon_state = "cryomid" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tIC" = ( /obj/structure/flora/bush/ausbushes/ausbush{ @@ -26620,12 +31656,16 @@ /area/fiorina/tumor/fiberbush) "tII" = ( /obj/item/reagent_container/food/drinks/bottle/rum, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "tIK" = ( /obj/item/tool/screwdriver, -/turf/open/floor/prison/greencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/tumor/civres) "tIU" = ( @@ -26633,13 +31673,16 @@ /turf/open/floor/prison/chapel_carpet, /area/fiorina/maintenance) "tJe" = ( -/turf/open/floor/prison/greencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/station/chapel) "tJM" = ( /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "tJR" = ( /obj/structure/machinery/computer/cameras/wooden_tv{ @@ -26667,7 +31710,7 @@ pixel_x = 7; pixel_y = 6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/chapel) "tKv" = ( /obj/structure/machinery/computer/secure_data{ @@ -26682,7 +31725,9 @@ dir = 4; pixel_y = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "tLC" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -26690,30 +31735,41 @@ /area/fiorina/maintenance) "tLT" = ( /obj/item/reagent_container/food/drinks/bottle/sake, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "tLY" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "tMe" = ( -/turf/open/floor/prison/redangle, +/turf/open/floor/prison{ + icon_state = "redcorner" + }, /area/fiorina/station/power_ring) "tMn" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "tMr" = ( /obj/item/toy/deck, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "tMx" = ( /obj/structure/prop/almayer/computers/sensor_computer2, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "tMz" = ( /obj/structure/closet/crate/bravo, @@ -26721,11 +31777,13 @@ /obj/item/stack/sheet/metal/medium_stack, /obj/item/fuelCell, /obj/item/stack/sheet/plasteel, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "tMA" = ( /obj/structure/machinery/fuelcell_recycler, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "tMF" = ( /obj/structure/barricade/handrail/type_b{ @@ -26735,7 +31793,9 @@ /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "tML" = ( /obj/structure/surface/table/reinforced/prison, @@ -26743,20 +31803,27 @@ pixel_y = 12 }, /obj/item/cell/super, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "tMP" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "tNs" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "tNt" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/cigbutt/bcigbutt, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "tNu" = ( /obj/structure/surface/table/reinforced/prison, @@ -26764,7 +31831,9 @@ pixel_x = -1; pixel_y = 5 }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "tNS" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber, @@ -26772,7 +31841,7 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "tNV" = ( /obj/item/stack/sheet/wood, @@ -26787,15 +31856,19 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "tOp" = ( /obj/structure/window/framed/prison/cell, /turf/open/floor/plating/prison, /area/fiorina/station/research_cells) "tOr" = ( -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "tOG" = ( @@ -26805,8 +31878,9 @@ /area/fiorina/station/civres_blue) "tOK" = ( /obj/structure/inflatable, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "tOS" = ( @@ -26825,12 +31899,18 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "tPi" = ( -/obj/structure/monorail/launchtrack, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/obj/structure/monorail{ + name = "launch track" + }, +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "tPz" = ( @@ -26851,12 +31931,15 @@ /area/fiorina/maintenance) "tPP" = ( /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "tPQ" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/station/security) "tQi" = ( /obj/structure/prop/souto_land/streamer{ @@ -26864,8 +31947,9 @@ pixel_y = 24 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "tQm" = ( @@ -26874,17 +31958,21 @@ /area/fiorina/tumor/aux_engi) "tQn" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "tQq" = ( -/turf/open/floor/prison/greenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greencorner" }, /area/fiorina/tumor/civres) "tQs" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/greenblue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "greenblue" }, /area/fiorina/station/botany) "tQB" = ( @@ -26893,7 +31981,9 @@ /area/fiorina/station/medbay) "tQJ" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "tQL" = ( /obj/structure/platform{ @@ -26905,11 +31995,14 @@ /obj/structure/platform_decoration{ dir = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "tRa" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "tRt" = ( @@ -26917,8 +32010,9 @@ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/greenblue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greenblue" }, /area/fiorina/station/botany) "tRH" = ( @@ -26926,27 +32020,35 @@ /area/fiorina/station/botany) "tSi" = ( /obj/structure/bed/sofa/vert/grey/top, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "tSn" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/medbay) "tST" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tTr" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/blueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "tTu" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "tTA" = ( /obj/structure/prop/souto_land/pole{ @@ -26955,16 +32057,23 @@ /turf/open/floor/wood, /area/fiorina/station/park) "tTK" = ( -/obj/structure/flora/pottedplant/pottedplant_7, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_7" + }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "tTM" = ( /obj/structure/machinery/iv_drip, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "tTV" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "tUe" = ( /obj/structure/platform{ @@ -26974,12 +32083,15 @@ /obj/structure/platform_decoration{ dir = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "tUr" = ( /obj/structure/closet/toolcloset, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "tUs" = ( @@ -26991,8 +32103,9 @@ }, /obj/item/explosive/grenade/incendiary/molotov, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "tUS" = ( @@ -27003,14 +32116,20 @@ /obj/structure/bed/chair/office/light{ dir = 1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "tVu" = ( /obj/effect/decal{ icon = 'icons/obj/items/policetape.dmi'; icon_state = "engineering_v" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "tVB" = ( /obj/item/ammo_casing{ @@ -27023,14 +32142,17 @@ icon_state = "metal_2" }, /obj/effect/spawner/random/gun/smg, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "tVG" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "tVV" = ( /obj/effect/landmark/corpsespawner/ua_riot, @@ -27040,24 +32162,33 @@ /obj/structure/window/reinforced/tinted, /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "tVZ" = ( /obj/structure/machinery/vending/security, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "tWe" = ( /obj/structure/surface/rack, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/fire, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "tWo" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "tWq" = ( /obj/structure/surface/table/reinforced/prison, @@ -27065,7 +32196,9 @@ pixel_x = 1; pixel_y = 3 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "tWI" = ( /obj/structure/platform/kutjevo/smooth, @@ -27081,17 +32214,23 @@ /obj/item/storage/box/pillbottles, /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "tXQ" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/tumor/servers) "tYc" = ( /obj/effect/decal{ icon = 'icons/obj/items/policetape.dmi'; icon_state = "engineering_v" }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "tYd" = ( /obj/structure/machinery/light/double/blue{ @@ -27107,7 +32246,7 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "tYw" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -27115,30 +32254,39 @@ "tYx" = ( /obj/structure/surface/rack, /obj/item/tool/lighter, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "tZo" = ( /obj/item/newspaper, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "tZs" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "tZN" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "tZS" = ( -/turf/open/floor/prison/platingdmg1, +/turf/open/floor/prison{ + icon_state = "platingdmg1" + }, /area/fiorina/tumor/civres) "tZV" = ( /obj/structure/machinery/landinglight/ds1/delayone{ dir = 8 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "tZW" = ( /obj/item/tool/wet_sign, @@ -27151,7 +32299,9 @@ dir = 4 }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "uap" = ( /obj/structure/surface/table/reinforced/prison, @@ -27159,8 +32309,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "uat" = ( -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "ubc" = ( @@ -27168,13 +32319,16 @@ /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "ubk" = ( -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/tumor/aux_engi) "ubH" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "ubN" = ( /turf/closed/shuttle/ert{ @@ -27194,13 +32348,15 @@ /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "uch" = ( /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "ucj" = ( /turf/closed/shuttle/ert{ @@ -27208,8 +32364,9 @@ }, /area/fiorina/station/power_ring) "ucr" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "ucS" = ( @@ -27221,8 +32378,9 @@ dir = 2; icon_state = "casing_5" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "udY" = ( @@ -27230,11 +32388,14 @@ dir = 8 }, /obj/item/prop/almayer/flight_recorder, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "uef" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_core, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "uep" = ( /obj/effect/decal/cleanable/blood, @@ -27249,33 +32410,45 @@ /turf/open/floor/wood, /area/fiorina/station/park) "ueA" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/sterile_white, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "ueF" = ( /obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "ufo" = ( /obj/structure/closet/crate/miningcar{ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "ufX" = ( /obj/item/reagent_container/food/drinks/sillycup, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "ugC" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "ugH" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "ugT" = ( @@ -27284,8 +32457,9 @@ /area/fiorina/tumor/aux_engi) "ugU" = ( /obj/structure/machinery/portable_atmospherics/canister/nitrogen, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "uhb" = ( @@ -27300,11 +32474,12 @@ pixel_x = 1; pixel_y = -1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "uhd" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "uhm" = ( @@ -27315,29 +32490,39 @@ /obj/structure/machinery/landinglight/ds1/delaythree{ dir = 4 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "uin" = ( /obj/item/ammo_box/magazine/misc/flares/empty{ pixel_x = -1; pixel_y = 7 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "uix" = ( /obj/structure/bed/chair/office/dark, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "uiK" = ( /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/medical_decals{ icon_state = "triagedecalleft" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "uiR" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "uiV" = ( /obj/structure/platform{ @@ -27364,11 +32549,14 @@ /obj/structure/toilet{ dir = 8 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "ujJ" = ( -/obj/structure/monorail/launchtrack{ - dir = 5 +/obj/structure/monorail{ + dir = 5; + name = "launch track" }, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) @@ -27384,7 +32572,10 @@ dir = 4; pixel_y = 8 }, -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/park) "ukk" = ( /obj/structure/sink{ @@ -27392,8 +32583,9 @@ pixel_x = -12 }, /obj/effect/spawner/random/pills/lowchance, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "ukr" = ( @@ -27407,20 +32599,24 @@ "ukz" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/gun/pistol/midchance, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "ukI" = ( -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "ukN" = ( /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "ukR" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -27432,19 +32628,25 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "ulW" = ( /obj/structure/prop/almayer/computers/sensor_computer2, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "umq" = ( /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "umy" = ( /obj/structure/prop/resin_prop{ @@ -27465,27 +32667,34 @@ "unc" = ( /obj/structure/coatrack, /obj/item/clothing/suit/storage/CMB, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "unW" = ( /obj/structure/machinery/shower{ pixel_y = 13 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "uod" = ( /obj/structure/largecrate/random/barrel/white, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "uol" = ( /obj/structure/machinery/landinglight/ds1{ dir = 4 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "upt" = ( /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/ice_lab) "upF" = ( /obj/structure/machinery/processor{ @@ -27496,7 +32705,10 @@ pixel_y = 10 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "upM" = ( /obj/structure/disposalpipe/broken, @@ -27511,19 +32723,22 @@ desc = "Sworn to the shrapnel and the shards therein. So sayeth her command when the first detonation occured."; name = "HEFA Order milita armband" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "uqo" = ( /obj/effect/landmark/queen_spawn, -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "uqp" = ( /obj/structure/bed/sofa/vert/grey/bot{ pixel_y = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "urc" = ( /obj/structure/largecrate/random/barrel/white, @@ -27531,17 +32746,20 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "uri" = ( /obj/structure/largecrate/supply/supplies/mre, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "urw" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "urJ" = ( /obj/structure/platform/kutjevo/smooth, @@ -27549,13 +32767,15 @@ /area/fiorina/oob) "urS" = ( /obj/item/trash/chunk, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "usa" = ( -/turf/open/floor/prison/greencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "green" }, /area/fiorina/station/chapel) "usg" = ( @@ -27564,22 +32784,29 @@ /area/fiorina/maintenance) "usq" = ( /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "usz" = ( -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "usA" = ( /obj/structure/sink{ dir = 4; pixel_x = 12 }, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "utf" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "uts" = ( /obj/structure/surface/rack, @@ -27588,8 +32815,9 @@ /area/fiorina/maintenance) "utC" = ( /obj/item/stool, -/turf/open/floor/prison/cell_stripe{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "cell_stripe" }, /area/fiorina/station/flight_deck) "utV" = ( @@ -27597,8 +32825,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "uuJ" = ( @@ -27629,11 +32858,15 @@ /obj/structure/barricade/wooden{ dir = 4 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "uvi" = ( /obj/structure/reagent_dispensers/watertank, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "uvy" = ( /obj/effect/landmark{ @@ -27641,18 +32874,23 @@ name = "xeno_hive_spawn" }, /obj/effect/landmark/ert_spawns/groundside_xeno, -/turf/open/floor/prison/whitegreenangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "uvG" = ( /obj/effect/decal/cleanable/blood/gibs/xeno/down, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "uwg" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "uwk" = ( @@ -27664,26 +32902,35 @@ capacity = 1e+006; dir = 1 }, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "uwP" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/mineral/plastic, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "uxa" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "uxi" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecaldir" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "uxp" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "uxv" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, @@ -27699,30 +32946,40 @@ "uxO" = ( /obj/effect/landmark/objective_landmark/far, /obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "uxY" = ( -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "uyb" = ( /obj/effect/decal/cleanable/blood{ icon_state = "gib6" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "uyd" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "uyq" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "uyr" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/chapel) "uyM" = ( /obj/effect/decal/cleanable/blood/oil, @@ -27736,8 +32993,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "uzd" = ( -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/station/disco) "uzw" = ( @@ -27756,7 +33014,10 @@ dir = 8 }, /obj/structure/barricade/wooden, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "uAi" = ( /obj/structure/sink{ @@ -27764,16 +33025,23 @@ pixel_x = 12 }, /obj/item/clothing/suit/armor/bulletproof/badge, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "uAv" = ( -/turf/open/floor/prison/bluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "uAG" = ( /obj/structure/inflatable, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "uAX" = ( /obj/effect/decal/hefa_cult_decals/d32, @@ -27791,18 +33059,25 @@ /area/fiorina/station/power_ring) "uBS" = ( /obj/structure/closet/secure_closet/personal, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "uBW" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/cigbutt, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "uCa" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "uCu" = ( /obj/effect/decal{ @@ -27812,7 +33087,10 @@ pixel_y = -11 }, /obj/structure/barricade/metal/wired, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "uCz" = ( /obj/structure/sink{ @@ -27822,7 +33100,10 @@ pixel_x = -11; pixel_y = -5 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "uCD" = ( /obj/effect/landmark/nightmare{ @@ -27832,52 +33113,70 @@ /area/fiorina/station/medbay) "uCW" = ( /obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "uEj" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating/prison, /area/fiorina/station/transit_hub) "uEm" = ( -/turf/open/floor/prison/red{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "red" }, /area/fiorina/station/security) "uEN" = ( /obj/structure/machinery/landinglight/ds2/delaytwo, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "uFc" = ( /obj/structure/closet/secure_closet/security, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/disco) "uFh" = ( -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "uFE" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "uFM" = ( /obj/structure/surface/table/reinforced/prison{ dir = 4; flipped = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "uFX" = ( -/turf/open/floor/prison/darkpurple2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "uGb" = ( /obj/structure/barricade/metal/wired{ dir = 8 }, /obj/effect/spawner/random/sentry/midchance, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "uGq" = ( @@ -27885,7 +33184,9 @@ icon_state = "cryomid" }, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "uGu" = ( /obj/effect/decal/hefa_cult_decals/d32{ @@ -27899,10 +33200,10 @@ "uGD" = ( /obj/item/tool/kitchen/knife, /obj/structure/bed/roller, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "uGM" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "uGT" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -27916,36 +33217,46 @@ pixel_x = -4; pixel_y = 23 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "uHX" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "uIa" = ( /obj/structure/platform_decoration{ dir = 8 }, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "uIb" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "uIl" = ( /obj/structure/machinery/cryo_cell, /obj/structure/pipes/standard/cap/hidden, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "uIu" = ( /obj/item/storage/toolbox/electrical, /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "uIG" = ( /obj/structure/prop/structure_lattice{ @@ -27956,7 +33267,7 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/civres) "uIS" = ( /obj/structure/window/framed/prison, @@ -27972,8 +33283,9 @@ /area/fiorina/maintenance) "uJj" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "uJk" = ( @@ -27982,30 +33294,35 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "uJM" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/maintenance) "uJX" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "uKh" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/secure_data{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "uKx" = ( /turf/closed/shuttle/ert, /area/fiorina/lz/near_lzI) "uLd" = ( /obj/structure/foamed_metal, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "uLr" = ( /obj/vehicle/powerloader, @@ -28024,7 +33341,9 @@ pixel_y = 21 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "uLJ" = ( /obj/structure/surface/table/reinforced/prison, @@ -28033,7 +33352,9 @@ /area/fiorina/station/transit_hub) "uLX" = ( /obj/structure/machinery/computer/arcade, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "uMq" = ( /obj/structure/machinery/light/small{ @@ -28049,8 +33370,9 @@ /area/fiorina/station/security/wardens) "uMH" = ( /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "uNM" = ( @@ -28058,33 +33380,43 @@ /area/fiorina/tumor/aux_engi) "uNR" = ( /obj/item/stack/cable_coil, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "uNX" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2angle, +/turf/open/floor/prison{ + icon_state = "darkbrowncorners2" + }, /area/fiorina/tumor/aux_engi) "uOb" = ( /obj/structure/platform_decoration{ dir = 8 }, /obj/item/stack/cable_coil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "uOR" = ( /obj/structure/platform_decoration{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/botany) "uPg" = ( /obj/item/circuitboard/mecha/gygax/targeting, /obj/structure/surface/rack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "uPz" = ( /obj/structure/closet/firecloset/full, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "uPA" = ( /obj/structure/platform{ @@ -28103,7 +33435,9 @@ density = 0; pixel_y = 18 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "uQE" = ( /obj/item/stack/tile/plasteel{ @@ -28117,39 +33451,52 @@ /obj/structure/machinery/computer/emails{ dir = 4 }, -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "uRe" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "uRK" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "uRO" = ( -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/station/chapel) "uRX" = ( /obj/item/tool/shovel/spade, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "uSb" = ( /obj/structure/barricade/wooden{ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/damaged1, +/turf/open/floor/prison{ + dir = 10; + icon_state = "damaged1" + }, /area/fiorina/station/disco) "uSo" = ( /obj/item/poster, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "uSA" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -28166,7 +33513,9 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "uSY" = ( /obj/structure/platform{ @@ -28179,25 +33528,30 @@ /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) "uTi" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "uTk" = ( /obj/effect/landmark/static_comms/net_one, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "uTp" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "uTS" = ( /obj/item/stock_parts/micro_laser/ultra, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "uTX" = ( -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "uUT" = ( @@ -28206,7 +33560,9 @@ pixel_x = 2; pixel_y = 4 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "uVn" = ( /turf/closed/shuttle/ert{ @@ -28217,11 +33573,11 @@ /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "uVv" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "uVD" = ( /turf/open/floor/corsat{ @@ -28230,7 +33586,7 @@ /area/fiorina/station/medbay) "uVQ" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "uVX" = ( /obj/structure/machinery/landinglight/ds1/delaythree{ @@ -28247,7 +33603,9 @@ /area/fiorina/tumor/civres) "uWg" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "uWQ" = ( /obj/structure/platform{ @@ -28267,18 +33625,25 @@ dir = 4; flipped = 1 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "uXa" = ( /obj/structure/largecrate/random/case/small, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "uXc" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottom" }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "uXm" = ( @@ -28286,7 +33651,7 @@ /obj/item/inflatable/door, /obj/item/inflatable/door, /obj/structure/surface/rack, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "uXn" = ( /obj/structure/flora/bush/ausbushes/ausbush{ @@ -28301,7 +33666,9 @@ /area/fiorina/tumor/fiberbush) "uXu" = ( /obj/item/stock_parts/matter_bin/super, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "uXw" = ( /obj/structure/surface/table/reinforced/prison, @@ -28321,15 +33688,19 @@ /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "uXW" = ( /obj/structure/bed/chair/office/light{ dir = 8 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "uYx" = ( /obj/structure/prop/resin_prop{ @@ -28342,8 +33713,9 @@ icon_state = "abed" }, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "uYR" = ( @@ -28351,21 +33723,30 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "uZe" = ( /obj/item/stack/sheet/wood, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "uZn" = ( /obj/structure/machinery/vending/cola, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "uZr" = ( /obj/structure/prop/resin_prop{ icon_state = "sheater0" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "uZA" = ( /turf/closed/shuttle/ert{ @@ -28379,11 +33760,16 @@ name = "overhead ducting"; pixel_y = 33 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "uZM" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/tumor/aux_engi) "uZX" = ( /obj/structure/curtain, @@ -28391,38 +33777,46 @@ /area/fiorina/station/power_ring) "vaj" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "vaO" = ( /obj/structure/window/reinforced, /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/attachment, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "vbd" = ( /obj/structure/machinery/washing_machine, /obj/structure/machinery/washing_machine{ pixel_y = 15 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "vbe" = ( /obj/structure/machinery/m56d_hmg/mg_turret/dropship{ dir = 1 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "vbl" = ( /obj/structure/closet/bombcloset, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "vbn" = ( /obj/item/ammo_box/magazine/M16, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "vbt" = ( @@ -28435,11 +33829,15 @@ pixel_x = 14; pixel_y = 7 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "vbF" = ( /obj/item/stack/rods, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "vbG" = ( /obj/structure/prop/structure_lattice{ @@ -28452,8 +33850,9 @@ dir = 6; icon_state = "casing_5" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "vcf" = ( @@ -28462,8 +33861,9 @@ }, /area/fiorina/oob) "vco" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "vcr" = ( @@ -28477,13 +33877,15 @@ pixel_x = 2; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "vcy" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "vcC" = ( /obj/item/stack/rods, @@ -28493,11 +33895,15 @@ /obj/structure/surface/rack, /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/regular, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vdI" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -28514,7 +33920,9 @@ pixel_x = 11; pixel_y = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "vea" = ( /obj/effect/decal{ @@ -28523,8 +33931,9 @@ layer = 2.5; pixel_y = -11 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "vee" = ( @@ -28536,12 +33945,15 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "vei" = ( -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "vem" = ( /turf/closed/shuttle/ert{ @@ -28552,15 +33964,22 @@ /obj/effect/decal/medical_decals{ icon_state = "cryomid" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "veB" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/lowsec) "veM" = ( /obj/item/stock_parts/micro_laser/ultra, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "vfz" = ( /obj/item/storage/box/donkpockets, @@ -28573,7 +33992,9 @@ /area/fiorina/station/power_ring) "vfJ" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "vfM" = ( /turf/closed/shuttle/ert{ @@ -28582,21 +34003,23 @@ /area/fiorina/station/power_ring) "vfQ" = ( /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "vfR" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "vgS" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "vha" = ( @@ -28604,19 +34027,25 @@ name = "\improper materials storage bin" }, /obj/item/reagent_container/food/snacks/meat, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "vhe" = ( /obj/structure/closet/wardrobe/orange, /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "vhB" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/station/park) "vhC" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "vhI" = ( /turf/open/gm/river{ @@ -28626,13 +34055,16 @@ /area/fiorina/station/park) "viH" = ( /obj/item/clipboard, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "viV" = ( -/obj/structure/monorail/launchtrack{ - dir = 5 +/obj/structure/monorail{ + dir = 5; + name = "launch track" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "vjl" = ( /obj/structure/closet/crate/trashcart, @@ -28647,7 +34079,10 @@ /area/fiorina/station/power_ring) "vjz" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "vjG" = ( /obj/item/device/flashlight/lamp/tripod, @@ -28659,7 +34094,10 @@ pixel_y = 5 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/servers) "vjR" = ( /obj/structure/disposalpipe/segment, @@ -28678,42 +34116,52 @@ /turf/open/floor/wood, /area/fiorina/station/civres_blue) "vky" = ( -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "vkC" = ( /obj/structure/inflatable/popped/door, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "vkM" = ( /obj/item/reagent_container/food/drinks/bottle/pwine, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "vkZ" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "vli" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "vlm" = ( /obj/structure/machinery/power/apc{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "vlt" = ( /obj/structure/reagent_dispensers/water_cooler/stacks, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "vlT" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "vlX" = ( @@ -28723,8 +34171,9 @@ }, /obj/item/clothing/gloves/combat, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "vmj" = ( @@ -28737,11 +34186,16 @@ /area/fiorina/station/medbay) "vmr" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vmH" = ( /obj/item/tool/mop, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "vmW" = ( /obj/structure/reagent_dispensers/water_cooler{ @@ -28749,14 +34203,16 @@ pixel_x = -8; pixel_y = 16 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "vnr" = ( /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/station/telecomm/lz1_cargo) "voa" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_tram) "vok" = ( /obj/structure/surface/table/reinforced/prison, @@ -28771,7 +34227,9 @@ pixel_x = 9; pixel_y = -10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "voq" = ( /obj/structure/machinery/computer/secure_data{ @@ -28782,8 +34240,9 @@ /area/fiorina/station/security/wardens) "voS" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "vpk" = ( @@ -28791,59 +34250,79 @@ desc = "Wow, instant sand. They really have everything in space."; name = "Insta-Sand! bag" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "vpB" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "vpJ" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "vqb" = ( /obj/structure/platform, -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "vqg" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "vqi" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/lowsec) "vqM" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/snacks/tomatosoup, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/power_ring) "vqZ" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "vrc" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, /area/fiorina/station/transit_hub) "vrf" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/donut_box{ pixel_y = 6 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "vro" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "vrp" = ( /obj/structure/ice/thin/indestructible{ @@ -28854,7 +34333,9 @@ /area/fiorina/station/research_cells) "vrw" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "vrF" = ( /obj/item/toy/crayon/green, @@ -28864,10 +34345,14 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/book/manual/security_space_law, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "vrN" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /obj/structure/machinery/door/poddoor/almayer/locked{ indestructible = 1; name = "launch bay door" @@ -28882,27 +34367,36 @@ /area/fiorina/station/chapel) "vrX" = ( /obj/item/newspaper, -/turf/open/floor/prison/whitepurpleangle, +/turf/open/floor/prison{ + icon_state = "whitepurplecorner" + }, /area/fiorina/station/research_cells) "vsc" = ( -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/station/civres_blue) "vsg" = ( /obj/structure/closet/emcloset, /obj/effect/landmark/objective_landmark/far, -/turf/open/floor/prison/darkbrown2corner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "darkbrown2" }, /area/fiorina/maintenance) "vsq" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "vsz" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vsT" = ( /obj/structure/cable/heavyduty{ @@ -28916,7 +34410,10 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "vtl" = ( /obj/structure/bed/sofa/south/grey/left, @@ -28924,8 +34421,9 @@ /area/fiorina/station/park) "vtn" = ( /obj/structure/barricade/wooden, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "vtG" = ( @@ -28933,14 +34431,20 @@ dir = 8; health = 80 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vtJ" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/telecomm/lz1_cargo) "vub" = ( /obj/structure/prop/structure_lattice{ @@ -28952,7 +34456,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "vuc" = ( /obj/structure/platform/kutjevo/smooth{ @@ -28972,7 +34478,7 @@ "vuE" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/landinglight/ds2/delayone, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "vuW" = ( /obj/structure/reagent_dispensers/water_cooler{ @@ -28987,12 +34493,15 @@ pixel_x = 1; pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "vvk" = ( /obj/structure/barricade/handrail, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "vvp" = ( @@ -29013,10 +34522,20 @@ icon_state = "squares" }, /area/fiorina/station/telecomm/lz1_cargo) -"vwc" = ( -/turf/open/floor/prison/darkbrown2{ +"vvX" = ( +/obj/structure/platform_decoration{ dir = 8 }, +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" + }, +/area/fiorina/station/disco) +"vwc" = ( +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "vwt" = ( /obj/effect/landmark/objective_landmark/medium, @@ -29029,11 +34548,13 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "vxp" = ( -/turf/open/floor/prison/yellow, +/turf/open/floor/prison{ + icon_state = "yellow" + }, /area/fiorina/station/disco) "vxr" = ( /obj/item/newspaper, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "vxs" = ( /turf/closed/shuttle/ert{ @@ -29041,7 +34562,9 @@ }, /area/fiorina/tumor/ship) "vxV" = ( -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "vyu" = ( /obj/item/clothing/suit/storage/hazardvest, @@ -29050,7 +34573,9 @@ "vyz" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/goggles/lowchance, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "vyA" = ( /obj/structure/bed/chair{ @@ -29063,7 +34588,9 @@ dir = 8; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "vyF" = ( /obj/structure/platform{ @@ -29074,16 +34601,30 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) +"vyU" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/telecomm/lz1_cargo) "vyX" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "vza" = ( /obj/effect/decal/cleanable/blood/gibs, /obj/effect/spawner/random/gun/rifle, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "vzh" = ( /obj/structure/foamed_metal, @@ -29091,7 +34632,9 @@ /area/fiorina/station/civres_blue) "vzk" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "vzn" = ( /obj/structure/bed/chair/dropship/pilot{ @@ -29117,13 +34660,22 @@ opacity = 0 }, /area/fiorina/tumor/ship) +"vzZ" = ( +/obj/item/device/flashlight/lamp/tripod, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/flight_deck) "vAi" = ( /obj/item/stack/sandbags_empty/half, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "vAZ" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "vBc" = ( /obj/structure/surface/table/reinforced/prison{ @@ -29131,14 +34683,17 @@ flipped = 1 }, /obj/item/device/flashlight/lamp, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "vBO" = ( /obj/effect/decal/cleanable/blood{ layer = 3 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "vBP" = ( @@ -29152,30 +34707,37 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "vBV" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vBY" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/blue{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "vCv" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "vDc" = ( /obj/structure/bed/sofa/south/grey/left, /obj/item/reagent_container/food/snacks/sandwich{ pixel_y = 2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "vDj" = ( /obj/structure/surface/table/reinforced/prison, @@ -29184,15 +34746,19 @@ pixel_x = 11 }, /obj/item/clothing/gloves/latex, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/medbay) "vDx" = ( /obj/item/clothing/shoes/marine/upp_knife, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "vDK" = ( /obj/item/stack/sheet/metal/medium_stack, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "vDO" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -29217,13 +34783,14 @@ dir = 8 }, /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "vEF" = ( /obj/item/circuitboard/robot_module/janitor, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "vEK" = ( /turf/open/floor/plating/plating_catwalk/prison, @@ -29232,8 +34799,9 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "vFi" = ( @@ -29267,12 +34835,15 @@ /area/fiorina/station/security/wardens) "vFF" = ( /obj/item/trash/candy, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "vFQ" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/civres) "vFY" = ( @@ -29281,7 +34852,7 @@ /area/fiorina/tumor/fiberbush) "vGe" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "vGv" = ( /obj/structure/barricade/metal/wired{ @@ -29293,27 +34864,38 @@ /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "vGV" = ( /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "vHG" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "vHK" = ( /obj/structure/barricade/wooden{ dir = 8 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "vHR" = ( /obj/item/tool/screwdriver, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "vHU" = ( /obj/structure/surface/table/woodentable/fancy, @@ -29329,11 +34911,15 @@ icon_state = "mwo"; pixel_y = 6 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "vII" = ( -/turf/open/floor/prison/whitepurple{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "vJh" = ( @@ -29349,16 +34935,19 @@ "vJp" = ( /obj/item/ammo_magazine/smg/mp5, /obj/item/ammo_magazine/smg/mp5, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "vJq" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/whitegreenangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreencorner" }, /area/fiorina/tumor/ice_lab) "vJD" = ( -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "vJN" = ( /obj/structure/surface/table/reinforced/prison, @@ -29373,7 +34962,9 @@ dir = 1; pixel_y = 2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "vKP" = ( /obj/structure/surface/rack, @@ -29387,17 +34978,22 @@ "vLV" = ( /obj/item/inflatable, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "vMb" = ( /obj/structure/machinery/photocopier{ pixel_y = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/security) "vMh" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/medbay) @@ -29412,15 +35008,18 @@ /turf/closed/wall/r_wall/prison, /area/fiorina/station/power_ring) "vMQ" = ( -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/station/chapel) "vMS" = ( /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "vNq" = ( /turf/closed/wall/r_wall/prison, @@ -29433,12 +35032,15 @@ /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "vNt" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/greencorner{ - dir = 1 +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/station/chapel) "vNx" = ( @@ -29446,24 +35048,27 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "vNF" = ( -/turf/open/floor/prison/greenangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "greencorner" }, /area/fiorina/station/chapel) "vNY" = ( /obj/item/tool/kitchen/utensil/pfork, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "vOj" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "vOp" = ( /obj/structure/platform{ @@ -29475,11 +35080,13 @@ /obj/structure/platform_decoration{ dir = 9 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "vOz" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "vOP" = ( /obj/structure/disposalpipe/segment{ @@ -29493,15 +35100,20 @@ /area/fiorina/tumor/servers) "vPa" = ( /obj/item/tool/soap, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "vPk" = ( /obj/structure/window/framed/prison, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "vPA" = ( /obj/structure/machinery/landinglight/ds2/delayone, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "vPM" = ( /obj/structure/platform_decoration/kutjevo{ @@ -29525,11 +35137,12 @@ icon_state = "sandbag_0"; pixel_y = -14 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "vQN" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /turf/open/floor/plating/prison, @@ -29537,7 +35150,9 @@ "vRj" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "vRA" = ( /turf/open/floor/plating/prison, @@ -29549,12 +35164,15 @@ pixel_y = 6 }, /obj/item/storage/box/cups, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "vTl" = ( /obj/item/stack/rods, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/disco) "vTv" = ( @@ -29575,7 +35193,7 @@ pixel_x = -10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "vTT" = ( /obj/structure/disposalpipe/segment{ @@ -29585,18 +35203,22 @@ name = "overhead pipe"; pixel_y = 20 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "vUa" = ( /obj/structure/inflatable, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "vUf" = ( /obj/structure/platform, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "vUn" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/botany) @@ -29608,7 +35230,9 @@ /area/fiorina/station/security) "vUE" = ( /obj/structure/machinery/computer/prisoner, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "vVi" = ( /obj/structure/window/framed/prison, @@ -29617,7 +35241,9 @@ "vVu" = ( /obj/structure/surface/rack, /obj/item/ammo_box/magazine/nailgun, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "vVJ" = ( /obj/structure/machinery/light/double/blue{ @@ -29625,7 +35251,10 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "vWe" = ( /obj/structure/extinguisher_cabinet, @@ -29633,30 +35262,46 @@ /area/fiorina/station/medbay) "vWs" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "vWI" = ( -/obj/structure/flora/pottedplant/pottedplant_22, -/turf/open/floor/prison/yellowfull, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/disco) "vXi" = ( /obj/item/storage/briefcase, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "vXr" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "vXB" = ( /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "vXS" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /turf/open/floor/wood, /area/fiorina/station/civres_blue) "vXT" = ( @@ -29670,18 +35315,23 @@ }, /area/fiorina/tumor/ship) "vYA" = ( -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/disco) "vYL" = ( /obj/effect/decal/cleanable/blood, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "vYM" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/drinks/cans/aspen, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "vYP" = ( /obj/structure/machinery/shower{ @@ -29691,7 +35341,9 @@ dir = 1; pixel_y = -1 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "vZc" = ( /obj/structure/disposalpipe/segment{ @@ -29706,12 +35358,13 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/servers) "vZx" = ( /obj/item/trash/cigbutt, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/power_ring) "vZD" = ( @@ -29720,7 +35373,9 @@ /area/fiorina/maintenance) "vZU" = ( /obj/item/paper/crumpled, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "vZV" = ( /turf/closed/wall/strata_ice/jungle{ @@ -29739,11 +35394,15 @@ /obj/structure/platform_decoration{ dir = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "waz" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/disco) "waN" = ( /obj/structure/platform{ @@ -29760,14 +35419,18 @@ "waP" = ( /obj/structure/largecrate/random/case, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/station/park) "waU" = ( /obj/structure/machinery/light/double/blue, /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz2_maint) "wbn" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/aux_engi) "wbp" = ( @@ -29806,7 +35469,9 @@ /area/fiorina/station/park) "wcm" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/greenblue, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, /area/fiorina/station/botany) "wcP" = ( /obj/effect/landmark/queen_spawn, @@ -29819,22 +35484,31 @@ "wcX" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/hypospray, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "wdA" = ( /obj/item/trash/used_stasis_bag, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzI) "wdX" = ( /obj/structure/prop/almayer/computers/mapping_computer, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "wef" = ( /turf/open/floor/plating/prison, /area/fiorina/station/research_cells) "wek" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wen" = ( /obj/item/prop/helmetgarb/spacejam_tickets{ @@ -29843,13 +35517,14 @@ pixel_x = -7; pixel_y = 7 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "wew" = ( /obj/item/stack/sheet/metal/medium_stack, /obj/structure/surface/rack, -/turf/open/floor/prison/darkyellow2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "darkyellow2" }, /area/fiorina/lz/near_lzI) "weH" = ( @@ -29860,33 +35535,44 @@ dir = 4; layer = 3.25 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "weK" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/darkbrown2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrowncorners2" }, /area/fiorina/station/park) "weN" = ( /obj/structure/largecrate/random/case, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "weQ" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "weS" = ( /obj/structure/machinery/processor, /obj/effect/decal/cleanable/blood{ pixel_y = 20 }, -/turf/open/floor/prison/blue_plate, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "weX" = ( /obj/structure/barricade/metal{ @@ -29897,19 +35583,27 @@ /area/fiorina/station/park) "wfi" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/chapel) "wfp" = ( /obj/structure/machinery/landinglight/ds1/delaythree{ dir = 8 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "wfy" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin, /obj/item/tool/stamp, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "wfV" = ( /obj/effect/landmark/monkey_spawn, @@ -29930,7 +35624,9 @@ /area/fiorina/oob) "wgH" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "whf" = ( /turf/closed/shuttle/elevator{ @@ -29939,24 +35635,30 @@ /area/fiorina/station/civres_blue) "whp" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "whu" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/fiorina/tumor/civres) "whL" = ( /obj/structure/machinery/cm_vending/sorted/tech/comp_storage, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "whR" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "wir" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = 30 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "wiQ" = ( /obj/structure/surface/table/reinforced/prison, @@ -29968,19 +35670,23 @@ pixel_x = 6; pixel_y = 7 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "wjk" = ( -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/chapel) "wjx" = ( /obj/structure/barricade/deployable{ dir = 1 }, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "wjH" = ( @@ -29993,7 +35699,10 @@ /area/fiorina/station/medbay) "wkp" = ( /obj/structure/machinery/iv_drip, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wkD" = ( /obj/structure/largecrate/random/case/double, @@ -30001,13 +35710,18 @@ /area/fiorina/station/disco) "wlp" = ( /obj/item/reagent_container/food/snacks/donkpocket, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "wly" = ( /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/lz/near_lzII) "wlz" = ( -/obj/structure/flora/pottedplant/pottedplant_22, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "wlG" = ( @@ -30024,19 +35738,27 @@ /obj/item/bodybag{ pixel_y = 2 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "wmd" = ( /turf/closed/wall/r_wall/prison, /area/fiorina/tumor/fiberbush) "wmp" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "wmG" = ( /obj/structure/inflatable, /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wnq" = ( /obj/item/tool/match, @@ -30048,6 +35770,12 @@ }, /turf/open/floor/wood, /area/fiorina/station/park) +"wnz" = ( +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/lowsec) "wnB" = ( /obj/structure/platform/kutjevo/smooth{ dir = 1 @@ -30068,32 +35796,47 @@ pixel_x = 2; pixel_y = 25 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "wot" = ( /obj/item/weapon/baseballbat/metal, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/chapel) "woI" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/station/civres_blue) "wpf" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "wpp" = ( -/turf/open/floor/prison/darkyellow2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkyellow2" + }, /area/fiorina/station/power_ring) "wpu" = ( /obj/item/tool/soap, /obj/structure/machinery/shower{ dir = 8 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "wpD" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -30120,16 +35863,19 @@ /area/fiorina/tumor/fiberbush) "wqx" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "wqM" = ( /obj/structure/platform, /obj/structure/closet/radiation, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "wrQ" = ( -/turf/open/floor/prison/whitepurpleangle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurplecorner" }, /area/fiorina/station/research_cells) "wrR" = ( @@ -30140,27 +35886,34 @@ indestructible = 1; name = "launch bay door" }, -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/oob) "wsN" = ( /obj/item/tool/surgery/cautery, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "wsY" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/pizzabox/margherita, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wtx" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/reagent_dispensers/water_cooler{ pixel_y = 11 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "wul" = ( /obj/item/bedsheet/green, @@ -30190,7 +35943,10 @@ /area/fiorina/station/park) "wuP" = ( /obj/structure/machinery/power/apc, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "wuT" = ( /obj/structure/lattice, @@ -30208,7 +35964,7 @@ /obj/item/ammo_magazine/rifle/m16{ current_rounds = 0 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "wvH" = ( /obj/effect/landmark/objective_landmark/medium, @@ -30222,7 +35978,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "wvY" = ( /obj/item/reagent_container/food/snacks/eat_bar, @@ -30236,33 +35994,43 @@ /obj/structure/machinery/computer/cameras{ dir = 4 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "wwH" = ( /obj/item/tool/wirecutters, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/lowsec) "wwR" = ( /obj/structure/largecrate/random/case, /obj/item/storage/toolbox/emergency{ pixel_y = 4 }, -/turf/open/floor/prison/whitepurplecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "wwZ" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wxj" = ( /obj/item/newspaper, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "wxo" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "wxX" = ( /obj/structure/machinery/computer/cameras{ @@ -30293,7 +36061,7 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "wyT" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -30309,14 +36077,17 @@ /turf/closed/wall/r_wall/prison_unmeltable, /area/fiorina/station/lowsec) "wzS" = ( -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_y = 6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "wAa" = ( /obj/structure/machinery/vending/snack/packaged, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wAj" = ( /obj/structure/machinery/shower{ @@ -30325,11 +36096,16 @@ /obj/structure/machinery/shower{ dir = 4 }, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/lowsec) "wAl" = ( /obj/structure/machinery/space_heater, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "wAn" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -30350,25 +36126,29 @@ pixel_y = 10 }, /obj/item/tool/pen, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "wAv" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/toolbox, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "wAD" = ( /obj/item/shard{ icon_state = "large" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "wAR" = ( /obj/structure/filingcabinet, /obj/structure/filingcabinet{ pixel_x = 16 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "wAT" = ( /obj/structure/surface/table/reinforced/prison, @@ -30377,14 +36157,19 @@ pixel_y = 8 }, /obj/item/trash/cigbutt, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wBr" = ( /obj/structure/bed/chair{ dir = 1; layer = 2.7 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "wBK" = ( /obj/item/stack/tile/plasteel, @@ -30396,46 +36181,62 @@ /area/fiorina/station/power_ring) "wCA" = ( /obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wCV" = ( /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest, /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "wDF" = ( /obj/structure/bed/chair{ dir = 1 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "wDV" = ( /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/darkyellow2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "wEa" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wEn" = ( /obj/structure/barricade/handrail/type_b{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "wEQ" = ( /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/yellowcorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, /area/fiorina/station/disco) "wER" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/oob) "wEX" = ( /obj/structure/machinery/light/double/blue{ @@ -30449,20 +36250,29 @@ /area/fiorina/tumor/aux_engi) "wEY" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/chapel) "wFk" = ( /obj/structure/machinery/landinglight/ds1/delayone{ dir = 4 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "wFo" = ( -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/tumor/civres) "wFD" = ( /obj/structure/bed/sofa/south/grey/right, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "wFE" = ( /obj/structure/bed/chair{ @@ -30477,7 +36287,7 @@ /obj/structure/prop/souto_land/streamer{ pixel_y = 24 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "wFU" = ( /obj/structure/window/framed/prison/reinforced/hull, @@ -30487,7 +36297,9 @@ /obj/structure/barricade/metal/wired{ dir = 8 }, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "wGf" = ( /obj/item/stack/rods, @@ -30497,13 +36309,17 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/telecomm/lz1_cargo) "wGD" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "wGM" = ( /obj/item/device/taperecorder{ @@ -30528,25 +36344,33 @@ /turf/open/floor/plating/prison, /area/fiorina/station/security/wardens) "wHx" = ( -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/lz/near_lzI) "wHE" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/item/storage/pill_bottle/inaprovaline/skillless, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "wHX" = ( /obj/item/tool/lighter/random, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + dir = 10; + icon_state = "kitchen" + }, /area/fiorina/tumor/civres) "wII" = ( /obj/structure/toilet{ dir = 8; pixel_y = 8 }, -/turf/open/floor/prison/yellowcorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "wIJ" = ( @@ -30568,7 +36392,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "wJd" = ( /obj/structure/barricade/handrail, @@ -30578,11 +36404,16 @@ /area/fiorina/station/research_cells) "wJf" = ( /obj/structure/machinery/landinglight/ds1/delaythree, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "wJt" = ( /obj/structure/bed/chair/comfy, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "wJw" = ( /obj/structure/closet/crate/trashcart, @@ -30595,8 +36426,9 @@ /area/fiorina/maintenance) "wJJ" = ( /obj/structure/closet/bodybag, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "wKb" = ( @@ -30608,7 +36440,7 @@ health = 120; icon_state = "metal_2" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "wKE" = ( /obj/effect/landmark/monkey_spawn, @@ -30617,11 +36449,15 @@ "wKF" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical/green, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "wLf" = ( /obj/structure/machinery/deployable/barrier, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "wLA" = ( /obj/structure/extinguisher_cabinet, @@ -30630,25 +36466,34 @@ "wLI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/ammo_box/magazine/misc/flares, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "wLJ" = ( /obj/structure/prop/souto_land/pole{ dir = 1 }, -/turf/open/floor/prison/darkbrown2, +/turf/open/floor/prison{ + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "wLN" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/skills{ dir = 4 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wLP" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/clipboard, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "wLX" = ( /obj/item/stack/cable_coil, @@ -30656,8 +36501,9 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "wMi" = ( @@ -30673,28 +36519,38 @@ /area/fiorina/station/security/wardens) "wMG" = ( /obj/item/stack/rods, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "wMI" = ( /obj/item/storage/box/gloves, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "wMP" = ( /obj/item/stool, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "wMQ" = ( /obj/structure/closet/secure_closet/freezer/kitchen, /obj/item/reagent_container/food/condiment/enzyme, /obj/item/reagent_container/food/condiment/enzyme, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "wMR" = ( /obj/item/device/flashlight/lamp/tripod, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "wMS" = ( /obj/structure/sink{ @@ -30702,7 +36558,10 @@ pixel_x = 12 }, /obj/structure/largecrate/random/case/double, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "wNi" = ( /obj/effect/landmark/yautja_teleport, @@ -30718,8 +36577,9 @@ }, /area/fiorina/station/chapel) "wNw" = ( -/turf/open/floor/prison/darkpurple2corner{ - dir = 4 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "wOc" = ( @@ -30730,37 +36590,52 @@ /obj/structure/platform_decoration{ dir = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "wOD" = ( -/turf/open/floor/prison/floor_marked, +/turf/open/floor/prison{ + dir = 8; + icon_state = "floor_marked" + }, /area/fiorina/tumor/servers) "wOM" = ( /obj/item/tool/kitchen/knife, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "wOR" = ( -/turf/open/floor/prison/greenbluecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "greenblue" }, /area/fiorina/station/botany) "wOS" = ( -/turf/open/floor/prison/redangle, +/turf/open/floor/prison{ + icon_state = "redcorner" + }, /area/fiorina/station/security) "wOT" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "wPz" = ( /turf/closed/shuttle/elevator, /area/fiorina/station/telecomm/lz1_cargo) "wPF" = ( /obj/item/trash/semki, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "wPL" = ( /obj/structure/platform_decoration, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "wQh" = ( /obj/structure/prop/almayer/computers/sensor_computer1{ @@ -30770,15 +36645,20 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "wQn" = ( /obj/effect/landmark/static_comms/net_one, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "wQs" = ( /obj/effect/landmark/survivor_spawner, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "wQN" = ( /obj/structure/machinery/floodlight/landing/floor, @@ -30799,30 +36679,37 @@ /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/whitegreen{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "wRn" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "wRo" = ( /obj/structure/barricade/wooden{ dir = 1 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wRv" = ( /obj/structure/bed/chair, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "wRG" = ( /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "wRP" = ( @@ -30838,14 +36725,18 @@ icon_state = "chair"; pixel_y = 6 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "wRZ" = ( -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "wSe" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/tumor/servers) "wSm" = ( @@ -30856,41 +36747,53 @@ dir = 4 }, /obj/item/stool, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "wTy" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "wTz" = ( /obj/structure/machinery/vending/security, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "wTO" = ( /obj/structure/bed{ icon_state = "abed" }, /obj/item/reagent_container/food/drinks/flask/marine, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "wTV" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "wUA" = ( -/turf/open/floor/prison/green{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "green" }, /area/fiorina/tumor/aux_engi) "wVu" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "wVI" = ( /obj/structure/sink{ @@ -30898,13 +36801,15 @@ pixel_x = -12 }, /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/whitepurplecorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "wVK" = ( -/turf/open/floor/prison/darkpurple2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "wVL" = ( @@ -30916,8 +36821,9 @@ pixel_x = -10; pixel_y = -3 }, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "wWs" = ( @@ -30932,27 +36838,40 @@ }, /turf/open/floor/almayer_hull, /area/fiorina/station/medbay) +"wXf" = ( +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, +/area/fiorina/station/flight_deck) "wXP" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper, -/turf/open/floor/prison/darkpurple2, +/turf/open/floor/prison{ + icon_state = "darkpurple2" + }, /area/fiorina/tumor/servers) "wYx" = ( /obj/item/storage/box/flashbangs, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "wYE" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzII) "wYG" = ( /obj/structure/barricade/wooden{ dir = 1 }, -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_cargo) "wZn" = ( @@ -30962,7 +36881,9 @@ /obj/item/clothing/under/marine/ua_riot, /obj/item/clothing/suit/storage/marine/veteran/ua_riot, /obj/item/prop/helmetgarb/riot_shield, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "wZo" = ( /obj/structure/machinery/light/double/blue{ @@ -30970,7 +36891,9 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "wZv" = ( /obj/item/stack/sheet/metal, @@ -30980,7 +36903,9 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "wZN" = ( /obj/item/reagent_container/food/drinks/bottle/melonliquor, @@ -30988,17 +36913,22 @@ /area/fiorina/station/civres_blue) "xaK" = ( /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "xaS" = ( /obj/structure/prop/almayer/computers/sensor_computer1, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/tumor/servers) "xbq" = ( /obj/item/stack/sheet/metal/medium_stack, /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "xbu" = ( @@ -31010,20 +36940,30 @@ pixel_y = 13 }, /obj/structure/barricade/handrail/type_b, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "xbB" = ( -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/station/flight_deck) "xbQ" = ( -/turf/open/floor/prison/panelscorched, +/turf/open/floor/prison{ + icon_state = "panelscorched" + }, /area/fiorina/station/civres_blue) "xca" = ( -/turf/open/floor/prison/platingdmg2, +/turf/open/floor/prison{ + icon_state = "platingdmg2" + }, /area/fiorina/station/security) "xcf" = ( /obj/item/reagent_container/food/snacks/donkpocket, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "xck" = ( /obj/structure/largecrate/random/case/small, @@ -31037,17 +36977,23 @@ /obj/structure/platform_decoration{ dir = 6 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "xdy" = ( -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/oob) "xdE" = ( /obj/structure/window/framed/prison/reinforced/hull, /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz1_tram) "xec" = ( -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/research_cells) "xed" = ( /obj/structure/window/reinforced{ @@ -31058,7 +37004,7 @@ }, /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/secure_data, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "xeh" = ( /obj/structure/surface/rack, @@ -31068,7 +37014,10 @@ pixel_y = -5 }, /obj/item/tool/crowbar, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xew" = ( /turf/closed/shuttle/ert{ @@ -31077,14 +37026,18 @@ /area/fiorina/lz/near_lzI) "xeD" = ( /obj/item/clothing/gloves/botanic_leather, -/turf/open/floor/prison/blue_plate_3, +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "xeO" = ( /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "xfd" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_ew_full_cap" }, /obj/structure/platform/stair_cut, /obj/structure/machinery/light/double/blue{ @@ -31095,36 +37048,47 @@ /area/fiorina/lz/near_lzI) "xfq" = ( /obj/effect/alien/weeds/node, -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "xfw" = ( /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/darkpurple2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "xfA" = ( /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xfG" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xfR" = ( /obj/effect/landmark/corpsespawner/ua_riot/burst, -/turf/open/floor/prison/darkpurple2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "xfV" = ( /obj/item/reagent_container/food/snacks/eat_bar, -/turf/open/floor/prison/blue_plate_2, +/turf/open/floor/prison{ + dir = 1; + icon_state = "blue_plate" + }, /area/fiorina/station/botany) "xgn" = ( /obj/structure/machinery/optable, @@ -31134,8 +37098,9 @@ /area/fiorina/station/medbay) "xgr" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "xgx" = ( @@ -31151,7 +37116,10 @@ /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "xhc" = ( -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "xiF" = ( /obj/structure/largecrate/random/case/double, @@ -31172,28 +37140,38 @@ /turf/open/floor/plating/prison, /area/fiorina/station/telecomm/lz2_maint) "xjv" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/power_ring) "xjw" = ( /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 8 }, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/lz/near_lzI) "xjK" = ( -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "xjW" = ( /obj/item/device/flashlight/flare, -/turf/open/floor/prison/darkyellow2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "xkj" = ( /obj/effect/landmark/objective_landmark/science, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "xkv" = ( /turf/closed/wall/prison, @@ -31205,8 +37183,9 @@ /obj/structure/machinery/m56d_hmg/mg_turret/dropship{ dir = 4 }, -/turf/open/floor/prison/cell_stripe{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "cell_stripe" }, /area/fiorina/station/disco) "xkG" = ( @@ -31215,11 +37194,15 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xkP" = ( /obj/item/tool/mop, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "xlp" = ( /obj/structure/bed/chair/office/dark{ @@ -31229,8 +37212,9 @@ /area/fiorina/station/research_cells) "xlq" = ( /obj/structure/largecrate/supply, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "xlZ" = ( @@ -31245,7 +37229,9 @@ /area/fiorina/oob) "xmg" = ( /obj/effect/landmark/static_comms/net_two, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "xmj" = ( /obj/structure/surface/table/woodentable/fancy, @@ -31253,30 +37239,34 @@ /turf/open/floor/carpet, /area/fiorina/station/security/wardens) "xmH" = ( -/turf/open/floor/prison/green{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "green" }, /area/fiorina/tumor/aux_engi) "xmM" = ( /obj/structure/barricade/metal/wired{ dir = 1 }, -/turf/open/floor/prison/darkyellow2, +/turf/open/floor/prison{ + icon_state = "darkyellow2" + }, /area/fiorina/lz/near_lzI) "xmX" = ( /obj/structure/cargo_container/grant/right{ health = 5000; unacidable = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "xna" = ( /obj/item/stack/tile/plasteel, /turf/open/floor/plating/prison, /area/fiorina/station/civres_blue) "xng" = ( -/turf/open/floor/prison/darkyellow2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellow2" }, /area/fiorina/station/flight_deck) "xno" = ( @@ -31284,8 +37274,9 @@ /turf/open/floor/plating/prison, /area/fiorina/maintenance) "xnp" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/floor/plating/prison, /area/fiorina/station/power_ring) @@ -31293,7 +37284,10 @@ /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "xns" = ( /obj/structure/surface/rack, @@ -31301,31 +37295,41 @@ desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner" }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xnA" = ( /obj/structure/curtain/red, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "xnE" = ( /obj/structure/largecrate/random/case/small, /obj/item/key/cargo_train, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/tumor/aux_engi) "xnK" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xnM" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, /turf/open/floor/plating/prison, /area/fiorina/tumor/ice_lab) "xnN" = ( /obj/structure/machinery/power/apc{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "xnR" = ( /obj/structure/surface/table/reinforced/prison, @@ -31335,11 +37339,12 @@ pixel_x = 8; pixel_y = 16 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "xnS" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/station/park) "xnU" = ( @@ -31350,12 +37355,13 @@ /obj/structure/bed/chair{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/flight_deck) "xog" = ( /obj/effect/decal/cleanable/blood/gibs/xeno/limb, -/turf/open/floor/prison/whitegreenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreencorner" }, /area/fiorina/station/medbay) "xoi" = ( @@ -31364,17 +37370,23 @@ /area/fiorina/station/medbay) "xoB" = ( /obj/item/trash/chunk, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "xoF" = ( -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/power_ring) "xoI" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/objective, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "xoK" = ( /obj/structure/closet, @@ -31385,12 +37397,17 @@ /area/fiorina/station/security/wardens) "xoQ" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xpB" = ( /obj/structure/surface/rack, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xqf" = ( /obj/structure/closet/bombcloset, @@ -31398,35 +37415,40 @@ /obj/item/stack/sheet/mineral/plastic, /obj/item/stack/sheet/mineral/plastic, /obj/item/stack/sheet/mineral/plastic, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "xqj" = ( /obj/structure/bed{ icon_state = "abed" }, -/turf/open/floor/prison/whitepurple{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "xqD" = ( /obj/item/explosive/grenade/high_explosive/frag, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "xqG" = ( /obj/item/stack/rods, -/turf/open/floor/prison/greenangle{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greencorner" }, /area/fiorina/station/chapel) "xri" = ( -/turf/open/floor/prison/yellow{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "xrn" = ( /obj/structure/surface/table/reinforced/prison, /obj/effect/spawner/random/gun/pistol/lowchance, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "xrs" = ( /obj/structure/surface/table/woodentable/fancy, @@ -31435,10 +37457,15 @@ pixel_x = 1; pixel_y = 13 }, -/turf/open/floor/prison/greenfull_2, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "xrG" = ( -/obj/structure/stairs/perspective/p_stair_ew_full_cap, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap" + }, /obj/structure/platform/stair_cut/alt, /turf/open/floor/plating/prison, /area/fiorina/station/disco) @@ -31450,22 +37477,29 @@ /area/fiorina/lz/near_lzII) "xrJ" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "xrT" = ( /obj/structure/inflatable, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ship) "xrU" = ( /obj/structure/machinery/vending/cigarette, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "xsa" = ( /obj/structure/bed/chair/comfy{ dir = 1 }, -/turf/open/floor/prison/redangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "redcorner" }, /area/fiorina/station/power_ring) "xsg" = ( @@ -31475,7 +37509,7 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "xst" = ( /obj/structure/platform, @@ -31500,30 +37534,45 @@ /turf/open/space, /area/fiorina/oob) "xub" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "xup" = ( /obj/structure/largecrate/supply/generator, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "xuw" = ( /obj/item/stool, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "xuH" = ( /obj/item/ammo_casing{ icon_state = "casing_7_1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "xvs" = ( /obj/item/stack/rods, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "xvt" = ( /obj/effect/landmark/corpsespawner/ua_riot, -/turf/open/floor/prison/whitegreen{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "xvB" = ( @@ -31535,12 +37584,16 @@ "xvD" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/reagent_container/food/snacks/ricepudding, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/servers) "xvH" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "xvI" = ( /obj/structure/disposalpipe/segment{ @@ -31554,7 +37607,10 @@ /area/fiorina/tumor/ice_lab) "xvR" = ( /obj/item/stack/sheet/metal, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/tumor/civres) "xwi" = ( /obj/item/explosive/grenade/phosphorus, @@ -31562,7 +37618,10 @@ /obj/item/explosive/grenade/phosphorus, /obj/structure/surface/rack, /obj/item/explosive/grenade/phosphorus, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xwt" = ( /obj/structure/bed/chair/comfy, @@ -31574,31 +37633,35 @@ "xwy" = ( /obj/structure/closet/firecloset, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "xwA" = ( /obj/item/ammo_casing{ icon_state = "casing_6_1" }, /obj/item/weapon/gun/smg/mp5, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "xwC" = ( /turf/closed/wall/mineral/bone_resin, /area/fiorina/tumor/fiberbush) "xwD" = ( /obj/item/tool/weldingtool/largetank, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/civres_blue) "xxd" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "xxh" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkbrown2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "xxD" = ( @@ -31606,7 +37669,9 @@ /area/fiorina/station/civres_blue) "xxE" = ( /obj/item/stack/rods/plasteel, -/turf/open/floor/prison/damaged3, +/turf/open/floor/prison{ + icon_state = "damaged3" + }, /area/fiorina/station/security) "xxP" = ( /obj/structure/flora/bush/ausbushes/grassybush{ @@ -31628,33 +37693,38 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "xyK" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/power_ring) "xyR" = ( /obj/structure/bedsheetbin, -/turf/open/floor/prison/yellow{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "xzb" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "xzj" = ( /turf/open/floor/carpet, /area/fiorina/tumor/civres) "xzr" = ( /obj/item/prop/helmetgarb/gunoil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/maintenance) "xzs" = ( /obj/structure/machinery/space_heater, @@ -31670,8 +37740,9 @@ health = 150; icon_state = "metal_2" }, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "xzW" = ( @@ -31679,11 +37750,16 @@ /obj/item/explosive/mine/pmc, /obj/effect/spawner/random/gun/smg, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/yellowfull, +/turf/open/floor/prison{ + icon_state = "yellowfull" + }, /area/fiorina/station/lowsec) "xAi" = ( /obj/structure/machinery/vending/sovietsoda, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "xAl" = ( /obj/structure/cargo_container/grant/right{ @@ -31699,7 +37775,10 @@ }, /area/fiorina/tumor/fiberbush) "xAw" = ( -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 8; + icon_state = "sterile_white" + }, /area/fiorina/station/lowsec) "xAR" = ( /obj/structure/prop/structure_lattice{ @@ -31711,7 +37790,9 @@ layer = 3.1; pixel_y = 10 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/park) "xBl" = ( /obj/structure/surface/table/woodentable, @@ -31730,27 +37811,33 @@ "xBv" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "xBI" = ( -/turf/open/floor/prison/cell_stripe{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "cell_stripe" }, /area/fiorina/lz/near_lzII) "xBK" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/flora/pottedplant/pottedplant_29{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_29"; pixel_x = 1; pixel_y = 10 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "xBR" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security/wardens) "xBT" = ( -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security/wardens) "xCa" = ( /obj/item/toy/crayon/rainbow, @@ -31761,7 +37848,10 @@ icon_state = "sandbag_0"; pixel_y = -14 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "xCo" = ( /obj/structure/prop/structure_lattice{ @@ -31780,29 +37870,40 @@ name = "overhead pipe"; pixel_y = 20 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xCs" = ( /obj/effect/decal/medical_decals{ icon_state = "cryocell1decal" }, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/station/medbay) "xCy" = ( /obj/item/paper/prison_station/inmate_handbook, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/station/research_cells) "xCW" = ( /obj/structure/grille, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/research_cells) "xDe" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/green, +/turf/open/floor/prison{ + icon_state = "green" + }, /area/fiorina/station/chapel) "xDg" = ( /obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "xDq" = ( /turf/closed/shuttle/ert{ @@ -31814,16 +37915,19 @@ /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "xDz" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 8 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "xDQ" = ( -/turf/open/floor/prison/cell_stripe, +/turf/open/floor/prison{ + icon_state = "cell_stripe" + }, /area/fiorina/station/security) "xEa" = ( /obj/structure/closet/secure_closet/security_empty, @@ -31831,10 +37935,13 @@ /obj/structure/window/reinforced{ dir = 4 }, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "xEE" = ( -/obj/structure/flora/pottedplant/pottedplant_22{ +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; indestructible = 1 }, /obj/item/clothing/head/that{ @@ -31845,8 +37952,9 @@ /turf/open/floor/plating/prison, /area/fiorina/tumor/civres) "xFe" = ( -/obj/structure/stairs/perspective/p_stair_full{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /obj/structure/platform, /obj/structure/barricade/handrail/type_b{ @@ -31861,13 +37969,14 @@ }, /area/fiorina/tumor/aux_engi) "xFx" = ( -/turf/open/floor/prison/greencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "green" }, /area/fiorina/tumor/civres) "xFB" = ( /obj/structure/platform, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/botany) "xFP" = ( /turf/closed/shuttle/ert{ @@ -31886,14 +37995,19 @@ dir = 4; pixel_y = 4 }, -/turf/open/floor/prison/bright_clean_marked, +/turf/open/floor/prison{ + dir = 10; + icon_state = "bright_clean_marked" + }, /area/fiorina/station/medbay) "xHV" = ( /turf/closed/wall/mineral/bone_resin, /area/fiorina/tumor/civres) "xHY" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "xIb" = ( /obj/structure/platform{ @@ -31903,11 +38017,16 @@ /obj/structure/machinery/door/airlock/prison_hatch/autoname{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "xIg" = ( /obj/structure/largecrate/supply/medicine/medivend, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xIh" = ( /obj/structure/surface/table/reinforced/prison, @@ -31919,7 +38038,10 @@ /turf/open/floor/wood, /area/fiorina/station/park) "xIo" = ( -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/station/park) "xIx" = ( /obj/structure/largecrate/random, @@ -31933,7 +38055,9 @@ /obj/structure/machinery/door/airlock/prison_hatch/autoname{ dir = 1 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/ice_lab) "xJw" = ( /turf/closed/wall/r_wall/prison_unmeltable, @@ -31944,8 +38068,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/blue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "xKj" = ( @@ -31956,8 +38081,9 @@ /turf/open/floor/plating/prison, /area/fiorina/station/disco) "xLa" = ( -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/oob) "xLi" = ( @@ -31968,11 +38094,15 @@ /obj/item/device/radio{ pixel_y = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/power_ring) "xLP" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_nest, -/turf/open/floor/prison/whitegreen, +/turf/open/floor/prison{ + icon_state = "whitegreen" + }, /area/fiorina/tumor/ice_lab) "xLQ" = ( /obj/structure/window/framed/prison, @@ -31984,30 +38114,39 @@ /turf/open/floor/plating/prison, /area/fiorina/station/medbay) "xMg" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "xMs" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/faxmachine, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "xMN" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "xMR" = ( -/turf/open/floor/prison/whitepurple{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "whitepurple" }, /area/fiorina/station/research_cells) "xMT" = ( /obj/structure/bed/chair{ dir = 4 }, -/turf/open/floor/prison/blueangle, +/turf/open/floor/prison{ + icon_state = "bluecorner" + }, /area/fiorina/station/power_ring) "xMW" = ( /obj/structure/barricade/handrail{ @@ -32027,7 +38166,9 @@ /obj/structure/surface/table/reinforced/prison, /obj/item/card/id/guest, /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/redfull, +/turf/open/floor/prison{ + icon_state = "redfull" + }, /area/fiorina/station/security) "xNg" = ( /obj/effect/decal/hefa_cult_decals/d32{ @@ -32042,17 +38183,20 @@ /turf/closed/wall/r_wall/prison, /area/fiorina/station/security) "xNQ" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/disco) "xOa" = ( /obj/structure/bookcase/manuals/engineering, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xOE" = ( /obj/structure/machinery/door/airlock/prison_hatch/autoname{ @@ -32064,19 +38208,22 @@ /area/fiorina/tumor/ship) "xOI" = ( /obj/structure/machinery/vending/coffee, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/flight_deck) "xOQ" = ( /obj/structure/machinery/light/double/blue{ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzII) "xOV" = ( /obj/structure/machinery/gibber, -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "xPG" = ( @@ -32087,13 +38234,16 @@ /area/fiorina/maintenance) "xPO" = ( /obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/prison/yellow{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" }, /area/fiorina/station/lowsec) "xPX" = ( /obj/structure/machinery/disposal, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/transit_hub) "xQb" = ( /obj/structure/surface/table/reinforced/prison, @@ -32105,7 +38255,10 @@ pixel_x = 5; pixel_y = 2 }, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "xQC" = ( /obj/structure/platform/kutjevo/smooth, @@ -32118,33 +38271,41 @@ "xQE" = ( /obj/structure/closet/bodybag, /obj/effect/decal/cleanable/blood/gibs/up, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/lowsec) "xRg" = ( /obj/item/trash/popcorn, -/turf/open/floor/prison/blue{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue" }, /area/fiorina/station/power_ring) "xRh" = ( -/turf/open/floor/prison/whitegreencorner{ - dir = 1 +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreen" }, /area/fiorina/tumor/ice_lab) "xSd" = ( -/turf/open/floor/prison/bluecorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 5; + icon_state = "blue" }, /area/fiorina/station/civres_blue) "xSg" = ( /obj/structure/flora/pottedplant/random, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "xSB" = ( /obj/effect/spawner/random/toolbox, /obj/structure/surface/rack, /obj/item/device/flashlight, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/transit_hub) "xTa" = ( /obj/structure/machinery/light/double/blue{ @@ -32152,19 +38313,22 @@ pixel_x = 10; pixel_y = 13 }, -/turf/open/floor/prison/greenblue{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenblue" }, /area/fiorina/station/botany) "xTe" = ( /obj/structure/machinery/recharge_station, -/turf/open/floor/prison/bluecorner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "blue" }, /area/fiorina/station/power_ring) "xTi" = ( -/obj/structure/stairs/perspective/p_stair_sn_full_cap{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, /obj/structure/platform{ dir = 4 @@ -32176,15 +38340,18 @@ dir = 8; pixel_y = 24 }, -/turf/open/floor/prison/darkbrown2{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkbrown2" }, /area/fiorina/station/park) "xTy" = ( /obj/structure/barricade/deployable{ dir = 4 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "xUi" = ( /obj/structure/surface/rack, @@ -32197,26 +38364,34 @@ /area/fiorina/lz/near_lzII) "xUq" = ( /obj/item/stack/barbed_wire, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xUt" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "xUz" = ( -/turf/open/floor/prison/blueangle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "bluecorner" }, /area/fiorina/station/power_ring) "xVh" = ( /obj/structure/platform_decoration{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/transit_hub) "xVm" = ( /obj/effect/landmark/objective_landmark/close, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/security) "xVv" = ( /obj/structure/sink{ @@ -32224,13 +38399,18 @@ pixel_x = 12 }, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/whitepurplecorner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "whitepurple" + }, /area/fiorina/station/research_cells) "xVD" = ( /obj/structure/prop/resin_prop{ icon_state = "rack" }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/aux_engi) "xVK" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -32244,8 +38424,9 @@ }, /area/fiorina/station/park) "xVP" = ( -/turf/open/floor/prison/darkyellow2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "xVR" = ( @@ -32254,7 +38435,9 @@ pixel_y = 32 }, /obj/item/tool/kitchen/knife/butcher, -/turf/open/floor/prison/kitchen, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, /area/fiorina/station/power_ring) "xWc" = ( /obj/item/clothing/shoes/dress, @@ -32262,7 +38445,10 @@ /area/fiorina/oob) "xWp" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/tumor/ice_lab) "xWH" = ( /obj/structure/machinery/computer/emails{ @@ -32270,19 +38456,25 @@ pixel_y = 4 }, /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "xWN" = ( /obj/structure/bed/sofa/south/grey/left, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/civres_blue) "xYg" = ( /obj/docking_port/stationary/marine_dropship/lz2, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzII) "xYA" = ( -/turf/open/floor/prison/blue_plate_3{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "blue_plate" }, /area/fiorina/station/botany) "xYB" = ( @@ -32296,7 +38488,10 @@ pixel_y = -11 }, /obj/item/reagent_container/food/snacks/doughslice, -/turf/open/floor/prison/darkyellow2full, +/turf/open/floor/prison{ + dir = 4; + icon_state = "darkyellowfull2" + }, /area/fiorina/station/flight_deck) "xYY" = ( /obj/item/stool, @@ -32304,19 +38499,22 @@ dir = 1; pixel_y = 21 }, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/civres_blue) "xZb" = ( /obj/item/stack/rods, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/park) "xZk" = ( /obj/item/ammo_casing{ dir = 8; icon_state = "cartridge_2" }, -/turf/open/floor/prison/darkyellow2angle{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkyellowcorners2" }, /area/fiorina/station/telecomm/lz1_cargo) "xZo" = ( @@ -32326,7 +38524,9 @@ pixel_x = 7; pixel_y = 6 }, -/turf/open/floor/prison/blue, +/turf/open/floor/prison{ + icon_state = "blue" + }, /area/fiorina/station/chapel) "xZD" = ( /obj/structure/surface/table/reinforced/prison, @@ -32347,11 +38547,13 @@ /obj/structure/platform, /obj/structure/closet/firecloset/full, /obj/item/paper/prison_station/inmate_handbook, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "yaC" = ( /obj/structure/machinery/vending/cigarette/free, -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/tumor/aux_engi) "yaJ" = ( /obj/structure/machinery/vending/sovietsoda, @@ -32359,8 +38561,9 @@ /area/fiorina/station/medbay) "yaU" = ( /obj/effect/landmark/monkey_spawn, -/turf/open/floor/prison/darkbrown2{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrown2" }, /area/fiorina/tumor/aux_engi) "yaY" = ( @@ -32391,7 +38594,9 @@ /obj/item/stack/sheet/metal{ amount = 5 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "ybU" = ( /obj/structure/prop/resin_prop{ @@ -32402,25 +38607,31 @@ "ybY" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/medium, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "ycd" = ( -/turf/open/floor/prison/darkbrown2full, +/turf/open/floor/prison{ + icon_state = "darkbrownfull2" + }, /area/fiorina/maintenance) "ycg" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/fancy/vials/random, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "ycj" = ( /obj/structure/platform{ dir = 1 }, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/lz/near_lzI) "ycn" = ( -/turf/open/floor/prison/darkbrown2angle{ - dir = 1 +/turf/open/floor/prison{ + dir = 1; + icon_state = "darkbrowncorners2" }, /area/fiorina/tumor/aux_engi) "ycC" = ( @@ -32432,40 +38643,53 @@ /area/fiorina/tumor/fiberbush) "ycN" = ( /obj/item/tool/wrench, -/turf/open/floor/prison/bluefull, +/turf/open/floor/prison{ + icon_state = "bluefull" + }, /area/fiorina/station/power_ring) "ycX" = ( -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/telecomm/lz1_cargo) "ydk" = ( /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/prison/floorscorched1, +/turf/open/floor/prison{ + icon_state = "floorscorched1" + }, /area/fiorina/station/chapel) "ydX" = ( -/turf/open/floor/prison/darkyellow2corner{ - dir = 8 +/turf/open/floor/prison{ + dir = 9; + icon_state = "darkyellow2" }, /area/fiorina/station/telecomm/lz1_tram) "ydY" = ( /obj/structure/surface/rack, -/turf/open/floor/prison/darkbrown2corner, +/turf/open/floor/prison{ + dir = 6; + icon_state = "darkbrown2" + }, /area/fiorina/maintenance) "yft" = ( /obj/item/clothing/under/color/orange, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/security) "yfB" = ( /obj/effect/decal/medical_decals{ icon_state = "docdecal1" }, /obj/item/stack/cable_coil/blue, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "yfC" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/lz/near_lzII) "yfE" = ( /obj/structure/disposalpipe/junction{ @@ -32479,7 +38703,9 @@ pixel_x = 10; pixel_y = -3 }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + icon_state = "sterile_white" + }, /area/fiorina/station/civres_blue) "yge" = ( /obj/structure/flora/grass/tallgrass/jungle/corner{ @@ -32496,7 +38722,7 @@ /area/fiorina/station/park) "ygv" = ( /obj/structure/machinery/light/double/blue, -/turf/open/floor/prison/floor, +/turf/open/floor/prison, /area/fiorina/station/medbay) "ygw" = ( /obj/structure/surface/table/reinforced/prison, @@ -32516,15 +38742,19 @@ /obj/item/ammo_casing{ icon_state = "casing_1" }, -/turf/open/floor/prison/sterile_white, +/turf/open/floor/prison{ + dir = 10; + icon_state = "sterile_white" + }, /area/fiorina/station/medbay) "ygS" = ( /obj/structure/largecrate/random/secure, /obj/structure/machinery/light/double/blue{ pixel_y = -1 }, -/turf/open/floor/prison/yellowcorner{ - dir = 4 +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" }, /area/fiorina/station/disco) "yhu" = ( @@ -32533,7 +38763,10 @@ /area/fiorina/tumor/aux_engi) "yhE" = ( /obj/structure/machinery/vending/hydroseeds, -/turf/open/floor/prison/greenfull, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" + }, /area/fiorina/station/botany) "yhR" = ( /obj/structure/sign/prop3{ @@ -32544,7 +38777,10 @@ "yhT" = ( /obj/structure/largecrate/supply/ammo, /obj/item/storage/fancy/crayons, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_plate" + }, /area/fiorina/station/telecomm/lz1_cargo) "yil" = ( /obj/structure/bed/roller, @@ -32552,8 +38788,9 @@ pixel_y = 19 }, /obj/item/bedsheet/green, -/turf/open/floor/prison/whitegreen{ - dir = 4 +/turf/open/floor/prison{ + dir = 4; + icon_state = "whitegreen" }, /area/fiorina/station/medbay) "yio" = ( @@ -32567,29 +38804,42 @@ /area/fiorina/tumor/civres) "yiD" = ( /obj/structure/machinery/vending/cigarette/colony, -/turf/open/floor/prison/darkred2full, +/turf/open/floor/prison{ + icon_state = "darkredfull2" + }, /area/fiorina/lz/near_lzI) "yiG" = ( /obj/structure/platform_decoration{ dir = 8 }, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/disco) "yjs" = ( /obj/item/reagent_container/food/snacks/eat_bar, -/turf/open/floor/prison/whitegreenfull, +/turf/open/floor/prison{ + dir = 10; + icon_state = "whitegreenfull" + }, /area/fiorina/station/medbay) "yjO" = ( /obj/structure/largecrate/supply/supplies/tables_racks, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/civres) "yke" = ( /obj/effect/spawner/random/tool, -/turf/open/floor/prison/darkpurple2full, +/turf/open/floor/prison{ + icon_state = "darkpurplefull2" + }, /area/fiorina/station/research_cells) "ykI" = ( /obj/structure/largecrate/random/barrel/green, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/station/medbay) "ykO" = ( /obj/structure/ice/thin/indestructible{ @@ -32599,8 +38849,9 @@ /turf/open/ice/noweed, /area/fiorina/tumor/ice_lab) "ykT" = ( -/turf/open/floor/prison/darkpurple2{ - dir = 8 +/turf/open/floor/prison{ + dir = 8; + icon_state = "darkpurple2" }, /area/fiorina/tumor/servers) "ykX" = ( @@ -32611,10 +38862,14 @@ /area/fiorina/station/telecomm/lz2_maint) "ylf" = ( /obj/structure/surface/table/reinforced/prison, -/turf/open/floor/prison/floor_plate, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/fiorina/tumor/fiberbush) "yls" = ( -/obj/structure/monorail/launchtrack, +/obj/structure/monorail{ + name = "launch track" + }, /turf/open/floor/plating/prison, /area/fiorina/lz/near_lzI) "ylu" = ( @@ -34630,14 +40885,14 @@ dXG dIo hDx dXG -lhQ +diP qmd xFx -lhQ +diP kDO -lhQ +diP qty -lhQ +diP qty oOK sUl @@ -34845,13 +41100,13 @@ dXG bjx dXG oVC -diP +lhQ kDO -diP +lhQ qty -diP +lhQ gcr -diP +lhQ aEi pRH qPb @@ -35054,7 +41309,7 @@ dXG dIo wJa dXG -diP +lhQ dXG vAZ hDx @@ -36323,9 +42578,9 @@ clu dIo xHV xHV -lhQ +diP qty -lhQ +diP qty dXG hDx @@ -36535,9 +42790,9 @@ dXG dIo xHV qty -diP +lhQ qty -diP +lhQ qty qty hDx @@ -36957,11 +43212,11 @@ hDx pwL oKq hDx -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty qty hDx @@ -37169,11 +43424,11 @@ qty dXG dXG hDx -diP +lhQ qty -diP +lhQ qty -diP +lhQ dXG qty hDx @@ -38446,7 +44701,7 @@ dIo dXG rsz dXG -lhQ +diP xFx hDx sRg @@ -38661,13 +44916,13 @@ dXG bjx tQq xFx -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP sUl qPb qPb @@ -38870,16 +45125,16 @@ xHV xHV xHV xHV -diP +lhQ fpp oVC -diP +lhQ qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ sUl qPb qPb @@ -38929,7 +45184,7 @@ kbT kbT kbT ogM -ncn +jVH bEn qbd bEn @@ -40523,13 +46778,13 @@ agi agi mjx eda -fLq +eQR efz -fLq +eQR efz -fLq +eQR eda -fLq +eQR efz dXG hDx @@ -40729,19 +46984,19 @@ agi agi agi cBU -vco +wNw ykT uhd hoZ mjx efz -eQR +fLq efz -eQR +fLq efz -eQR +fLq efz -eQR +fLq efz dXG dXG @@ -40785,9 +47040,9 @@ hDx qty qty qty -lhQ +diP qty -lhQ +diP nsg xFx xHV @@ -40798,7 +47053,7 @@ xHV jlk uNM uNM -ncn +jVH bEn gPO bEn @@ -40997,9 +47252,9 @@ qWB qty qty qty -diP +lhQ qty -diP +lhQ tzj lvs hDx @@ -41153,19 +47408,19 @@ agi agi hoZ cBU -wNw +vco wVK uFX lwK mjx efz -fLq +eQR efz -fLq +eQR efz -fLq +eQR efz -fLq +eQR efz doD doD @@ -41212,7 +47467,7 @@ dIo dIo hDx hDx -diP +lhQ oVC nsg nsg @@ -41371,13 +47626,13 @@ dCl lwK mjx egY -eQR +fLq efz -eQR +fLq efz -eQR +fLq kur -eQR +fLq efz hoZ fGb @@ -41577,7 +47832,7 @@ agi gEF pCX lwK -vco +wNw ykT uhd lwK @@ -41636,7 +47891,7 @@ xHV xHV dIo hSF -lhQ +diP xFx hDx hDx @@ -42001,7 +48256,7 @@ cVQ gEF hoZ lwK -wNw +vco wVK uFX lwK @@ -42060,7 +48315,7 @@ xHV dIo dIo hSF -lhQ +diP xFx igA nsg @@ -42425,7 +48680,7 @@ hoZ gEF hoZ lwK -vco +wNw ykT uhd lwK @@ -42484,7 +48739,7 @@ whu hDx rMg hDx -lhQ +diP tIK hDx hDx @@ -42683,22 +48938,22 @@ dXG xHV qty qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP qty -lhQ +diP hcb lvs -lhQ +diP foZ xFx rNF @@ -42713,7 +48968,7 @@ jXZ qCW amF geU -ncn +jVH lwG aKW aKW @@ -42849,7 +49104,7 @@ hoZ gEF hoZ lwK -wNw +vco wVK uFX lwK @@ -42895,22 +49150,22 @@ xHV xHV xHV qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ qty -diP +lhQ tzj lvs -diP +lhQ qty lsl xFx @@ -43120,7 +49375,7 @@ whu hDx rMg hDx -diP +lhQ oVC hDx hDx @@ -43544,7 +49799,7 @@ hDx kUj kUj xHV -diP +lhQ oVC gWT fpp @@ -43968,7 +50223,7 @@ xzj fBP xHV kUj -diP +lhQ oVC hDx hDx @@ -44197,7 +50452,7 @@ rGq pyK sXi pyK -jVH +ncn gUf sJT sJT @@ -44392,7 +50647,7 @@ dXG xHV xHV dIo -diP +lhQ oVC fpp fpp @@ -44816,7 +51071,7 @@ egv egv gma apf -diP +lhQ oVC hDx vkM @@ -44833,7 +51088,7 @@ rGq sXi sXi sXi -ncn +jVH lwG jlk jlk @@ -45530,7 +51785,7 @@ jgu dxd cdD ajK -iFj +hhy vwc vwc vwc @@ -45664,7 +51919,7 @@ apf gma gma apf -lhQ +diP qXM mLB tYw @@ -45939,7 +52194,7 @@ war kXD oRR dLq -iFj +hhy vwc vwc oTU @@ -46164,7 +52419,7 @@ wbI wbI kXD dxd -hhy +iFj bDN irB irB @@ -46520,7 +52775,7 @@ cyL ubk hAY sJT -jVH +ncn peY peY peY @@ -47714,7 +53969,7 @@ ieW fGb nBV nyl -vco +wNw rKS uhd chS @@ -47722,7 +53977,7 @@ uTX fGb nBV nyl -vco +wNw ykT uhd chS @@ -48138,7 +54393,7 @@ mlM fGb nBV nyl -wNw +vco wVK cfz chS @@ -48146,7 +54401,7 @@ uTX fGb nBV nyl -wNw +vco wVK uFX chS @@ -48271,7 +54526,7 @@ kXD aBJ wKb wbI -hhy +iFj bDN bDN gqH @@ -48562,7 +54817,7 @@ ieW fGb nBV nyl -vco +wNw ykT uhd chS @@ -48570,7 +54825,7 @@ uTX fGb nBV nyl -vco +wNw ykT uhd chS @@ -48986,7 +55241,7 @@ mlM fGb nBV nyl -wNw +vco xfw quy chS @@ -48994,7 +55249,7 @@ uTX qqX nBV nyl -wNw +vco rHd uFX chS @@ -49112,7 +55367,7 @@ xkP lIx xub uGM -hhy +iFj xIo uGM uGM @@ -50266,7 +56521,7 @@ uTX fGb agi nyl -vco +wNw ykT ifq chS @@ -50384,7 +56639,7 @@ xub xub xub xub -iFj +hhy aNn uGM uGM @@ -50394,7 +56649,7 @@ uGM uGM uGM uGM -iFj +hhy aNn uGM uGM @@ -50682,7 +56937,7 @@ hoZ njx njx nyl -wNw +vco wVK uFX rMt @@ -50690,7 +56945,7 @@ uTX fGb uXu lwK -wNw +vco pxa uFX chS @@ -51106,7 +57361,7 @@ hoZ njx njx nyl -vco +wNw ykT uhd chS @@ -51114,7 +57369,7 @@ uTX fGb veM lwK -vco +wNw esF uhd chS @@ -51530,7 +57785,7 @@ hoZ tXQ njx nyl -wNw +vco wVK uFX rRb @@ -51755,7 +58010,7 @@ rLC kcw aWV agi -wNw +vco wVK qdJ apf @@ -52292,7 +58547,7 @@ dMO uGM uGM xub -hhy +iFj bDN bDN eQv @@ -53228,7 +59483,7 @@ aWV jXz lwK lwK -vco +wNw njx uhd lwK @@ -53657,10 +59912,10 @@ xvD nGX ukz lwK -vco +wNw uhd njx -vco +wNw uhd egv gma @@ -54288,7 +60543,7 @@ hoZ gEF eQD lwK -wNw +vco usq uFX lwK @@ -54505,10 +60760,10 @@ ykT lwK njx pyv -wNw +vco uFX agi -wNw +vco uFX apf esS @@ -55418,7 +61673,7 @@ bJF dgF bis sXy -ghP +usa vNF uqa kEE @@ -55482,7 +61737,7 @@ eLu sGI szK wbI -hhy +iFj xIo uGM eLu @@ -55547,7 +61802,7 @@ sqg sqg xRh hhl -hUh +hTt iHU iYq xjK @@ -55971,7 +62226,7 @@ azZ ghv ezJ xjK -hTt +hUh iJC iZZ xjK @@ -57114,7 +63369,7 @@ mTX axi bis sXy -usa +ghP xqG oTl kEE @@ -57829,7 +64084,7 @@ oly vZX vZX jwc -cEB +lCw uat qwU gfo @@ -58253,7 +64508,7 @@ qkN vZX vZX aWk -lCw +cEB jrk rkb czj @@ -60316,10 +66571,10 @@ rHu rJu uzw kqC -avl +cCq dHp dHp -cCq +uFh abJ usz usz @@ -60730,9 +66985,9 @@ cME qIq eLu lcH -avl -dHp cCq +dHp +uFh lcH wQT eLu @@ -62433,10 +68688,10 @@ kqC isP fAs kqC -uFh +avl ocB kqC -avl +cCq dHp dHp dHp @@ -62444,7 +68699,7 @@ ugU gNW gNW gNW -oMz +hKE xGt mni tHs @@ -62854,11 +69109,11 @@ pHu ikA vei usz -avl +cCq dHp dHp dHp -cCq +uFh jRR pHu sHH @@ -63066,7 +69321,7 @@ pHu mcc vei usz -uFh +avl xri xri xri @@ -63490,10 +69745,10 @@ cMg mcc vei kqC -avl +cCq awo kqC -avl +cCq mIA kqC pHu @@ -64338,10 +70593,10 @@ pHu mcc vei kqC -uFh +avl fAs kqC -uFh +avl jms kqC pHu @@ -64762,11 +71017,11 @@ pHu mcc vei usz -avl +cCq dHp dHp wsN -cCq +uFh jRR wjx uyd @@ -64988,7 +71243,7 @@ nhR sql pZb kWn -oMz +hKE hZR kPz kPz @@ -65398,13 +71653,13 @@ ldt mcc vei kqC -avl +cCq pDV kqC -avl +cCq qkY kqC -uFh +avl xri xri xri @@ -65828,9 +72083,9 @@ kqC kqC kqC mCF -rds -kWn oMz +kWn +hKE kqC wAj fXS @@ -65838,9 +72093,9 @@ fXS fXS gpq kqC -avl -dHp cCq +dHp +uFh abJ usz usz @@ -66246,10 +72501,10 @@ pHu mcc vei kqC -uFh +avl jms kqC -uFh +avl aIv kqC pHu @@ -66648,7 +72903,7 @@ rkB rFr miU uSb -sDp +lzb ecM bQM bQM @@ -66674,7 +72929,7 @@ dHp hCd dHp dHp -cCq +uFh usz pHu mcc @@ -67307,9 +73562,9 @@ vza mcc mcc mcc -avl +cCq kqC -avl +cCq sCh kqC cLE @@ -67496,7 +73751,7 @@ cjF miU xKX gqe -sDp +lzb ecM ecM mlC @@ -67511,14 +73766,14 @@ erT bQM wzE scw -cCq +uFh mcc mcc mcc evf dWM mcc -avl +cCq pHu kqC wII @@ -67942,7 +74197,7 @@ mcc mcc rFT mcc -uFh +avl xPO kqC qDI @@ -68155,9 +74410,9 @@ qBk dui mcc mcc -uFh +avl kqC -uFh +avl iUy kqC ggp @@ -68338,11 +74593,11 @@ cjF gqe gqe gqe -iOJ sad +rsW kJX oXE -sWF +sED gqe kJX gqe @@ -68570,7 +74825,7 @@ wpO usz usz usz -uFh +avl xri xri xri @@ -68582,16 +74837,16 @@ mcc pZb dHp dHp -cCq +uFh hZR bQM hZR dDM -avl +cCq dHp dHp dHp -cCq +uFh dDM duF jao @@ -68975,7 +75230,7 @@ gqe gqe gqe cTA -sad +rsW hLO gqe gqe @@ -69186,7 +75441,7 @@ dAe lps gqe gqe -rsW +iOJ ozh kJX gqe @@ -69214,10 +75469,10 @@ pHu mcc vei kqC -avl +cCq fOZ kqC -avl +cCq pDV wzE kPz @@ -69411,9 +75666,9 @@ gqe oEI jKb abJ -avl -dHp cCq +dHp +uFh wBr kqC vRA @@ -69859,10 +76114,10 @@ wzE bQM hZR vbd -uFh +avl iUy vbd -uFh +avl iUy vbd duF @@ -70057,15 +76312,15 @@ aru dHp dHp dHp -cCq +uFh pHu mcc vei kqC -uFh +avl jms kqC -uFh +avl jms wzE wzE @@ -70264,11 +76519,11 @@ mcc vei abJ usz -avl +cCq dHp dHp dHp -cCq +uFh iUy pHu mcc @@ -70448,7 +76703,7 @@ iZV jYs vWI nSz -iOJ +sad qpa nSz nSz @@ -70476,21 +76731,21 @@ mcc vei vRA usz -uFh +avl xri xri xri iUy -cCq +uFh qWf mcc vei usz -avl +cCq dHp dHp dHp -cCq +uFh usz duF koy @@ -70660,9 +76915,9 @@ dyM jYs nSz ozh -rsW +iOJ ozh -rsW +iOJ vYA oDz fnW @@ -70689,7 +76944,7 @@ dzj kqC kqC usz -uFh +avl xri xri xri @@ -70698,7 +76953,7 @@ pHu mcc vei usz -uFh +avl xri xri xri @@ -71082,7 +77337,7 @@ bQM bQM bQM uwk -rsW +iOJ cjF jBL cjF @@ -71095,8 +77350,8 @@ cjF krQ cjF gqe -iOJ -dDy +sad +aPi ecM mlC mlC @@ -71112,20 +77367,20 @@ mcc vei wBr kqC -uFh +avl jms kqC -uFh +avl jms kqC ulJ mcc vei kqC -avl +cCq pDV kqC -avl +cCq pDV kqC qOG @@ -71297,13 +77552,13 @@ uwk gqe naN cjF -sad -kJX rsW -ozh -sad kJX +iOJ +ozh rsW +kJX +iOJ cjF cjF gqe @@ -71319,7 +77574,7 @@ bKs rUY xNQ vRA -uFh +avl lka iUy usz @@ -71506,7 +77761,7 @@ bQM bQM bQM uwk -sad +rsW uyb cjF stq @@ -71721,18 +77976,18 @@ vnr ozh cjF cjF -rsW +iOJ mlC bQM kPz bQM mlC -sad +rsW cjF cjF gqe -gNP gtM +sbM mlC kPz kPz @@ -71930,7 +78185,7 @@ jsn ycX eOS vNq -qHh +srz cjF cjF gqe @@ -71939,11 +78194,11 @@ kPz kPz kPz mlC -iOJ +sad cjF cjF gqe -rsW +iOJ dhN ecM mlC @@ -71970,10 +78225,10 @@ pHu mcc vei kqC -uFh +avl jms kqC -uFh +avl jms kqC riu @@ -72145,13 +78400,13 @@ sun gqe cjF cjF -sad +rsW mlC bQM kPz bQM mlC -rsW +iOJ cjF cjF gqe @@ -72164,8 +78419,8 @@ gqe gqe gqe gqe -iOJ sad +rsW gqe gqe gqe @@ -72394,11 +78649,11 @@ pHu mcc vei usz -avl +cCq dHp dHp dHp -cCq +uFh usz ntv lAS @@ -72569,21 +78824,21 @@ mfo cjF cjF cjF -rsW +iOJ fnt -sad -gqe rsW +gqe +iOJ fnt -sad +rsW cjF cjF -iOJ sad +rsW gqe gqe -iOJ sad +rsW gqe gqe gqe @@ -72602,11 +78857,11 @@ usz fpY usz mcc -uFh +avl xri iUy usz -uFh +avl xri xri xri @@ -72778,7 +79033,7 @@ ycX qHZ ycX jRp -dPQ +vvX cjF cjF cjF @@ -72790,11 +79045,11 @@ cjF cjF cjF cjF -rsW +iOJ ozh gqe bKs -rsW +iOJ ozh gqe gqe @@ -72991,25 +79246,25 @@ ycX eOS vNq hvE -dPQ +vvX ozh -sad +rsW hmg dyi dQY -hyI -uch eIp +uch +flo dQY -aJR +dPQ gqe gqe hmg uch uch cWU -iOJ sad +rsW gqe hYK lpp @@ -73030,7 +79285,7 @@ sHH sHH qOd kqC -avl +cCq pDV mxQ fCZ @@ -73224,7 +79479,7 @@ gCb ejO gqe gqe -rsW +iOJ ozh gqe gqe @@ -73232,7 +79487,7 @@ mAA atx jxy wjH -hDr +nph vHG pQq dtg @@ -73645,11 +79900,11 @@ ecM nSx aah ckD -cjF +mQZ gqe -iOJ sad -cjF +rsW +mQZ gqe gqe gqe @@ -73858,11 +80113,11 @@ cVV glH xKX jbk -cjF -rsW +mQZ iOJ sad -cjF +rsW +mQZ gqe gqe uix @@ -74071,10 +80326,10 @@ xKX rGf xKX bRU -cjF -rsW +mQZ +iOJ ozh -sad +rsW gqe gqe gqe @@ -74284,8 +80539,8 @@ xKX sGb ozh gqe -cjF -rsW +mQZ +iOJ ozh gqe gqe @@ -74491,11 +80746,11 @@ jLs wGm nSx nSx -srz -sad -cjF +ajD +rsW +mQZ gqe -iOJ +sad vEX nSx qKF @@ -74703,12 +80958,12 @@ tTV aap fvk oHI -rsW iOJ sad -cjF rsW +mQZ iOJ +sad ygS nSx qKF @@ -74915,15 +81170,15 @@ jLs aap jLs oHI -cjF -rsW +mQZ +iOJ ozh -sad -cjF rsW +mQZ +iOJ pKz -sad -cjF +rsW +mQZ gqe gqe kqC @@ -75127,16 +81382,16 @@ kCK aap jLs oHI -sad -cjF rsW +mQZ iOJ +sad vEX nSx urc -iOJ sad -cjF +rsW +mQZ uix jGV ntv @@ -75340,16 +81595,16 @@ aap jLs oHI ozh -sad -cjF rsW +mQZ +iOJ ozh qGl nSx -qHh +srz ozh -sad -cjF +rsW +mQZ kqC kqC kqC @@ -75552,21 +81807,21 @@ aap xnq nSx kcP +iOJ rsW -sad -cjF -rsW +mQZ iOJ sad -cjF rsW +mQZ iOJ sad +rsW jZR -mcc -mcc -avl +wnz +wnz cCq +uFh jTJ bxl jOO @@ -75750,7 +82005,7 @@ eRi eRi eRi gHW -gyI +nCC uTi eRi eRi @@ -75763,21 +82018,21 @@ eNm cfc lzW oHI -cjF -rsW +mQZ +iOJ ozh vEX nSx -qHh +srz ozh -sad -cjF rsW +mQZ +iOJ ozh jZR sHH -mcc -uFh +wnz +avl iUy jTJ mgC @@ -75968,31 +82223,31 @@ jLs bQx lYr jLs -laD +mPA jLs jfD jLs aap fvk oHI -sad -cjF rsW +mQZ iOJ +sad vEX nSx -qHh -bbR +srz +dDy izZ kcP bGT kqC rGV -mcc +wnz mCF kqC jTJ -pOd +wXf jOO xbB pOd @@ -76188,23 +82443,23 @@ aap jLs oHI ozh -sad -cjF rsW +mQZ +iOJ ozh -sad -cjF rsW +mQZ +iOJ gWf -cjF -cjF +mQZ +mQZ aRG aRG aRG aRG aRG oAv -pOd +wXf jOO ovE xng @@ -76390,7 +82645,7 @@ xoB wGm oUg jPO -fPF +dSz aRY nCw ggh @@ -76398,17 +82653,17 @@ rmS tVu tYc tVu -cjF -rsW +mQZ +iOJ ozh vYA ozh -cjF -cjF +mQZ +mQZ sDp -cjF +mQZ fiI -cjF +mQZ gNK aRG aRG @@ -76416,7 +82671,7 @@ aRG aRG aRG aRG -pOd +wXf jOO oZc dxO @@ -76589,7 +82844,7 @@ qGn pbp qGn dpt -jLs +eph aap oUg qvk @@ -76600,7 +82855,7 @@ sJl dpt jLs aap -dgB +eBs cWM dCA lFx @@ -76611,24 +82866,24 @@ jLs flm xnq nSx -qHh +srz ozh -cjF +mQZ oFv izZ bEX bEX bEX iCU -cjF -cjF +mQZ +mQZ aRG oAv aRG aRG aRG aRG -pOd +wXf jOO ere wEn @@ -76801,18 +83056,18 @@ eqQ eqQ eqQ dpt -jLs +eph aap oUg gDz jLs aWP wQn -akc +vyU dpt bQx sjc -dgB +eBs rjM tTM jeY @@ -76822,7 +83077,7 @@ oHk tVu tYc tVu -iOJ +sad ovB vxp qvx @@ -76833,7 +83088,7 @@ lEz waz bEX uRe -cjF +mQZ bhX aRG vAi @@ -77013,7 +83268,7 @@ eqQ eqQ eqQ dpt -jLs +eph aap eUi xup @@ -77024,7 +83279,7 @@ jLs dpt jLs aap -dgB +eBs igD uin rvR @@ -77034,11 +83289,11 @@ dpt jLs aap dfZ -rsW -rsW +iOJ +iOJ ozh -cjF -cjF +mQZ +mQZ izZ uFc gWq @@ -77052,7 +83307,7 @@ aRG oAv mNJ aRG -pOd +wXf jOO xbB pOd @@ -77225,7 +83480,7 @@ qGn qGn qGn dpt -jLs +eph aap oUg ovZ @@ -77236,35 +83491,35 @@ qvk pYp jLs aap -dgB +eBs hjb gyI -jLs -jLs +eph +eph laD uGb puB kiW jLs -cjF +mQZ ovB vxp -cjF -cjF +mQZ +mQZ izZ hiK tOc tOc bgd -cjF -cjF +mQZ +mQZ bhX mhR bhX aRG nrL aRG -pOd +wXf jOO xbB pOd @@ -77449,9 +83704,9 @@ rmS tVu lsU oUg -dXz -umq -bpq +gUx +eza +bfs eir oUg dzk @@ -77459,9 +83714,9 @@ jLs aap jLs jLs -rsW +iOJ ozh -cjF +mQZ smh izZ bEX @@ -77476,7 +83731,7 @@ uVv vAi fpl aRG -pOd +wXf jOO xbB pOd @@ -77673,22 +83928,22 @@ ucr jLs jLs jLs -pOd -pOd -pOd +wXf +wXf +wXf bmO -pOd +wXf bmO -pOd +wXf bmO -pOd +wXf uFE -pOd +wXf iiP pEY -eEk -pOd -pOd +vzZ +wXf +wXf jOO ere pOd @@ -77861,26 +84116,26 @@ oUg llC qGn dpt -jLs -jLs -jLs -jLs -jLs -jLs +eph +eph +eph +eph +eph +eph skO gxL -jLs +eph rDl aAH -jLs +eph gxL -jLs -jLs +eph +eph ybR -jLs -jLs +eph +eph ybR -jLs +eph xZk eRi dJl @@ -78313,21 +84568,21 @@ eix dZA eix kaB -pOd +wXf uCu -pOd +wXf bmO -pOd +wXf xCm -pOd -pOd -pOd -pOd -pOd +wXf +wXf +wXf +wXf +wXf sde -wEn -wEn -pOd +tCf +tCf +wXf aRG aRG aRG @@ -78515,9 +84770,9 @@ rZa ljZ kDg rZa -cfN +qHC arq -cfN +qHC fxY qcT hlK @@ -78536,7 +84791,7 @@ dEy gOs wpf fTx -pOd +wXf fTx gOs fyQ @@ -78719,7 +84974,7 @@ xDw xDw lRT hTG -cfN +qHC kjo sIJ iJf @@ -78748,7 +85003,7 @@ kwm cll qmO lRe -pOd +wXf kwm xYB luH @@ -78960,7 +85215,7 @@ fTx lnf aVA fTx -eEk +vzZ fTx lnf aVA @@ -79143,7 +85398,7 @@ hKI hKI hsA iJf -cfN +qHC hlK dOX pkc @@ -79168,15 +85423,15 @@ iWq dzl aRG aRG -pOd -pOd -pOd -pOd -pOd -pOd -pOd -pOd -pOd +wXf +wXf +wXf +wXf +wXf +wXf +wXf +wXf +wXf pOd gCY vDO @@ -79384,7 +85639,7 @@ fTx gOs fyQ fTx -pOd +wXf fTx gOs fyQ @@ -79596,7 +85851,7 @@ kwm kXH jGP wDV -pOd +wXf kwm cll cDf @@ -79781,7 +86036,7 @@ xDw thU diR tVX -cfN +qHC iJf ojh dlW @@ -79808,7 +86063,7 @@ fTx lnf aVA fTx -pOd +wXf fTx lnf aVA @@ -79993,14 +86248,14 @@ lRT iuW hva nSi -cfN +qHC iJf -cfN +qHC wdA fsf -cfN -cfN -cfN +qHC +qHC +qHC lHB bFh hKI @@ -80019,9 +86274,9 @@ aRG aRG aRG aRG -pOd -pOd -pOd +wXf +wXf +wXf aRG pOd aRG @@ -80205,7 +86460,7 @@ xDw yiD aOJ jUp -cfN +qHC qyk dlW dlW @@ -81067,7 +87322,7 @@ hKI hKI iJf hKI -cfN +qHC nsC hKI lRT @@ -81279,7 +87534,7 @@ sEi sEi sEi ltV -cfN +qHC hlK xeO qDY @@ -81923,8 +88178,8 @@ hQh hQh hQh hQh -cfN -cfN +qHC +qHC lRT lRT fjd @@ -83619,8 +89874,8 @@ giX giX giX giX -cfN -cfN +qHC +qHC scM scM xkv @@ -84247,7 +90502,7 @@ dlW dlW dlW uxY -cfN +qHC hlK sEi sEi @@ -84458,8 +90713,8 @@ hKI hKI hKI iJf -cfN -cfN +qHC +qHC hlK dlW dlW diff --git a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm index 631e40c22643..1ad01aa3d6bb 100644 --- a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm +++ b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm @@ -895,7 +895,6 @@ /area/shiva/interior/garage) "adp" = ( /obj/structure/closet/secure_closet/engineering_personal, -/obj/item/weapon/banhammer, /turf/open/floor/shiva{ dir = 1 }, diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index 646ed4dcbc8c..fed056caf3d4 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -16657,13 +16657,6 @@ /obj/structure/blocker/invisible_wall, /turf/open/floor/kutjevo/colors/red/tile, /area/kutjevo/interior/oob/dev_room) -"wSN" = ( -/obj/structure/blocker/invisible_wall, -/obj/effect/landmark/corpsespawner/clown, -/turf/open/desert/desert_shore/desert_shore1{ - dir = 1 - }, -/area/kutjevo/interior/oob/dev_room) "wSU" = ( /obj/structure/machinery/light{ dir = 4 @@ -20023,7 +20016,7 @@ rkt jBJ fOU ibm -wSN +rYs fAF fQB uam diff --git a/maps/map_files/New_Varadero/New_Varadero.dmm b/maps/map_files/New_Varadero/New_Varadero.dmm index d315d9bfd84b..ae2d59345596 100644 --- a/maps/map_files/New_Varadero/New_Varadero.dmm +++ b/maps/map_files/New_Varadero/New_Varadero.dmm @@ -29173,7 +29173,6 @@ /area/varadero/interior/cargo) "sCK" = ( /obj/structure/closet/secure_closet/scientist, -/obj/item/clothing/mask/gas/clown_hat, /turf/open/floor/shiva{ dir = 8; icon_state = "purple" diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm index ff1d99eb8f78..edc1340df385 100644 --- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm +++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm @@ -402,13 +402,6 @@ /obj/effect/blocker/sorokyne_cold_water, /turf/open/gm/river, /area/strata/ag/exterior/paths/cabin_area) -"abx" = ( -/obj/effect/landmark/corpsespawner/clown, -/turf/open/floor/strata{ - dir = 10; - icon_state = "multi_tiles" - }, -/area/strata/ag/interior/outpost/gen/bball/nest) "aby" = ( /obj/structure/machinery/camera/autoname{ dir = 8 @@ -61048,7 +61041,7 @@ aac aac rKG bsS -abx +cjq bvt rKG aac diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index dc1d7b2418c2..eb05927b5f18 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -5830,7 +5830,7 @@ name = "ARES Core Access"; pixel_x = -24; pixel_y = 24; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -11045,7 +11045,7 @@ name = "ARES Chamber Lockdown"; pixel_x = 24; pixel_y = -8; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/door_control{ id = "ARES Railing"; @@ -21863,7 +21863,7 @@ name = "ARES Core Lockdown"; pixel_x = 24; pixel_y = -8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 8; @@ -29094,7 +29094,6 @@ pixel_y = 1 }, /turf/open/floor/almayer/no_build{ - dir = 2; icon_state = "cargo_arrow" }, /area/almayer/command/airoom) @@ -32953,8 +32952,7 @@ eftpos_name = "Cargo Bay EFTPOS scanner"; pixel_x = -10 }, -/obj/item/tool/stamp{ - name = "Requisition Officer's stamp"; +/obj/item/tool/stamp/ro{ pixel_x = -8; pixel_y = 10 }, @@ -34474,6 +34472,10 @@ /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 1 }, +/obj/structure/machinery/computer/working_joe{ + dir = 8; + pixel_x = 29 + }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" }, @@ -35956,9 +35958,6 @@ /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) "fGu" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, /obj/structure/machinery/door_control{ dir = 1; id = "researchlockdownext"; @@ -35975,6 +35974,10 @@ pixel_y = 1; req_access_txt = "28" }, +/obj/structure/disposalpipe/junction{ + dir = 2; + icon_state = "pipe-j2" + }, /turf/open/floor/almayer{ dir = 8; icon_state = "sterile_green_side" @@ -36289,7 +36292,7 @@ name = "ARES Operations Shutter"; pixel_x = 24; pixel_y = -8; - req_one_access_txt = "1;200;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ dir = 4; @@ -36872,7 +36875,7 @@ name = "ARES Operations Shutter"; pixel_x = -24; pixel_y = -8; - req_one_access_txt = "1;200;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -37292,8 +37295,7 @@ /obj/structure/machinery/computer/working_joe{ dir = 8; pixel_x = 17; - pixel_y = -6; - ticket_console = 1 + pixel_y = -6 }, /obj/item/storage/box/ids{ pixel_x = -4 @@ -38053,7 +38055,7 @@ name = "Working Joe Cryogenics Lockdown"; pixel_x = 24; pixel_y = 8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -38591,7 +38593,7 @@ name = "ARES Chamber Lockdown"; pixel_x = -24; pixel_y = -8; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ closed_layer = 4.1; @@ -38660,7 +38662,7 @@ name = "ARES Chamber Lockdown"; pixel_x = 24; pixel_y = 8; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ closed_layer = 4; @@ -42230,7 +42232,7 @@ name = "ARES Chamber Lockdown"; pixel_x = -24; pixel_y = 8; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/door/poddoor/railing{ closed_layer = 4; @@ -44935,7 +44937,7 @@ id = "ARES StairsUpper"; name = "ARES Core Access"; pixel_x = 24; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -47063,7 +47065,7 @@ name = "ARES Core Lockdown"; pixel_x = -24; pixel_y = -8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ dir = 8; @@ -48859,7 +48861,7 @@ name = "ARES Operations Shutter"; pixel_x = 24; pixel_y = -8; - req_one_access_txt = "1;200;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -54622,20 +54624,6 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) -"nMq" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/computer/working_joe{ - dir = 8; - pixel_x = 17 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silver" - }, -/area/almayer/hallways/aft_hallway) "nMu" = ( /turf/open/floor/almayer{ dir = 9; @@ -55281,8 +55269,7 @@ }, /obj/structure/machinery/computer/working_joe{ dir = 8; - pixel_x = 17; - ticket_console = 1 + pixel_x = 17 }, /obj/structure/sign/safety/laser{ pixel_y = 24 @@ -56821,7 +56808,7 @@ id = "ARES StairsUpper"; name = "ARES Core Access"; pixel_x = -24; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -56880,7 +56867,7 @@ name = "ARES Core Lockdown"; pixel_x = -24; pixel_y = 8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 4; @@ -60712,7 +60699,7 @@ name = "ARES Operations Shutter"; pixel_x = -24; pixel_y = -8; - req_one_access_txt = "1;200;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ dir = 8; @@ -63219,7 +63206,7 @@ "rBx" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/tool/stamp/ro{ - name = "spare requisitions officer's rubber stamp"; + name = "spare quartermaster's rubber stamp"; pixel_x = -7; pixel_y = 11 }, @@ -67622,6 +67609,10 @@ pixel_y = 5 }, /obj/item/tool/pen, +/obj/structure/machinery/computer/working_joe{ + dir = 8; + pixel_x = 17 + }, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, @@ -68627,6 +68618,10 @@ /area/almayer/command/cic) "tUv" = ( /obj/structure/machinery/iv_drip, +/obj/structure/machinery/computer/working_joe{ + dir = 8; + pixel_x = 17 + }, /turf/open/floor/almayer{ dir = 4; icon_state = "sterile_green_corner" @@ -73757,8 +73752,7 @@ }, /obj/structure/machinery/computer/working_joe{ dir = 4; - pixel_x = -17; - ticket_console = 1 + pixel_x = -17 }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -74682,6 +74676,10 @@ /obj/structure/bed/chair/comfy/ares{ dir = 1 }, +/obj/structure/pipes/vents/pump/no_boom{ + name = "Security Vent"; + desc = "Has a valve and pump attached to it, connected to multiple gas tanks." + }, /turf/open/floor/almayer/no_build{ icon_state = "plating" }, @@ -75077,7 +75075,7 @@ name = "Working Joe Cryogenics Lockdown"; pixel_x = -24; pixel_y = -8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "91;92" }, /obj/effect/landmark/late_join/working_joe, /obj/effect/landmark/start/working_joe, @@ -75490,7 +75488,6 @@ /obj/structure/machinery/door/airlock/almayer/research/reinforced{ dir = 1; name = "\improper CMO's Bedroom"; - req_access = null; req_one_access_txt = "1;5"; access_modified = 1 }, @@ -77381,7 +77378,7 @@ name = "ARES Core Lockdown"; pixel_x = 24; pixel_y = 8; - req_one_access_txt = "19;200;90;91;92" + req_one_access_txt = "90;91;92" }, /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer/no_build{ @@ -77594,6 +77591,9 @@ layer = 2.9; pixel_x = -8 }, +/obj/structure/machinery/computer/working_joe{ + pixel_y = 16 + }, /turf/open/floor/almayer{ icon_state = "mono" }, @@ -78683,7 +78683,7 @@ name = "ARES Core Access"; pixel_x = 24; pixel_y = 24; - req_one_access_txt = "1;200;90;91;92" + req_one_access_txt = "90;91;92" }, /turf/open/floor/almayer/no_build{ icon_state = "ai_floors" @@ -117082,7 +117082,7 @@ auG azb azb azb -nMq +auG aDp apK cbr diff --git a/maps/map_files/generic/Admin_level.dmm b/maps/map_files/generic/Admin_level.dmm index 8dd8e17e6507..43b3d26ec3f9 100644 --- a/maps/map_files/generic/Admin_level.dmm +++ b/maps/map_files/generic/Admin_level.dmm @@ -219,8 +219,15 @@ /turf/open/floor/carpet, /area/centcom/living) "eA" = ( -/obj/structure/sign/poster/pinup, -/turf/closed/wall/r_wall/unmeltable, +/obj/effect/decal/warning_stripes{ + icon_state = "N" + }, +/obj/structure/machinery/door_control{ + id = "ERT Lock Big"; + name = "Hangar Lock"; + pixel_y = -32 + }, +/turf/open/floor/plating/almayer, /area/adminlevel/ert_station) "eE" = ( /turf/open/floor/carpet/edge{ @@ -735,14 +742,15 @@ /turf/open/floor/carpet, /area/centcom/living) "tP" = ( -/obj/structure/machinery/computer/cameras/wooden_tv{ - desc = "An old TV hooked up to a video cassette recorder, you can even use it to time shift WOW."; - name = "Television set"; - network = null; - pixel_x = -4; - pixel_y = 2 +/obj/effect/decal/warning_stripes{ + icon_state = "E" }, -/turf/closed/wall/r_wall/unmeltable, +/obj/structure/machinery/door_control{ + id = "ERT Lock 4"; + name = "Hangar Lock"; + pixel_x = -24 + }, +/turf/open/floor/plating/almayer, /area/adminlevel/ert_station) "tY" = ( /obj/structure/machinery/washing_machine, @@ -785,6 +793,10 @@ icon_state = "kitchen" }, /area/adminlevel/ert_station) +"ur" = ( +/obj/docking_port/stationary/emergency_response/idle_port6, +/turf/open/floor/plating, +/area/adminlevel/ert_station) "uI" = ( /turf/open/floor/almayer{ icon_state = "red" @@ -1383,8 +1395,8 @@ }, /obj/structure/machinery/door/poddoor/almayer{ dir = 4; - unacidable = 1; - id = "ERT Lock 1" + id = "ERT Lock 1"; + unacidable = 1 }, /turf/open/floor/almayer{ icon_state = "tcomms" @@ -1646,21 +1658,6 @@ icon_state = "greencorner" }, /area/adminlevel/ert_station) -"KH" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - damage_cap = 50000; - name = "\improper Hangar"; - no_panel = 1 - }, -/obj/structure/machinery/door/poddoor/almayer{ - dir = 4; - unacidable = 1; - id = "ERT Lock Big" - }, -/turf/open/floor/almayer{ - icon_state = "tcomms" - }, -/area/adminlevel/ert_station) "KM" = ( /obj/structure/bed/chair{ dir = 4 @@ -1821,9 +1818,18 @@ /turf/open/floor/plating/almayer, /area/adminlevel/ert_station/shuttle_dispatch) "Ni" = ( -/obj/structure/curtain/open/shower, +/obj/structure/machinery/door/airlock/almayer/generic{ + damage_cap = 50000; + name = "\improper Hangar"; + no_panel = 1 + }, +/obj/structure/machinery/door/poddoor/almayer{ + dir = 4; + id = "ERT Lock 4"; + unacidable = 1 + }, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "tcomms" }, /area/adminlevel/ert_station) "Nk" = ( @@ -1881,8 +1887,8 @@ }, /obj/structure/machinery/door/poddoor/almayer{ dir = 4; - unacidable = 1; - id = "ERT Lock 3" + id = "ERT Lock 3"; + unacidable = 1 }, /turf/open/floor/almayer{ icon_state = "tcomms" @@ -2094,13 +2100,9 @@ }, /area/tdome) "Sk" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E" - }, -/obj/structure/machinery/door_control{ +/obj/structure/machinery/door/poddoor/almayer{ id = "ERT Lock Big"; - name = "Hangar Lock"; - pixel_x = -24 + unacidable = 1 }, /turf/open/floor/plating/almayer, /area/adminlevel/ert_station) @@ -2305,13 +2307,6 @@ }, /turf/open/floor/plating/almayer, /area/adminlevel/ert_station/shuttle_dispatch) -"Vu" = ( -/obj/structure/machinery/shower, -/obj/item/tool/soap/syndie, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/adminlevel/ert_station) "VC" = ( /obj/structure/sign/poster/clf, /turf/closed/wall, @@ -2565,8 +2560,8 @@ }, /obj/structure/machinery/door/poddoor/almayer{ dir = 4; - unacidable = 1; - id = "ERT Lock 2" + id = "ERT Lock 2"; + unacidable = 1 }, /turf/open/floor/almayer{ icon_state = "tcomms" @@ -2613,6 +2608,11 @@ aa aa aa aa +as +as +as +as +as aa aa aa @@ -2637,29 +2637,24 @@ 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 +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa aa aa @@ -2770,24 +2765,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -2812,11 +2789,29 @@ aC aa aa aa -aa -aa -aa -aa -aa +as +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +aC +aC +aC +aC +aC aC aC aC @@ -2922,24 +2917,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -2964,12 +2941,30 @@ aC aC aa aa +as +TT +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa aa aa aa aa aa -aC aa aa aa @@ -3074,24 +3069,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3116,18 +3093,36 @@ aa aC aa aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +wW +wW wW wW wW wW wW +Ch +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +hZ +wW +wW +wW +wW wW wW wW @@ -3226,24 +3221,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3268,13 +3245,31 @@ aa aC aa aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +Ya +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ly +Ya wW Ya Ly @@ -3378,24 +3373,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3420,13 +3397,31 @@ aa aC aa aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -3530,24 +3525,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3572,13 +3549,31 @@ aa aC aa aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +Jl +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -3682,24 +3677,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3724,13 +3701,31 @@ aa aC aa aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -3834,24 +3829,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -3876,13 +3853,31 @@ aa aC aC aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -3986,24 +3981,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4028,13 +4005,31 @@ aa aa aC aa -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -4138,24 +4133,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4180,13 +4157,31 @@ ab aa aC aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -4290,24 +4285,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4332,13 +4309,31 @@ ab aa aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -4442,24 +4437,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4484,13 +4461,31 @@ ab ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -4594,24 +4589,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4636,13 +4613,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW KW FB @@ -4746,24 +4741,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -4788,13 +4765,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW Ya Js @@ -4898,24 +4893,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aC @@ -4940,13 +4917,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW wW wW @@ -5050,24 +5045,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5092,14 +5069,32 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa -eA +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW va ug AL @@ -5202,24 +5197,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5244,13 +5221,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW YU YU @@ -5354,24 +5349,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5396,16 +5373,34 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as wW -Vu -Ni +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +Sk +AL +AL AL AL AL @@ -5506,24 +5501,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5548,14 +5525,32 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa -wW +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +eA +wW YU YU YU @@ -5658,24 +5653,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5700,13 +5677,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW BV Gr @@ -5810,24 +5805,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -5852,13 +5829,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW uk CU @@ -5962,24 +5957,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -6004,13 +5981,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW yk CU @@ -6114,24 +6109,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -6156,13 +6133,31 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW yC CU @@ -6266,24 +6261,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -6308,16 +6285,34 @@ ad ab aa aC -aa -aa -aa -aa -aa -aC -aa +as +TT +as wW -yQ -CU +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW +yQ +CU CU EI Iq @@ -6418,24 +6413,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aa @@ -6460,13 +6437,31 @@ ad ab aa aC -aa -aC -aC -aC -aC -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW zg CU @@ -6570,24 +6565,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aC aC @@ -6612,14 +6589,32 @@ ad ab aa aC -aa -aC -aa -aa -aa -aa -aa -tP +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW zk CU CU @@ -6722,24 +6717,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -6764,18 +6741,37 @@ ad ab aa aC -aa -aC -aa -wW +as +TT +as wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW wW wW wW wW wW -Ch wW wW wW @@ -6785,13 +6781,12 @@ wW wW wW Zw -KH +Ni Zw wW wW hZ wW -wW Zw Oa Zw @@ -6874,24 +6869,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -6916,9 +6893,31 @@ ab ab aa aC -aa -aC -aa +as +TT +as +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo wW Ya Ly @@ -6935,11 +6934,7 @@ Ly Ly Ly Ly -Ly -Ly -Ly -Sk -Ly +tP Ya wW Ya @@ -7026,24 +7021,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7068,9 +7045,9 @@ ab aa aa aC -aa -aC -aa +as +TT +as wW KW FB @@ -7112,11 +7089,29 @@ FB FB Fo wW -aa -aC -aa -aa -hp +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW +aa +aC +aa +aa +hp hp hp hp @@ -7178,24 +7173,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7220,9 +7197,9 @@ ab aa aC aC -aa -aC -aa +as +TT +as wW KW FB @@ -7234,7 +7211,6 @@ FB FB FB FB -Jl FB FB FB @@ -7244,6 +7220,25 @@ FB FB FB FB +FB +Fo +wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +ur +FB Fo wW KW @@ -7330,24 +7325,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7372,9 +7349,9 @@ aa aa aC aa -aa -aC -aa +as +TT +as wW KW FB @@ -7416,6 +7393,24 @@ FB FB Fo wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW aa aC aa @@ -7482,24 +7477,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7524,9 +7501,9 @@ aa aC aC aa -aa -aC -aa +as +TT +as wW KW FB @@ -7568,6 +7545,24 @@ FB FB Fo wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW aa aC aa @@ -7634,24 +7629,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7676,9 +7653,9 @@ aa aC aa aa -aa -aC -aa +as +TT +as wW KW FB @@ -7720,6 +7697,24 @@ FB FB Fo wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW aa aC aa @@ -7786,24 +7781,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7828,9 +7805,9 @@ aa aC aa aa -aa -aC -aa +as +TT +as wW KW FB @@ -7872,6 +7849,24 @@ FB FB Fo wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW aa aC aa @@ -7938,24 +7933,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -7980,10 +7957,10 @@ aa aC aa aa -aa -aC -aa -wW +as +TT +as +wW KW FB FB @@ -8024,6 +8001,24 @@ FB FB Fo wW +KW +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +FB +Fo +wW aa aC aa @@ -8090,24 +8085,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -8132,9 +8109,31 @@ aa aC aa aa -aa -aC -aa +as +TT +as +wW +Ya +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Ya wW KW FB @@ -8152,10 +8151,6 @@ FB FB FB FB -FB -FB -FB -FB Fo wW KW @@ -8242,24 +8237,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -8284,9 +8261,31 @@ aa aC aa aa -aa -aC -aa +as +TT +as +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW wW KW FB @@ -8304,10 +8303,6 @@ FB FB FB FB -FB -FB -FB -FB Fo wW KW @@ -8394,24 +8389,6 @@ as as as as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as aa aa aa @@ -8436,31 +8413,49 @@ aC aC aa aa +as +TT +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -aC aa +aa +as +as +as +as wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo +Ya +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Js +Ya wW Ya Js @@ -8541,29 +8536,11 @@ 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 +as +as +as +as +as aa aa aa @@ -8588,31 +8565,49 @@ aC aa aa aa -aa +as +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT aC -aa +aC +aC +TT +TT +TT +as +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW +wW wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo wW wW wW @@ -8738,34 +8733,34 @@ aa aa aa aa -aa -aa -aa -aC -aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as +as +as +as +as +TT +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa aa aa @@ -8890,35 +8885,35 @@ aC aC aC aC -aa -aa -aa +as +as +as +as +as +as +as +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT +TT aC -aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW -aa aC aC aC @@ -9042,36 +9037,36 @@ aa aa aa aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa aa aa -aC -aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW -aa -aC aa aa aa @@ -9175,55 +9170,55 @@ as as as aa -aC -aa -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -ds -aa -aC -aa -aa -aa -aC +aC +aa +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +aa +aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW aa -aC aa as as @@ -9349,33 +9344,33 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW aa -aC +aa +aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa +as +as aa as as @@ -9498,36 +9493,36 @@ dy ds aa aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -aa -aa -aC -aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW -aa -aC +as +as as as as @@ -9653,33 +9648,33 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW aa -aC +aa +aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa +aa +as +as +as +as +as +as as as as @@ -9804,32 +9799,32 @@ aa aC aa aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as +as aa aC TT @@ -9956,32 +9951,32 @@ aa aC aa aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as +as aa TT as @@ -10108,32 +10103,32 @@ aa aC aa aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as +as aa aC as @@ -10261,31 +10256,31 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +as +as +as +as aa aC as @@ -10412,32 +10407,32 @@ aa aC aa aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as aa aC as @@ -10565,31 +10560,31 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +as +as +as aa aC as @@ -10717,31 +10712,31 @@ aC aa aa aa -aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as aa aC as @@ -10869,31 +10864,31 @@ aC aa aa aa -aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +as +as +as aa aC as @@ -11021,31 +11016,31 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +as +as +as aa aC as @@ -11173,31 +11168,31 @@ aC aa aa aa -aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +as +as +as aa aC as @@ -11325,31 +11320,31 @@ aC aa aa aa -aC +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +aa +as +as +as aa aC as @@ -11477,31 +11472,31 @@ aC aa aa aa -aC -aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa +aa +aa +aa +aa aa aC as @@ -11629,31 +11624,31 @@ aC aa aa aa -aC aa -wW -KW -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -FB -Fo -wW +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 aC as @@ -11781,31 +11776,31 @@ aa aa aa aa -aC aa -wW -Ya -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Ya -wW +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +aa +aa +aa +aa aa aC as @@ -11933,32 +11928,32 @@ aa aa aa aa -aC aa -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW -wW +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa +aa +aa +as +as aC as Oi @@ -12085,32 +12080,32 @@ as as as aa -aC -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as +as aa aa aa +as +as aC as Oi @@ -12237,32 +12232,32 @@ as as as as -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC -aC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +as +as aC as as diff --git a/maps/shuttles/ert_twe_shuttle.dmm b/maps/shuttles/ert_twe_shuttle.dmm new file mode 100644 index 000000000000..7e518ae9af66 --- /dev/null +++ b/maps/shuttles/ert_twe_shuttle.dmm @@ -0,0 +1,334 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"b" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe25" + }, +/area/shuttle/ert) +"e" = ( +/obj/effect/landmark/ert_spawns/distress_twe, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/ert) +"f" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/ert) +"g" = ( +/obj/structure/surface/rack, +/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"h" = ( +/turf/open/shuttle/dropship{ + icon_state = "floor8" + }, +/area/shuttle/ert) +"i" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe3" + }, +/area/shuttle/ert) +"j" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe23" + }, +/area/shuttle/ert) +"k" = ( +/turf/closed/shuttle/ert{ + icon_state = "rightengine_3"; + opacity = 0 + }, +/area/shuttle/ert) +"l" = ( +/turf/closed/shuttle/ert{ + icon_state = "leftengine_2"; + opacity = 0 + }, +/area/shuttle/ert) +"o" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe1" + }, +/area/shuttle/ert) +"p" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" + }, +/area/shuttle/ert) +"q" = ( +/obj/docking_port/mobile/emergency_response/ert4, +/turf/closed/shuttle/ert{ + icon_state = "leftengine_1"; + opacity = 0 + }, +/area/shuttle/ert) +"r" = ( +/obj/structure/blocker/invisible_wall, +/obj/structure/machinery/computer/shuttle/ert, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"s" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin7" + }, +/area/shuttle/ert) +"t" = ( +/obj/structure/surface/rack, +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/lifesaver/full, +/obj/item/device/healthanalyzer, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"v" = ( +/turf/closed/shuttle/ert{ + icon_state = "rightengine_2"; + opacity = 0 + }, +/area/shuttle/ert) +"x" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe4" + }, +/area/shuttle/ert) +"y" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe_leftengine" + }, +/area/shuttle/ert) +"z" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe27" + }, +/area/shuttle/ert) +"A" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe21" + }, +/area/shuttle/ert) +"D" = ( +/obj/structure/machinery/door/airlock/almayer/generic, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/ert) +"E" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe22" + }, +/area/shuttle/ert) +"F" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe8" + }, +/area/shuttle/ert) +"G" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe2" + }, +/area/shuttle/ert) +"H" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 8 + }, +/obj/effect/landmark/ert_spawns/distress_twe, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"J" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe_rightengine" + }, +/area/shuttle/ert) +"K" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" + }, +/area/shuttle/ert) +"L" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/shuttle/ert) +"M" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 2 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"N" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe5" + }, +/area/shuttle/ert) +"O" = ( +/turf/template_noop, +/area/template_noop) +"P" = ( +/obj/structure/bed/chair/dropship/passenger, +/obj/effect/landmark/ert_spawns/distress_twe, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"T" = ( +/turf/closed/shuttle/ert{ + icon_state = "leftengine_3"; + opacity = 0 + }, +/area/shuttle/ert) +"U" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe9" + }, +/area/shuttle/ert) +"V" = ( +/turf/closed/shuttle/ert{ + icon_state = "rightengine_1"; + opacity = 0 + }, +/area/shuttle/ert) +"W" = ( +/obj/structure/bed/chair/dropship/passenger{ + dir = 4 + }, +/obj/effect/landmark/ert_spawns/distress_twe, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) +"X" = ( +/turf/closed/shuttle/ert{ + icon_state = "twe20" + }, +/area/shuttle/ert) +"Y" = ( +/obj/structure/surface/rack, +/obj/item/storage/backpack/rmc/frame, +/obj/item/ammo_box/magazine/misc/mre, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/ert) + +(1,1,1) = {" +O +X +x +D +x +x +x +D +x +y +T +l +q +"} +(2,1,1) = {" +O +A +Y +a +W +W +W +a +t +F +x +x +o +"} +(3,1,1) = {" +X +E +L +e +e +e +e +e +K +a +a +a +M +"} +(4,1,1) = {" +z +r +h +P +P +P +P +P +h +f +f +f +G +"} +(5,1,1) = {" +b +j +s +e +e +e +e +e +p +a +a +a +M +"} +(6,1,1) = {" +O +A +g +a +H +H +H +a +t +U +N +N +i +"} +(7,1,1) = {" +O +b +N +D +N +N +N +D +N +J +k +v +V +"} diff --git a/maps/shuttles/escape_shuttle_e.dmm b/maps/shuttles/escape_shuttle_e.dmm index d8e14b742701..0ba589df217e 100644 --- a/maps/shuttles/escape_shuttle_e.dmm +++ b/maps/shuttles/escape_shuttle_e.dmm @@ -10,7 +10,7 @@ }, /area/shuttle/escape_pod) "e" = ( -/obj/docking_port/mobile/escape_shuttle/e, +/obj/docking_port/mobile/crashable/escape_shuttle/e, /turf/closed/shuttle/escapepod{ icon_state = "wall9" }, diff --git a/maps/shuttles/escape_shuttle_e_cl.dmm b/maps/shuttles/escape_shuttle_e_cl.dmm index fb35b994891d..df10125c3a3a 100644 --- a/maps/shuttles/escape_shuttle_e_cl.dmm +++ b/maps/shuttles/escape_shuttle_e_cl.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/obj/docking_port/mobile/escape_shuttle/cl, +/obj/docking_port/mobile/crashable/escape_shuttle/cl, /turf/closed/shuttle/escapepod{ icon_state = "wall9" }, diff --git a/maps/shuttles/escape_shuttle_n.dmm b/maps/shuttles/escape_shuttle_n.dmm index ff00ef6d3117..71f8515daba8 100644 --- a/maps/shuttles/escape_shuttle_n.dmm +++ b/maps/shuttles/escape_shuttle_n.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/closed/shuttle/escapepod{ - icon_state = "wall6"; + icon_state = "wall6" }, /area/shuttle/escape_pod) "c" = ( -/obj/docking_port/mobile/escape_shuttle/n, +/obj/docking_port/mobile/crashable/escape_shuttle/n, /turf/closed/shuttle/escapepod{ icon_state = "wall9" }, diff --git a/maps/shuttles/escape_shuttle_s.dmm b/maps/shuttles/escape_shuttle_s.dmm index f3e4c74b480e..82391a5218d5 100644 --- a/maps/shuttles/escape_shuttle_s.dmm +++ b/maps/shuttles/escape_shuttle_s.dmm @@ -76,7 +76,7 @@ }, /area/shuttle/escape_pod) "U" = ( -/obj/docking_port/mobile/escape_shuttle/s, +/obj/docking_port/mobile/crashable/escape_shuttle/s, /turf/closed/shuttle/escapepod{ icon_state = "wall9" }, diff --git a/maps/shuttles/escape_shuttle_w.dmm b/maps/shuttles/escape_shuttle_w.dmm index d10d5fdfc1c8..8f81c83b500b 100644 --- a/maps/shuttles/escape_shuttle_w.dmm +++ b/maps/shuttles/escape_shuttle_w.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( -/obj/docking_port/mobile/escape_shuttle/w, +/obj/docking_port/mobile/crashable/escape_shuttle/w, /turf/closed/shuttle/escapepod{ icon_state = "wall9" }, diff --git a/maps/shuttles/lifeboat-port-archive.dmm b/maps/shuttles/lifeboat-port-archive.dmm index cba75c63cc02..7279e78237b6 100644 --- a/maps/shuttles/lifeboat-port-archive.dmm +++ b/maps/shuttles/lifeboat-port-archive.dmm @@ -186,7 +186,7 @@ }, /area/shuttle/lifeboat) "xG" = ( -/obj/docking_port/mobile/lifeboat/port, +/obj/docking_port/mobile/crashable/lifeboat/port, /obj/structure/prop/invuln/dropship_parts/lifeboat{ icon_state = "0,0" }, diff --git a/maps/shuttles/lifeboat-port.dmm b/maps/shuttles/lifeboat-port.dmm index 4d58661e8e82..0117730f6971 100644 --- a/maps/shuttles/lifeboat-port.dmm +++ b/maps/shuttles/lifeboat-port.dmm @@ -191,7 +191,7 @@ }, /area/shuttle/lifeboat) "xG" = ( -/obj/docking_port/mobile/lifeboat/port, +/obj/docking_port/mobile/crashable/lifeboat/port, /obj/structure/prop/invuln/dropship_parts/lifeboat{ icon_state = "0,0" }, diff --git a/maps/shuttles/lifeboat-starboard-archive.dmm b/maps/shuttles/lifeboat-starboard-archive.dmm index b1857064804c..5094315b7b6f 100644 --- a/maps/shuttles/lifeboat-starboard-archive.dmm +++ b/maps/shuttles/lifeboat-starboard-archive.dmm @@ -160,7 +160,7 @@ /turf/template_noop, /area/shuttle/lifeboat) "vG" = ( -/obj/docking_port/mobile/lifeboat/starboard, +/obj/docking_port/mobile/crashable/lifeboat/starboard, /obj/structure/prop/invuln/dropship_parts/lifeboat{ icon_state = "0,0" }, diff --git a/maps/shuttles/lifeboat-starboard.dmm b/maps/shuttles/lifeboat-starboard.dmm index 05b128e0e2cb..57e302923131 100644 --- a/maps/shuttles/lifeboat-starboard.dmm +++ b/maps/shuttles/lifeboat-starboard.dmm @@ -169,7 +169,7 @@ }, /area/shuttle/lifeboat) "vG" = ( -/obj/docking_port/mobile/lifeboat/starboard, +/obj/docking_port/mobile/crashable/lifeboat/starboard, /obj/structure/prop/invuln/dropship_parts/lifeboat{ icon_state = "0,0" }, diff --git a/maps/templates/twe_ert_station.dmm b/maps/templates/twe_ert_station.dmm new file mode 100644 index 000000000000..78c98b4d16a9 --- /dev/null +++ b/maps/templates/twe_ert_station.dmm @@ -0,0 +1,5116 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"ai" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"aq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ar" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/cm_vending/clothing/antag, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"aH" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"aK" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/plating, +/area/adminlevel/ert_station/royal_marines_station) +"aW" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,1" + }, +/area/adminlevel/ert_station/royal_marines_station) +"aX" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"bp" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "5,13" + }, +/area/adminlevel/ert_station/royal_marines_station) +"bs" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "3,15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"bG" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "6,12" + }, +/area/adminlevel/ert_station/royal_marines_station) +"bO" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 9 + }, +/area/adminlevel/ert_station/royal_marines_station) +"bS" = ( +/obj/structure/machinery/optable, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"co" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"cu" = ( +/obj/structure/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"cJ" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"cL" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "2,1" + }, +/area/adminlevel/ert_station/royal_marines_station) +"dc" = ( +/turf/open/floor/plating, +/area/adminlevel/ert_station/royal_marines_station) +"dd" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,8" + }, +/area/adminlevel/ert_station/royal_marines_station) +"dj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"dm" = ( +/obj/structure/closet/coffin/woodencrate, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ds" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"du" = ( +/obj/structure/platform, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 6; + layer = 3.51 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"dK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"eh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ei" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"eu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ev" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"eV" = ( +/obj/structure/machinery/medical_pod/bodyscanner, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"eX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"fp" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin7" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ft" = ( +/obj/structure/machinery/bioprinter{ + stored_metal = 1000 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"fx" = ( +/obj/structure/platform{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"fD" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"fJ" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + id = "Delta_1"; + name = "\improper Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"fM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gg" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gl" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/prop/almayer/computer/PC{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"go" = ( +/obj/structure/platform, +/obj/structure/blocker/invisible_wall, +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gq" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gx" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gJ" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gS" = ( +/turf/closed/wall/almayer/outer, +/area/adminlevel/ert_station/royal_marines_station) +"gT" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"gU" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,11" + }, +/area/adminlevel/ert_station/royal_marines_station) +"hm" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,7" + }, +/area/adminlevel/ert_station/royal_marines_station) +"hp" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "3,13" + }, +/area/adminlevel/ert_station/royal_marines_station) +"hA" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"hI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"hL" = ( +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iE" = ( +/obj/structure/prop/almayer/computers/sensor_computer1{ + density = 0; + pixel_y = 16 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iG" = ( +/obj/structure/bed/alien, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iI" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,6" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iK" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,1" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iO" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/surgical_tray, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"iR" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"iS" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"ja" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"je" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jk" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jl" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jr" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "4,7" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ju" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin6" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jB" = ( +/obj/structure/platform, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "2,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jD" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jI" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,3" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jL" = ( +/turf/open/space/basic, +/area/space) +"jU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"jV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"jW" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kf" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kh" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"kx" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ky" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kH" = ( +/obj/structure/largecrate/random/barrel/blue, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kL" = ( +/obj/structure/machinery/photocopier, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kO" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin/uscm{ + pixel_y = 7 + }, +/obj/item/tool/pen, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kW" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"kX" = ( +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ll" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"lq" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "5,12" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ls" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"lF" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"lG" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"lI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/vending/security, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"lN" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"lW" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"lX" = ( +/obj/structure/machinery/cryopod{ + layer = 3.1; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"mb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/prop/almayer/computers/sensor_computer1{ + density = 0; + pixel_y = 16 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"mc" = ( +/obj/structure/platform, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"mo" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"mw" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"mI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/machinery/iv_drip, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"mK" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nj" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 4 + }, +/area/adminlevel/ert_station/royal_marines_station) +"nl" = ( +/obj/structure/largecrate/random/barrel/green, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nn" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nI" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/cryopod{ + layer = 3.1; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nT" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"nW" = ( +/obj/structure/closet/coffin/woodencrate, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"od" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ol" = ( +/obj/structure/machinery/door/airlock/almayer/security/colony{ + dir = 8; + name = "\improper Brig Cell" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "RMC_brig_2"; + name = "shutters" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"oo" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"op" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"oA" = ( +/obj/structure/platform, +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"oC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"oY" = ( +/obj/structure/machinery/chem_dispenser, +/obj/item/reagent_container/glass/beaker/bluespace, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"oZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"pk" = ( +/obj/structure/machinery/cryopod/right, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ps" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"pJ" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 6 + }, +/area/adminlevel/ert_station/royal_marines_station) +"pL" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"pO" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "2,13" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qb" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qi" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qx" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qG" = ( +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 10; + layer = 3.51 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"qZ" = ( +/obj/structure/largecrate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ri" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/prop/almayer/hangar_stencil, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ro" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"rv" = ( +/obj/structure/machinery/sleep_console, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"rI" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 5 + }, +/area/adminlevel/ert_station/royal_marines_station) +"rP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cryopod{ + dir = 1; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"rS" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"sb" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"su" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cm_vending/clothing/antag, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"sy" = ( +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"sF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"sI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"sP" = ( +/obj/structure/surface/table/almayer, +/obj/item/roller, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"sR" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "6,1" + }, +/area/adminlevel/ert_station/royal_marines_station) +"te" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"tr" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "3,14" + }, +/area/adminlevel/ert_station/royal_marines_station) +"tv" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/cryopod{ + dir = 1; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"tw" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uc" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uq" = ( +/obj/structure/largecrate/random/barrel, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uC" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"uE" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uK" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"uU" = ( +/obj/structure/largecrate/random/barrel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"vm" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"vB" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"vD" = ( +/obj/structure/machinery/door/airlock/almayer/security/colony{ + dir = 8; + name = "\improper Brig Cell" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "RMC_brig_1"; + name = "shutters" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"vR" = ( +/obj/structure/surface/table/almayer, +/obj/item/book/manual/marine_law{ + pixel_x = -3; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"wl" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "2,2" + }, +/area/adminlevel/ert_station/royal_marines_station) +"wt" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/milosoup{ + pixel_y = 10 + }, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"wF" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/prop/almayer/computers/sensor_computer2{ + density = 0; + pixel_y = 16 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xm" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,7" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xw" = ( +/obj/structure/machinery/door/airlock/almayer/medical{ + id_tag = null; + name = "Operating Theatre 1" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xx" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xE" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xN" = ( +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xW" = ( +/obj/structure/bed/chair/vehicle{ + dir = 1; + pixel_x = 8 + }, +/obj/structure/bed/chair/vehicle{ + dir = 1; + pixel_x = -8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"xX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"yK" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"yQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"yW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/spray/cleaner, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"zk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"zw" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,12" + }, +/area/adminlevel/ert_station/royal_marines_station) +"zL" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Spare Prison Uniforms"; + req_one_access = null + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"zM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"zY" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Aa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/obj/item/device/defibrillator, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ac" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ad" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/chem_master, +/obj/item/storage/box/pillbottles{ + pixel_y = 11 + }, +/obj/item/storage/box/pillbottles{ + pixel_y = 11 + }, +/obj/item/storage/box/pillbottles{ + pixel_y = 11 + }, +/obj/item/storage/box/pillbottles{ + pixel_y = 11 + }, +/obj/item/storage/box/pillbottles{ + pixel_y = 11 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ai" = ( +/obj/structure/platform{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Am" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Aq" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Au" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"AQ" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,6" + }, +/area/adminlevel/ert_station/royal_marines_station) +"AU" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ba" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Bh" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Bk" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"BC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"BV" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin8" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ci" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin5" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Cj" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "6,2" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Cm" = ( +/obj/item/handcuffs{ + pixel_y = 12 + }, +/obj/structure/surface/table/almayer, +/obj/item/handcuffs, +/obj/item/weapon/baton{ + pixel_x = -12 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Cu" = ( +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"CT" = ( +/turf/closed/wall/r_wall/elevator/gears, +/area/adminlevel/ert_station/royal_marines_station) +"Dc" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Dg" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Do" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"DA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/mirror{ + pixel_x = -29 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"DS" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "4,15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"DU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/door/airlock/almayer/generic{ + id = "Delta_1"; + name = "\improper Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"DV" = ( +/obj/structure/window/framed/almayer, +/turf/open/floor/plating, +/area/adminlevel/ert_station/royal_marines_station) +"Ei" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/obj/item/tool/hand_labeler, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"EG" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,8" + }, +/area/adminlevel/ert_station/royal_marines_station) +"EJ" = ( +/obj/structure/mirror{ + pixel_x = -29 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"EK" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,11" + }, +/area/adminlevel/ert_station/royal_marines_station) +"EX" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Fp" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"Fw" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"FA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"FN" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"FX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/cm_vending/gear/antag_guns, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Gd" = ( +/obj/structure/machinery/cryopod, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"GM" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"GO" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"GQ" = ( +/obj/structure/platform, +/obj/structure/blocker/invisible_wall, +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"GX" = ( +/obj/structure/platform, +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"GZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"He" = ( +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"Hg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Hp" = ( +/obj/structure/prop/almayer/cannon_cable_connector{ + pixel_y = 6 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "4,10" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Hz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"HD" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/cm_vending/gear/antag_guns, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"HJ" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"HM" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,6" + }, +/area/adminlevel/ert_station/royal_marines_station) +"HX" = ( +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"Id" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ip" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ir" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/prop/almayer/computer/PC{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"Iw" = ( +/obj/structure/platform, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 10 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"IC" = ( +/obj/structure/bed/chair/vehicle{ + pixel_x = -8 + }, +/obj/structure/bed/chair/vehicle{ + pixel_x = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"IH" = ( +/obj/structure/machinery/door/airlock/almayer/security/colony{ + dir = 8; + name = "\improper Brig Cell" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "RMC_Pub_brig"; + name = "shutters" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"IK" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"IQ" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"IY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Jg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cm_vending/gear/antag_guns, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"JD" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5; + pixel_x = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"JM" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"JO" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Kl" = ( +/obj/structure/reagent_dispensers/fueltank/custom, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ko" = ( +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/prop/vehicles/tank/twe{ + layer = 5.1; + pixel_y = -6 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"Ks" = ( +/turf/open/shuttle/elevator/grating, +/area/adminlevel/ert_station/royal_marines_station) +"Ku" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"KD" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"KF" = ( +/turf/open/shuttle/elevator, +/area/adminlevel/ert_station/royal_marines_station) +"KJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Lj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Mb" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Spare Prison Uniforms"; + req_one_access = null + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Mg" = ( +/obj/structure/surface/table/almayer, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/item/toy/deck{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ms" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MJ" = ( +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"MM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MN" = ( +/obj/structure/prop/almayer/cannon_cable_connector{ + pixel_y = -3 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MQ" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,5" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MX" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"MY" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Nc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ni" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,8" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Nl" = ( +/obj/structure/machinery/cm_vending/gear/antag, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Nm" = ( +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Nv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"NE" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,3" + }, +/area/adminlevel/ert_station/royal_marines_station) +"NF" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"NV" = ( +/turf/closed/wall/r_wall/elevator, +/area/adminlevel/ert_station/royal_marines_station) +"Oi" = ( +/obj/structure/machinery/medical_pod/sleeper, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ok" = ( +/obj/structure/machinery/cryopod{ + dir = 1; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Or" = ( +/obj/structure/machinery/cryopod{ + layer = 3.1; + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Os" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,2" + }, +/area/adminlevel/ert_station/royal_marines_station) +"OA" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"OB" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/syringe_case{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/syringe_case, +/obj/item/storage/syringe_case{ + pixel_x = -3; + pixel_y = -2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"OE" = ( +/obj/structure/largecrate, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"OK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"OO" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "5,14" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Pb" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Pd" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/kutjevo, +/area/adminlevel/ert_station/royal_marines_station) +"Pg" = ( +/turf/open/shuttle/dropship, +/area/adminlevel/ert_station/royal_marines_station) +"Pk" = ( +/obj/structure/machinery/door/airlock/almayer/medical{ + name = "Operating Theatre 2" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Pl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/reagentgrinder{ + pixel_y = 3 + }, +/obj/item/stack/sheet/mineral/phoron{ + amount = 25; + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Px" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "4,14" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PB" = ( +/turf/open/floor/almayer{ + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/door_control/brbutton{ + id = "RMC_Pub_brig"; + pixel_x = -29 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PL" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"PM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 10; + layer = 3.51 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PN" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"PS" = ( +/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access{ + req_access = null + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PU" = ( +/obj/structure/machinery/medical_pod/autodoc, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"PY" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Qi" = ( +/obj/structure/machinery/cm_vending/sorted/medical/no_access{ + req_access = null + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Qj" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + id = "RMC_Pub_brig"; + name = "shutters" + }, +/turf/open/floor/plating, +/area/adminlevel/ert_station/royal_marines_station) +"QP" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "1,12" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ri" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"Rq" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/structure/machinery/cm_vending/clothing/antag, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Rw" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,8" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ry" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"RF" = ( +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"RH" = ( +/obj/structure/largecrate/machine, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Sb" = ( +/obj/docking_port/stationary/emergency_response/idle_port6, +/turf/open/floor/plating, +/area/adminlevel/ert_station/royal_marines_station) +"Sc" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Sd" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 10 + }, +/area/adminlevel/ert_station/royal_marines_station) +"Sm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Sv" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Sw" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "7,2" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ST" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "0,3" + }, +/area/adminlevel/ert_station/royal_marines_station) +"SY" = ( +/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Tf" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/mint, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"Tm" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 1 + }, +/area/adminlevel/ert_station/royal_marines_station) +"Tx" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"TP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/shower{ + pixel_y = 16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"TY" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ub" = ( +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/closed/shuttle/twe_dropship{ + icon_state = "6,0" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Uc" = ( +/obj/structure/largecrate/machine, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Uk" = ( +/obj/structure/platform, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 6 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"Ul" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Up" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Uq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Ur" = ( +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/royal_marines_station) +"Ut" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Uv" = ( +/obj/structure/bed/chair/comfy{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"UF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"UH" = ( +/turf/closed/wall/r_wall/elevator{ + dir = 8 + }, +/area/adminlevel/ert_station/royal_marines_station) +"UJ" = ( +/obj/structure/largecrate/random/barrel/blue, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"UT" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"UV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"UZ" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/fishandchips, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"Va" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "4,9" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Vt" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Vu" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "5,15" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Vv" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/platform, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"VA" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/faxmachine/uscm/brig, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"VF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"VG" = ( +/obj/structure/machinery/cm_vending/sorted/medical/blood, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"VH" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/surface/table/almayer, +/obj/item/storage/box/handcuffs{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/device/flash{ + pixel_y = -8 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"VL" = ( +/obj/structure/surface/table/almayer, +/obj/item/clothing/suit/straight_jacket, +/obj/item/handcuffs{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/handcuffs, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Wa" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp/green{ + pixel_x = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"We" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Wo" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/platform, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 6; + layer = 3.51 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Wt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Wx" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"WB" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"WC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WD" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/recharger, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WI" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Spare Prison Uniforms" + }, +/obj/item/clothing/shoes/orange, +/obj/item/clothing/shoes/orange, +/obj/item/clothing/shoes/orange, +/obj/item/clothing/shoes/orange, +/obj/item/clothing/under/color/orange, +/obj/item/clothing/under/color/orange, +/obj/item/clothing/under/color/orange, +/obj/item/clothing/under/color/orange, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WL" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "6,13" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WM" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WS" = ( +/turf/closed/wall/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"WW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"WY" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/void, +/area/adminlevel/ert_station/royal_marines_station) +"WZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Xe" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Xh" = ( +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Xz" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/adminlevel/ert_station/royal_marines_station) +"XB" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"XF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"XN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) +"XT" = ( +/obj/structure/machinery/door_control/brbutton{ + id = "RMC_brig_1"; + pixel_x = 25; + pixel_y = -5 + }, +/obj/structure/machinery/door_control/brbutton{ + id = "RMC_brig_2"; + pixel_x = 25; + pixel_y = 8 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/adminlevel/ert_station/royal_marines_station) +"XV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "cargo_arrow" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Yk" = ( +/obj/structure/machinery/autodoc_console, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"YI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/body_scanconsole, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/adminlevel/ert_station/royal_marines_station) +"YZ" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Zf" = ( +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Zk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Zl" = ( +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/adminlevel/ert_station/royal_marines_station) +"Zx" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/syringes{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/syringes, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ZA" = ( +/obj/structure/bed/chair/comfy, +/turf/open/floor/almayer, +/area/adminlevel/ert_station/royal_marines_station) +"ZO" = ( +/turf/closed/shuttle/twe_dropship{ + icon_state = "8,5" + }, +/area/adminlevel/ert_station/royal_marines_station) +"ZV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/royal_marines_station) + +(1,1,1) = {" +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +"} +(2,1,1) = {" +jL +jL +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +jL +jL +jL +jL +jL +jL +jL +"} +(3,1,1) = {" +jL +gS +gS +ai +yK +yK +Nl +WS +TY +yK +Sv +Sv +Sv +gS +TY +TY +TY +gS +Sv +Sv +Sv +uq +OE +WS +TP +DA +WZ +ad +ad +WZ +EJ +cu +WS +qj +Ad +oY +SY +gS +gS +jL +jL +jL +jL +jL +jL +"} +(4,1,1) = {" +jL +gS +HD +XF +hL +yK +Nl +WS +TY +XF +oZ +NF +NF +IQ +gJ +gJ +gJ +IQ +NF +Ac +Ac +Xz +Uc +WS +TP +WW +Au +ad +ad +Zf +vm +cu +WS +Hg +je +Zf +xN +eV +gS +gS +gS +gS +gS +gS +jL +"} +(5,1,1) = {" +jL +gS +Jg +yQ +hL +kx +WS +WS +WS +ai +Am +jU +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +jU +GZ +WS +WS +WS +ad +DU +WS +WS +fJ +WS +WS +WS +WS +mI +Zf +Au +YI +Oi +WS +ft +bS +iO +gS +jL +"} +(6,1,1) = {" +jL +gS +Jg +yQ +hL +yK +yK +aK +yK +PB +sb +MJ +MJ +ZA +wt +kh +Uv +ZA +UZ +kh +Uv +dK +yK +aK +yK +Up +gJ +gJ +gJ +kT +MX +yK +aK +Kl +Zf +Zf +Au +Au +rv +WS +xN +Zf +xN +gS +jL +"} +(7,1,1) = {" +jL +gS +su +yQ +hL +hL +yK +mK +yK +PB +sb +MJ +MJ +ZA +kh +kh +Uv +ZA +kh +kh +Uv +RF +yK +mK +yK +sb +Bh +Bh +xE +xE +RF +yK +mK +Zf +Zf +Zf +Au +Au +xN +WS +WS +Pk +WS +gS +jL +"} +(8,1,1) = {" +jL +gS +su +hL +hL +XF +yK +aK +yK +PB +sb +MJ +MJ +ZA +kh +kh +Uv +ZA +kh +Tf +Uv +RF +yK +aK +yK +sb +MJ +MJ +jU +jU +RF +yK +aK +Zf +Au +sP +yW +Au +Zf +jk +Zf +Zf +Bk +gS +jL +"} +(9,1,1) = {" +jL +gS +ar +zk +Do +Nv +WS +WS +WS +ai +sb +MJ +MJ +MJ +MJ +MJ +jU +jU +jU +MJ +MJ +Xe +WS +WS +WS +WM +Bh +Bh +xE +xE +Xe +WS +WS +WS +uQ +Zx +OB +Zf +Zf +Nm +Zf +Zf +UT +gS +jL +"} +(10,1,1) = {" +jL +gS +Ur +Ur +Ip +vB +vB +WS +TY +yK +gx +gq +gq +Bh +Bh +FA +jl +jl +gq +gq +gq +gg +kH +WS +uU +sb +MJ +MJ +jU +MJ +RF +qZ +WS +Aa +je +VG +VG +Au +xN +WS +WS +xw +WS +gS +jL +"} +(11,1,1) = {" +jL +gS +Ok +Ur +Ip +vB +rP +WS +TY +yK +mo +mo +yK +Id +Sv +Sv +yK +uE +yK +yK +uE +kH +kH +WS +mb +Am +Bh +Bh +Bh +Bh +RF +RH +aK +Pl +je +Zf +Zf +Zf +PU +WS +xN +Zf +xN +gS +jL +"} +(12,1,1) = {" +jL +gS +WS +lG +JD +iz +ad +WS +WS +DV +Nm +Pb +DV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +xb +Am +MJ +MJ +MJ +MJ +dK +XF +aK +Ei +je +Zf +Zf +xN +Yk +WS +ft +bS +iO +gS +jL +"} +(13,1,1) = {" +jL +gS +lX +Ur +MM +Ur +lX +aK +nI +zM +zk +zk +ls +nI +WS +Hz +qN +ri +gT +gJ +IQ +gJ +gJ +aK +XF +Am +MJ +MJ +kh +Ir +aX +XF +aK +PS +xN +Zf +Zf +lF +gS +gS +gS +gS +gS +gS +jL +"} +(14,1,1) = {" +jL +gS +Ur +Ur +Ur +Ur +Ur +mK +Ur +Ur +yK +yK +Ur +Ur +WS +MU +yK +oC +gx +gq +Dg +MJ +MJ +mK +aq +eX +gq +gq +gq +ro +hA +XF +aK +Qi +xN +xN +xN +lF +gS +jL +jL +jL +jL +jL +jL +"} +(15,1,1) = {" +jL +gS +pk +wF +Ok +pk +wF +aK +pk +wF +pk +wF +pk +wF +WS +ds +zk +Ms +ll +ll +Vt +gq +gq +aK +KJ +WC +ll +uE +yK +yK +XF +XF +WS +Qi +xN +ei +ll +ll +gS +jL +jL +jL +jL +jL +jL +"} +(16,1,1) = {" +gS +gS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +Nm +Pb +WS +WS +WS +WS +WS +Nm +Pb +WS +WS +WS +WS +WS +WS +WS +WS +WS +Nm +Pb +gS +gS +jL +jL +jL +jL +jL +"} +(17,1,1) = {" +gS +yK +Ur +Ur +PN +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +PN +Ur +Ur +WY +HX +HX +HX +Iw +Ur +Ur +WY +HX +HX +HX +HX +HX +HX +HX +Iw +Ur +Ur +Sm +gS +jL +jL +jL +jL +jL +"} +(18,1,1) = {" +gS +yK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +uC +Cu +Cu +Cu +mc +Ur +Ur +uC +dd +xm +uc +ST +Cu +Cu +Cu +mc +Ur +vB +XF +gS +jL +jL +jL +jL +jL +"} +(19,1,1) = {" +gS +yK +aH +Ai +OK +OK +VF +Ur +Wt +OK +VF +Ur +Wt +OK +OK +Ai +qG +yK +Ur +Ur +uC +Cu +Cu +Cu +mc +Ur +Ur +Rw +xm +HM +MQ +uc +ST +Cu +Cu +go +Ur +vB +XF +gS +gS +gS +gS +gS +gS +"} +(20,1,1) = {" +gS +yK +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +Sb +Vv +yK +Ur +Ur +uC +Cu +Cu +QP +gU +Nm +Nm +gU +gU +jW +gU +jW +gU +Os +aW +oA +Ur +vB +XF +bO +NV +NV +NV +Sd +gS +"} +(21,1,1) = {" +gS +xy +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +Wo +yK +Ur +GO +iS +Cu +pO +bG +ju +Zl +Zl +Zl +Zl +rS +Ba +Ba +MN +wl +cL +jB +Ur +vB +hI +CT +KF +Ks +KF +UH +gS +"} +(22,1,1) = {" +gS +XF +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +yK +yK +Ur +uC +bs +tr +hp +lq +Ci +IC +xW +IC +xW +Ci +iR +lW +Ko +YZ +Ur +Ur +Ur +XF +XV +Nm +Ks +Ks +Ks +Nm +gS +"} +(23,1,1) = {" +gS +XF +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +yK +yK +Ur +uC +DS +Px +iE +Nm +Pg +Hp +Va +Va +jr +Ci +op +sy +sy +Nm +Ur +Ur +Ur +XF +PB +Nm +Ks +KF +Ks +Nm +gS +"} +(24,1,1) = {" +gS +XF +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +yK +yK +Ur +uC +Vu +OO +bp +lq +Ci +IC +xW +IC +xW +Ci +IK +Pd +Pd +OA +Ur +Ur +Ur +XF +PB +Nm +Ks +Ks +Ks +Nm +gS +"} +(25,1,1) = {" +gS +ai +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +PM +yK +Ur +Fp +KD +Cu +WL +bG +fp +Zl +Zl +Zl +Zl +BV +Ba +Ba +MN +Cj +sR +Ub +Ur +Ur +kx +CT +KF +Ks +KF +nj +gS +"} +(26,1,1) = {" +gS +yK +ky +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +dc +Vv +yK +Ur +Ur +uC +Cu +Cu +zw +EK +Nm +Nm +NE +NE +mw +NE +iI +NE +Sw +iK +GX +Ur +Ur +yK +rI +Tm +Tm +Tm +pJ +gS +"} +(27,1,1) = {" +gS +yK +qi +fx +PC +PC +Zk +Ur +fM +PC +IY +Ur +fM +PC +PC +fx +du +yK +Ur +Ur +uC +Cu +Cu +Cu +mc +Ur +Ur +Ni +hm +AQ +ZO +AU +jI +Cu +Cu +GQ +Ur +Ur +yK +gS +gS +gS +gS +gS +gS +"} +(28,1,1) = {" +gS +yK +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +uC +Cu +Cu +Cu +mc +Ur +Ur +uC +EG +hm +AU +jI +Cu +Cu +Cu +mc +Ur +Ur +yK +gS +jL +jL +jL +jL +jL +"} +(29,1,1) = {" +gS +nW +Ur +Ur +Ri +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ur +Ri +Ur +Ur +WB +He +He +He +Uk +Ur +Ur +WB +He +He +He +He +He +He +He +Uk +Ur +Ur +uE +gS +jL +jL +jL +jL +jL +"} +(30,1,1) = {" +gS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +Nm +Pb +WS +WS +WS +WS +WS +Nm +Pb +WS +WS +WS +WS +WS +WS +WS +WS +WS +Uq +Pb +gS +gS +jL +jL +jL +jL +jL +"} +(31,1,1) = {" +jL +gS +Gd +Or +lX +Gd +Or +aK +Gd +Or +Gd +Or +Gd +Or +WS +Hz +qN +ri +mo +mo +pL +FN +FN +aK +dm +ps +mo +Ul +PY +yK +XF +OE +WS +VA +kO +kL +ps +ps +gS +jL +jL +jL +jL +jL +jL +"} +(32,1,1) = {" +jL +gS +Ur +Ur +Ur +Ur +Ur +mK +Ur +Ur +yK +yK +Ur +Ur +WS +MU +yK +oC +Ut +FN +xx +MJ +MJ +mK +aq +nn +FN +zY +gl +zY +Ku +UJ +aK +WD +Lj +yK +yK +yK +gS +jL +jL +jL +jL +jL +jL +"} +(33,1,1) = {" +jL +gS +Ok +Ur +Sc +Ur +Ok +aK +tv +UV +jV +jV +sI +tv +WS +ds +zk +Ms +HJ +fD +ja +fD +fD +aK +XF +BC +MJ +MJ +MJ +MJ +ev +XF +aK +WD +Xh +Xh +Xh +yK +gS +gS +gS +gS +gS +gS +jL +"} +(34,1,1) = {" +jL +gS +WS +kf +We +sF +WS +WS +WS +DV +Nm +Pb +DV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +nl +Ry +nT +nT +nT +nT +ev +XF +aK +WI +Xh +Xh +Xh +yK +Qj +cJ +qb +FN +GM +gS +jL +"} +(35,1,1) = {" +jL +gS +lX +Ur +XN +Ur +lX +WS +TY +yK +ll +ll +XF +Sm +XF +XF +XF +Ul +yK +yK +Sm +UJ +UJ +WS +RH +Ry +MJ +MJ +MJ +MJ +ev +XF +aK +WI +Xh +Xh +Xh +XF +Qj +HJ +fD +fD +tw +gS +jL +"} +(36,1,1) = {" +jL +gS +Ur +Ur +XN +Ur +Ur +WS +TY +yK +Ut +xX +xX +te +te +te +FN +FN +FN +FN +FN +Ku +UJ +WS +OE +Ry +nT +nT +nT +nT +kX +UJ +WS +lI +Xh +Xh +Xh +XF +WS +WS +WS +WS +IH +gS +jL +"} +(37,1,1) = {" +jL +gS +Rq +jV +ZV +eu +WS +WS +WS +ai +Ry +MJ +MJ +kh +kh +kh +MJ +MJ +MJ +MJ +MJ +MY +WS +WS +WS +uK +jU +MJ +MJ +MJ +MY +WS +WS +WS +Lj +Xh +Xh +yK +XF +jk +Ut +PD +Ku +gS +jL +"} +(38,1,1) = {" +jL +gS +su +Xh +Xh +XF +yK +aK +yK +PB +Ry +MJ +MJ +kh +kh +kh +MJ +MJ +MJ +MJ +MJ +kX +yK +aK +yK +Ry +Fw +Fw +nT +nT +kX +yK +aK +yK +Xh +Xh +Lj +Xh +yK +Nm +HJ +XT +eh +gS +jL +"} +(39,1,1) = {" +jL +gS +su +Xh +Xh +Lj +yK +mK +yK +PB +Ry +MJ +MJ +Tx +PL +PL +MJ +MJ +MJ +oo +oo +kX +yK +mK +yK +Ry +jU +jU +MJ +MJ +ev +yK +mK +yK +Xh +Lj +Lj +Xh +zL +WS +ol +WS +vD +gS +jL +"} +(40,1,1) = {" +jL +gS +Jg +Lj +Xh +yK +yK +aK +yK +PB +Ry +oo +oo +Wx +jU +MJ +MJ +MJ +MJ +kh +kh +ev +yK +aK +yK +od +co +co +fD +fD +dj +yK +aK +yK +Xh +VH +VL +Xh +Mb +WS +Xh +WS +Xh +gS +jL +"} +(41,1,1) = {" +jL +gS +Jg +Lj +Xh +kx +WS +WS +WS +ai +Ry +kh +kh +lN +jU +MJ +MJ +MJ +MJ +kh +kh +Nc +WS +WS +WS +WS +fJ +ad +WS +fJ +ad +WS +WS +WS +Xh +Cm +jD +yK +Mb +WS +iG +WS +iG +gS +jL +"} +(42,1,1) = {" +jL +gS +FX +XF +Xh +yK +Nl +WS +TY +yK +HJ +EX +EX +qx +co +fD +fD +fD +fD +kW +kW +eh +RH +WS +TP +nw +Au +ad +ad +Au +Aq +cu +WS +vR +Xh +Xh +yK +XF +gS +gS +gS +gS +gS +gS +jL +"} +(43,1,1) = {" +jL +gS +gS +xy +yK +yK +Nl +WS +TY +yK +yK +JO +JO +gS +TY +TY +TY +gS +yK +yK +yK +Uc +qZ +WS +TP +Dc +UF +ad +ad +JM +XB +cu +WS +Wa +Mg +yK +XF +gS +gS +jL +jL +jL +jL +jL +jL +"} +(44,1,1) = {" +jL +jL +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +gS +jL +jL +jL +jL +jL +jL +jL +"} +(45,1,1) = {" +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +jL +"} diff --git a/maps/templates/weyland_ert_station.dmm b/maps/templates/weyland_ert_station.dmm index 854299a4efda..ce495acd3f65 100644 --- a/maps/templates/weyland_ert_station.dmm +++ b/maps/templates/weyland_ert_station.dmm @@ -38,8 +38,8 @@ "bf" = ( /obj/structure/surface/table/reinforced/black, /obj/item/tool/stamp/internalaffairs{ - pixel_y = 9; - pixel_x = -5 + pixel_x = -5; + pixel_y = 9 }, /obj/item/paper_bin/wy, /obj/item/tool/pen, @@ -201,8 +201,8 @@ dir = 1 }, /turf/open/floor/corsat{ - icon_state = "yellowcorner"; - dir = 4 + dir = 4; + icon_state = "yellowcorner" }, /area/adminlevel/ert_station/weyland_station) "cZ" = ( @@ -403,9 +403,9 @@ /area/adminlevel/ert_station/weyland_station) "fe" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_meeting"; - name = "\improper Meeting Room Shutters"; - dir = 4 + name = "\improper Meeting Room Shutters" }, /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -440,14 +440,14 @@ /area/adminlevel/ert_station/weyland_station) "fD" = ( /obj/structure/closet/emcloset{ - pixel_y = 15; + density = 0; pixel_x = 8; - density = 0 + pixel_y = 15 }, /obj/structure/closet/firecloset/full{ - pixel_y = 15; + density = 0; pixel_x = -8; - density = 0 + pixel_y = 15 }, /turf/open/floor/corsat{ dir = 9; @@ -633,14 +633,14 @@ /area/adminlevel/ert_station/weyland_station) "hZ" = ( /obj/structure/closet/secure_closet/brig{ - pixel_y = 16; + density = 0; pixel_x = 7; - density = 0 + pixel_y = 16 }, /obj/structure/closet/secure_closet/brig{ - pixel_y = 16; + density = 0; pixel_x = -7; - density = 0 + pixel_y = 16 }, /turf/open/floor/corsat{ dir = 1; @@ -684,8 +684,8 @@ pixel_y = 10 }, /obj/item/device/flashlight/lamp/green{ - pixel_y = 20; - pixel_x = 16 + pixel_x = 16; + pixel_y = 20 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/weyland_station) @@ -862,9 +862,9 @@ "kO" = ( /obj/structure/window/framed/corsat/research, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_center_medbay_or"; - name = "\improper Central Medbay Operation Room Shutters"; - dir = 4 + name = "\improper Central Medbay Operation Room Shutters" }, /turf/open/floor/plating, /area/adminlevel/ert_station/weyland_station) @@ -1095,8 +1095,8 @@ /area/adminlevel/ert_station/weyland_station) "nb" = ( /obj/structure/filingcabinet/filingcabinet{ - pixel_x = 8; - density = 0 + density = 0; + pixel_x = 8 }, /turf/open/floor/corsat{ dir = 4; @@ -1183,14 +1183,14 @@ layer = 2.5 }, /obj/structure/closet/emcloset{ - pixel_y = 15; + density = 0; pixel_x = 8; - density = 0 + pixel_y = 15 }, /obj/structure/closet/firecloset/full{ - pixel_y = 15; + density = 0; pixel_x = -8; - density = 0 + pixel_y = 15 }, /obj/structure/machinery/light/double{ dir = 4; @@ -1576,9 +1576,9 @@ "sX" = ( /obj/structure/window/framed/corsat/research, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_center_medbay"; - name = "\improper Central Medbay Shutters"; - dir = 4 + name = "\improper Central Medbay Shutters" }, /turf/open/floor/plating, /area/adminlevel/ert_station/weyland_station) @@ -1682,8 +1682,8 @@ pixel_y = 32 }, /obj/structure/sink{ - pixel_y = 21; - pixel_x = 1 + pixel_x = 1; + pixel_y = 21 }, /obj/structure/pipes/vents/pump, /turf/open/floor/corsat{ @@ -1739,8 +1739,8 @@ /area/adminlevel/ert_station/weyland_station) "vb" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/marine/colony{ - name = "Barracks"; - dir = 1 + dir = 1; + name = "Barracks" }, /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -1862,8 +1862,8 @@ "xk" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/storage/fancy/cigarettes/wypacket{ - pixel_y = 4; - pixel_x = -5 + pixel_x = -5; + pixel_y = 4 }, /obj/item/tool/lighter/zippo/gold, /turf/open/floor/wood/ship, @@ -1876,9 +1876,9 @@ /area/adminlevel/ert_station/weyland_station) "xD" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_meeting"; - name = "\improper Meeting Room Shutters"; - dir = 4 + name = "\improper Meeting Room Shutters" }, /turf/open/floor/corsat{ icon_state = "sigma" @@ -2365,8 +2365,8 @@ "Dk" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/firstaid/rad{ - pixel_y = 6; - pixel_x = 7 + pixel_x = 7; + pixel_y = 6 }, /obj/item/storage/firstaid/toxin, /turf/open/floor/corsat{ @@ -2410,8 +2410,8 @@ pixel_y = 13 }, /obj/item/device/flashlight/lamp/green{ - pixel_y = 21; - pixel_x = 16 + pixel_x = 16; + pixel_y = 21 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/weyland_station) @@ -2484,8 +2484,8 @@ /area/adminlevel/ert_station/weyland_station) "EC" = ( /turf/open/floor/corsat{ - icon_state = "yellowcorner"; - dir = 4 + dir = 4; + icon_state = "yellowcorner" }, /area/adminlevel/ert_station/weyland_station) "ED" = ( @@ -2696,8 +2696,8 @@ pixel_y = 32 }, /obj/structure/sink{ - pixel_y = 23; - pixel_x = 1 + pixel_x = 1; + pixel_y = 23 }, /turf/open/floor/corsat{ icon_state = "damaged1" @@ -2795,10 +2795,10 @@ "Js" = ( /obj/structure/surface/table/reinforced/black, /obj/structure/transmitter/rotary{ + callable = 0; name = "Weyland-Yutani Station CiC"; phone_category = "W-Y"; - phone_id = "W-Y Station CiC"; - callable = 0 + phone_id = "W-Y Station CiC" }, /turf/open/floor/corsat{ icon_state = "squares" @@ -2911,9 +2911,9 @@ name = "\improper Meeting Room" }, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_meeting"; - name = "\improper Meeting Room Shutters"; - dir = 4 + name = "\improper Meeting Room Shutters" }, /turf/open/floor/corsat{ icon_state = "sigma" @@ -3497,9 +3497,9 @@ "RL" = ( /obj/structure/window/framed/corsat, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_meeting"; - name = "\improper Meeting Room Shutters"; - dir = 4 + name = "\improper Meeting Room Shutters" }, /turf/open/floor/plating, /area/adminlevel/ert_station/weyland_station) @@ -3550,8 +3550,8 @@ "Sr" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/corsat{ - icon_state = "brown"; - dir = 1 + dir = 1; + icon_state = "brown" }, /area/adminlevel/ert_station/weyland_station) "Ss" = ( @@ -3588,10 +3588,10 @@ "SE" = ( /obj/structure/surface/table/woodentable/fancy, /obj/structure/transmitter/rotary{ + callable = 0; name = "Weyland-Yutani Station Meeting Room"; phone_category = "W-Y"; - phone_id = "W-Y Station Meeting Room"; - callable = 0 + phone_id = "W-Y Station Meeting Room" }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/weyland_station) @@ -3872,14 +3872,14 @@ icon_state = "SE-out" }, /obj/structure/closet/emcloset{ - pixel_y = 15; + density = 0; pixel_x = 8; - density = 0 + pixel_y = 15 }, /obj/structure/closet/firecloset/full{ - pixel_y = 15; + density = 0; pixel_x = -8; - density = 0 + pixel_y = 15 }, /obj/structure/machinery/light/double{ dir = 8; @@ -3992,8 +3992,8 @@ /area/adminlevel/ert_station/weyland_station) "XQ" = ( /turf/open/floor/corsat{ - icon_state = "brown"; - dir = 1 + dir = 1; + icon_state = "brown" }, /area/adminlevel/ert_station/weyland_station) "XR" = ( @@ -4047,8 +4047,8 @@ /area/adminlevel/ert_station/weyland_station) "YB" = ( /obj/structure/machinery/photocopier{ - pixel_y = 16; - density = 0 + density = 0; + pixel_y = 16 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/weyland_station) @@ -4074,8 +4074,8 @@ pixel_y = 32 }, /obj/structure/sink{ - pixel_y = 21; - pixel_x = 1 + pixel_x = 1; + pixel_y = 21 }, /turf/open/floor/corsat{ icon_state = "retrosquareslight" @@ -4120,9 +4120,9 @@ name = "\improper Meeting Room" }, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; id = "WY_meeting"; - name = "\improper Meeting Room Shutters"; - dir = 4 + name = "\improper Meeting Room Shutters" }, /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 diff --git a/sound/bullets/bullet_vulture_impact.ogg b/sound/bullets/bullet_vulture_impact.ogg new file mode 100644 index 000000000000..8ccf6c77deac Binary files /dev/null and b/sound/bullets/bullet_vulture_impact.ogg differ diff --git a/sound/weapons/gun_vulture_fire.ogg b/sound/weapons/gun_vulture_fire.ogg new file mode 100644 index 000000000000..156127cb5a14 Binary files /dev/null and b/sound/weapons/gun_vulture_fire.ogg differ diff --git a/sound/weapons/gun_vulture_report.ogg b/sound/weapons/gun_vulture_report.ogg new file mode 100644 index 000000000000..16cb5eae9e32 Binary files /dev/null and b/sound/weapons/gun_vulture_report.ogg differ diff --git a/sound/weapons/handling/gun_vulture_bolt_close.ogg b/sound/weapons/handling/gun_vulture_bolt_close.ogg new file mode 100644 index 000000000000..1417782295d5 Binary files /dev/null and b/sound/weapons/handling/gun_vulture_bolt_close.ogg differ diff --git a/sound/weapons/handling/gun_vulture_bolt_eject.ogg b/sound/weapons/handling/gun_vulture_bolt_eject.ogg new file mode 100644 index 000000000000..a0a1dc7d0904 Binary files /dev/null and b/sound/weapons/handling/gun_vulture_bolt_eject.ogg differ diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss index 5bb333d87ac6..835a94341708 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss @@ -988,6 +988,10 @@ em { color: #e3580e; } +.rmcradio { + color: #e3580e; +} + .cmbradio { color: #1b748c; } diff --git a/tgui/packages/tgui/interfaces/AresInterface.js b/tgui/packages/tgui/interfaces/AresInterface.js index a8208f0bd4ab..aae115d150b0 100644 --- a/tgui/packages/tgui/interfaces/AresInterface.js +++ b/tgui/packages/tgui/interfaces/AresInterface.js @@ -11,12 +11,12 @@ const PAGES = { 'apollo': () => ApolloLog, 'access_log': () => AccessLogs, 'delete_log': () => DeletionLogs, + 'flight_log': () => FlightLogs, 'talking': () => ARESTalk, 'deleted_talks': () => DeletedTalks, 'read_deleted': () => ReadingTalks, 'security': () => Security, 'requisitions': () => Requisitions, - 'antiair': () => AntiAir, 'emergency': () => Emergency, }; @@ -163,14 +163,14 @@ const MainMenu = (props, context) => { + + + + + + + + + + + + + ); +}; + +const OffsetDirection = (props, context) => { + const { dir } = props; + const { data, act } = useBackend(context); + return ( + + + + + + + + + + + + + + + ); +}; + +const ScopePosition = (props, context) => { + const { dir } = props; + const { data, act } = useBackend(context); + return ( + +