diff --git a/.github/workflows/autochangelog.yml b/.github/workflows/autochangelog.yml index cb6ecabe46..c9c628fa29 100644 --- a/.github/workflows/autochangelog.yml +++ b/.github/workflows/autochangelog.yml @@ -11,7 +11,7 @@ env: jobs: autochangelog: name: Autochangelog - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 if: github.event.pull_request.merged == true steps: - uses: /actions/checkout@v3 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3b10db6503..0c51bc9a8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ env: jobs: file_tests: name: Run Linters - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - name: Ensure +x on CI directory @@ -36,7 +36,7 @@ jobs: dreamchecker: name: DreamChecker - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -71,7 +71,7 @@ jobs: # YW EDIT: end name: Integration Tests # needs: ['file_tests', 'dreamchecker'] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - name: Ensure +x on CI directory @@ -124,13 +124,12 @@ jobs: #REPLACE: false # YW EDIT: end RUN: "0" - # YW EDIT: start - #tests_successful: - #name: Integration Tests - #needs: ['file_tests', 'dreamchecker', 'unit_tests'] - #runs-on: ubuntu-latest - #steps: - #- name: Report Success - #run: | - #echo "Jobs Successful!" - # YW EDIT: end + + tests_successful: + name: Integration Tests + needs: ['file_tests', 'dreamchecker', 'unit_tests'] + runs-on: ubuntu-20.04 + steps: + - name: Report Success + run: | + echo "Jobs Successful!" diff --git a/.github/workflows/render_nanomaps.yml b/.github/workflows/render_nanomaps.yml index d6f2622041..62076dca06 100644 --- a/.github/workflows/render_nanomaps.yml +++ b/.github/workflows/render_nanomaps.yml @@ -19,7 +19,7 @@ jobs: pull-requests: write # to create pull requests (repo-sync/pull-request) name: 'Generate NanoMaps' - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Clone uses: actions/checkout@v3 diff --git a/code/__defines/admin_vr.dm b/code/__defines/admin_vr.dm index 62c4add906..5cc4ac2299 100644 --- a/code/__defines/admin_vr.dm +++ b/code/__defines/admin_vr.dm @@ -1,5 +1,6 @@ #define SMITE_SHADEKIN_ATTACK "Shadekin (Attack)" #define SMITE_SHADEKIN_NOMF "Shadekin (Devour)" #define SMITE_REDSPACE_ABDUCT "Redspace Abduction" +#define SMITE_AD_SPAM "Ad Spam" #define SMITE_AUTOSAVE "10 Second Autosave" #define SMITE_AUTOSAVE_WIDE "10 Second Autosave (AoE)" diff --git a/code/_onclick/hud/popups_vr.dm b/code/_onclick/hud/popups_vr.dm index 76e72224ef..20dc1963da 100644 --- a/code/_onclick/hud/popups_vr.dm +++ b/code/_onclick/hud/popups_vr.dm @@ -68,4 +68,4 @@ /obj/screen/popup/default/New() ..() - icon_state = "popup[rand(1,4)]" \ No newline at end of file + icon_state = "popup[rand(1,10)]" \ No newline at end of file diff --git a/code/datums/roundstats/roundstats.dm b/code/datums/roundstats/roundstats.dm index 6a4c3b0993..ebff1fea4f 100644 --- a/code/datums/roundstats/roundstats.dm +++ b/code/datums/roundstats/roundstats.dm @@ -25,6 +25,8 @@ GLOBAL_VAR_INIT(prey_eaten_roundstat, 0) //VOREStation Edit - Obviously GLOBAL_VAR_INIT(prey_absorbed_roundstat, 0) //VOREStation Edit - Obviously GLOBAL_VAR_INIT(prey_digested_roundstat, 0) //VOREStation Edit - Obviously GLOBAL_VAR_INIT(items_digested_roundstat, 0) //VOREStation Edit - Obviously +var/global/list/security_printer_tickets = list() //VOREStation Edit + /hook/roundend/proc/RoundTrivia()//bazinga var/list/valid_stats_list = list() //This is to be populated with the good shit @@ -54,6 +56,22 @@ GLOBAL_VAR_INIT(items_digested_roundstat, 0) //VOREStation Edit - Obviously else if(GLOB.disposals_flush_shift_roundstat > 40) valid_stats_list.Add("The disposal system flushed a whole [GLOB.disposals_flush_shift_roundstat] times for this shift. We should really invest in waste treatement.") + //VOREStation add Start - Ticket time! + if(security_printer_tickets.len) + valid_stats_list.Add("[security_printer_tickets.len] unique security tickets were issued today!
Examples include:") + var/good_num = 5 + var/ourticket + while(good_num > 0) + ourticket = null + if(security_printer_tickets.len) + ourticket = pick(security_printer_tickets) + security_printer_tickets -= ourticket + if(ourticket) + valid_stats_list.Add("-\"[ourticket]\"") + good_num-- + else + good_num = 0 + //VOREStation Add Start - Vore stats lets gooooo if(GLOB.prey_eaten_roundstat > 0) valid_stats_list.Add("A total of [GLOB.prey_eaten_roundstat] individuals were eaten today!") diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm index 66c8a2d4b4..fa930bb150 100644 --- a/code/datums/supplypacks/misc_vr.dm +++ b/code/datums/supplypacks/misc_vr.dm @@ -169,4 +169,19 @@ ) cost = 300 containertype = /obj/structure/closet/crate - containername = "cordless jukebox speakers crate" \ No newline at end of file + containername = "cordless jukebox speakers crate" + +/datum/supply_pack/misc/explorer_headsets + name = "shortwave-capable headsets (x4)" + contains = list( + /obj/item/device/radio/headset/explorer = 4 + ) + cost = 20 + containertype = /obj/structure/closet/crate/secure/gear + containername = "exploration radio headsets crate" + access = list( + access_explorer, + access_eva, + access_pilot + ) + one_access = TRUE diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm index cdcbdbe27d..330faaa9f4 100644 --- a/code/game/jobs/job/civilian_vr.dm +++ b/code/game/jobs/job/civilian_vr.dm @@ -30,7 +30,7 @@ spawn_positions = 2 pto_type = PTO_CIVILIAN alt_titles = list("Hydroponicist" = /datum/alt_title/hydroponicist, "Cultivator" = /datum/alt_title/cultivator, "Farmer" = /datum/alt_title/farmer, - "Gardener" = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit) + "Gardener" = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit, "Rancher" = /datum/alt_title/rancher) /datum/alt_title/hydroponicist title = "Hydroponicist" @@ -45,6 +45,10 @@ title = "Florist" title_blurb = "A Florist may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." +/datum/alt_title/rancher + title = "Rancher" + title_blurb = "A Rancher is tasked with the care, feeding, raising, and harvesting of livestock." + /datum/job/qm pto_type = PTO_CARGO diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 20d0f634da..f8590dabbc 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -43,6 +43,7 @@ var/obj/item/weapon/airlock_electronics/electronics = null var/hasShocked = 0 //Prevents multiple shocks from happening var/secured_wires = 0 + var/security_level = 1 //VOREStation Addition - acts as a multiplier on the time required to hack an airlock with a hacktool var/datum/wires/airlock/wires = null var/open_sound_powered = 'sound/machines/door/covert1o.ogg' @@ -129,6 +130,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/cmd3o.ogg' department_close_powered = 'sound/machines/door/cmd3c.ogg' + security_level = 3 //VOREStation Addition /obj/machinery/door/airlock/security name = "Security Airlock" @@ -139,6 +141,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sec1o.ogg' department_close_powered = 'sound/machines/door/sec1c.ogg' + security_level = 2 //VOREStation Addition /obj/machinery/door/airlock/engineering name = "Engineering Airlock" @@ -149,6 +152,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/engineeringatmos name = "Atmospherics Airlock" @@ -159,6 +163,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/medical name = "Medical Airlock" @@ -169,6 +174,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/med1o.ogg' department_close_powered = 'sound/machines/door/med1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/maintenance name = "Maintenance Access" @@ -258,6 +264,7 @@ opacity = 1 open_sound_powered = 'sound/machines/door/cmd3o.ogg' close_sound_powered = 'sound/machines/door/cmd3c.ogg' + security_level = 100 //VOREStation Addition /obj/machinery/door/airlock/glass_centcom name = "Airlock" @@ -266,6 +273,7 @@ glass = 1 open_sound_powered = 'sound/machines/door/cmd3o.ogg' close_sound_powered = 'sound/machines/door/cmd3c.ogg' + security_level = 100 //VOREStation Addition /obj/machinery/door/airlock/vault name = "Vault" @@ -277,6 +285,7 @@ req_one_access = list(access_heads_vault) open_sound_powered = 'sound/machines/door/vault1o.ogg' close_sound_powered = 'sound/machines/door/vault1c.ogg' + security_level = 5 //VOREStation Addition /obj/machinery/door/airlock/vault/bolted icon_state = "door_locked" @@ -324,6 +333,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/cmd1o.ogg' department_close_powered = 'sound/machines/door/cmd1c.ogg' + security_level = 3 //VOREStation Addition /obj/machinery/door/airlock/glass_engineering name = "Engineering Airlock" @@ -337,6 +347,7 @@ req_one_access = list(access_engine) department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/glass_engineeringatmos name = "Atmospherics Airlock" @@ -352,6 +363,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/glass_security name = "Security Airlock" @@ -367,6 +379,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sec1o.ogg' department_close_powered = 'sound/machines/door/sec1c.ogg' + security_level = 2 //VOREStation Addition /obj/machinery/door/airlock/glass_medical name = "Medical Airlock" @@ -382,6 +395,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/med1o.ogg' department_close_powered = 'sound/machines/door/med1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/mining name = "Mining Airlock" @@ -402,6 +416,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/research name = "Research Airlock" @@ -411,6 +426,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sci1o.ogg' department_close_powered = 'sound/machines/door/sci1c.ogg' + security_level = 2 //VOREStation Addition /obj/machinery/door/airlock/glass_research name = "Research Airlock" @@ -426,6 +442,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sci1o.ogg' department_close_powered = 'sound/machines/door/sci1c.ogg' + security_level = 2 //VOREStation Addition /obj/machinery/door/airlock/glass_mining name = "Mining Airlock" @@ -456,6 +473,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/eng1o.ogg' department_close_powered = 'sound/machines/door/eng1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/gold name = "Gold Airlock" @@ -540,6 +558,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sci1o.ogg' department_close_powered = 'sound/machines/door/sci1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/glass_science name = "Glass Airlocks" @@ -552,6 +571,7 @@ close_sound_powered = 'sound/machines/door/hall1c.ogg' // VOREStation Edit: Default door sounds for fancy, department-off. department_open_powered = 'sound/machines/door/sci1o.ogg' department_close_powered = 'sound/machines/door/sci1c.ogg' + security_level = 1.5 //VOREStation Addition /obj/machinery/door/airlock/highsecurity name = "Secure Airlock" @@ -562,6 +582,7 @@ req_one_access = list(access_heads_vault) open_sound_powered = 'sound/machines/door/secure1o.ogg' close_sound_powered = 'sound/machines/door/secure1c.ogg' + security_level = 4 //VOREStation Addition /obj/machinery/door/airlock/voidcraft name = "voidcraft hatch" @@ -609,6 +630,7 @@ hackProof = TRUE assembly_type = /obj/structure/door_assembly/door_assembly_alien req_one_access = list(access_alien) + security_level = 100 //VOREStation Addition /obj/machinery/door/airlock/alien/locked icon_state = "door_locked" diff --git a/code/game/magic/archived_book.dm b/code/game/magic/archived_book.dm index 1aab354815..ea484584df 100644 --- a/code/game/magic/archived_book.dm +++ b/code/game/magic/archived_book.dm @@ -39,25 +39,46 @@ var/global/datum/book_manager/book_mgr = new() if(!src.holder) to_chat(src, "Only administrators may use this command.") return +//VOREStation Edit Start + var/obj/machinery/librarycomp/our_comp + for(var/obj/machinery/librarycomp/l in world) + if(istype(l, /obj/machinery/librarycomp)) + our_comp = l + break - var/isbn = tgui_input_number(usr, "ISBN number?", "Delete Book") - if(!isbn) + if(!our_comp) + to_chat(usr, "Unable to locate a library computer to use for book deleting.") return - if(BOOKS_USE_SQL && config.sql_enabled) - var/DBConnection/dbcon = new() - dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]") - if(!dbcon.IsConnected()) - tgui_alert_async(usr, "Connection to Archive has been severed. Aborting.") - return + var/dat = "Book Inventory Management\n" // + dat += "

ADMINISTRATIVE MANAGEMENT

" + establish_old_db_connection() + + if(!dbcon_old.IsConnected()) + dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." else - var/DBQuery/query = dbcon.NewQuery("DELETE FROM library WHERE id=[isbn]") - if(!query.Execute()) - to_chat(usr,query.ErrorMsg()) - dbcon.Disconnect() - else - book_mgr.remove(isbn) - log_admin("[usr.key] has deleted the book [isbn]") + dat += {"(Order book by SS13BN)

+ +
TITLENo response from remote, check door power.") + else if(D.locked == TRUE && full_override == FALSE) + to_chat(user, "Unable to override door bolts!") + else if(D.locked == TRUE && full_override == TRUE && D.arePowerSystemsOn()) + to_chat(user, "Door bolts overridden.") + D.unlock() + else if(D.density == TRUE && D.locked == FALSE) + to_chat(user, "Overriding access. Door opening.") + D.open() + else if(D.density == FALSE && D.locked == FALSE) + to_chat(user, "Overriding access. Door closing.") + D.close() return 1 /obj/item/device/multitool/hacktool/proc/attempt_hack(var/mob/user, var/atom/target) @@ -47,17 +71,23 @@ to_chat(user, "You are already hacking!") return 0 if(!is_type_in_list(target, supported_types)) - to_chat(user, "\icon[src][bicon(src)] Unable to hack this target!") + to_chat(user, "\icon[src][bicon(src)] Unable to hack this target, invalid target type.") return 0 - var/found = known_targets.Find(target) + + var/obj/machinery/door/airlock/D = target + if(D.security_level > max_level) + to_chat(user, "\icon[src][bicon(src)] Target's electronic security is too complex.") + return 0 + + var/found = known_targets.Find(D) if(found) known_targets.Swap(1, found) // Move the last hacked item first return 1 - - to_chat(user, "You begin hacking \the [target]...") + to_chat(user, "You begin hacking \the [D]...") is_hacking = 1 - // On average hackin takes ~30 seconds. Fairly small random span to avoid people simply aborting and trying again - var/hack_result = do_after(user, (20 SECONDS + rand(0, 10 SECONDS) + rand(0, 10 SECONDS))) + // On average hackin takes ~15 seconds. Fairly small random span to avoid people simply aborting and trying again + // Reduced hack duration to compensate for the reduced functionality, multiplied by door sec level + var/hack_result = do_after(user, (((10 SECONDS + rand(0, 10 SECONDS) + rand(0, 10 SECONDS))*hackspeed)*D.security_level)) is_hacking = 0 if(hack_result && in_hack_mode) @@ -67,8 +97,8 @@ to_chat(user, "Your hacking attempt failed!") return 0 - known_targets.Insert(1, target) // Insert the newly hacked target first, - target.register(OBSERVER_EVENT_DESTROY, src, /obj/item/device/multitool/hacktool/proc/on_target_destroy) + known_targets.Insert(1, D) // Insert the newly hacked target first, + D.register(OBSERVER_EVENT_DESTROY, src, /obj/item/device/multitool/hacktool/proc/on_target_destroy) return 1 /obj/item/device/multitool/hacktool/proc/sanity_check() diff --git a/code/game/objects/items/devices/ticket_printer.dm b/code/game/objects/items/devices/ticket_printer.dm new file mode 100644 index 0000000000..8817c7ec87 --- /dev/null +++ b/code/game/objects/items/devices/ticket_printer.dm @@ -0,0 +1,58 @@ +/obj/item/device/ticket_printer + name = "ticket printer" + desc = "It prints security citations!" + icon = 'icons/obj/device_vr.dmi' + icon_state = "sec_ticket_printer" + var/print_cooldown = 1 MINUTE + var/last_print + +/obj/item/device/ticket_printer/attack_self(mob/user) + . = ..() + if(last_print + print_cooldown <= world.time) + print_a_ticket(user) + else + to_chat(user, "\The [src] is not ready to print another ticket yet.") + +/obj/item/device/ticket_printer/proc/print_a_ticket(mob/user) + + var/ticket_name = sanitize(tgui_input_text(user, "The Name of the person you are issuing the ticket to.", "Name", max_length = 100)) + if(length(ticket_name) > 100) + tgui_alert_async(usr, "Entered name too long. 100 character limit.","Error") + return + if(!ticket_name) + return + var/details = sanitize(tgui_input_text(user, "What is the ticket for? Avoid entering personally identifiable information in this section. This information should not be used to harrass or otherwise make the person feel uncomfortable. (Max length: 200)", "Ticket Details", max_length = 200)) + if(length(details) > 200) + tgui_alert_async(usr, "Entered details too long. 200 character limit.","Error") + return + if(!details) + return + + var/turf/our_turf = get_turf(user) + + var/final = "

Nanotrasen Security Citation


This security citation has been issued to
[capitalize(ticket_name)]
Reason:
[details]
See your local representative at Central Command after the shift is over to resolve this issue.
" + + var/obj/item/weapon/paper/sec_ticket/p = new /obj/item/weapon/paper/sec_ticket(our_turf) + + p.info = final + p.name = "Security Citation: [ticket_name]" + playsound(user, 'sound/items/ticket_printer.ogg', 75, 1) + + security_printer_tickets |= details + log_and_message_admins("has issued '[ticket_name]' a security citation: \"[details]\"", user) + last_print = world.time + +/obj/item/weapon/paper/sec_ticket + name = "Security Citation" + desc = "A citation issued by security for some kind of infraction!" + icon = 'icons/obj/bureaucracy_vr.dmi' + icon_state = "sec_ticket" + +/obj/item/weapon/paper/sec_ticket/Initialize(mapload, text, title) + . = ..() + icon = 'icons/obj/bureaucracy_vr.dmi' + icon_state = "sec_ticket" + +/obj/item/weapon/paper/sec_ticket/update_icon() + icon = icon + icon_state = icon_state diff --git a/code/game/objects/items/trash_vr.dm b/code/game/objects/items/trash_vr.dm index 1f6cf5d3a8..17cf91d176 100644 --- a/code/game/objects/items/trash_vr.dm +++ b/code/game/objects/items/trash_vr.dm @@ -59,4 +59,9 @@ /obj/item/trash/ratpackcheese name = "\improper Prepackaged Meal Tray" icon = 'icons/obj/trash_vr.dmi' - icon_state = "altevian_pack_cheese-trash" \ No newline at end of file + icon_state = "altevian_pack_cheese-trash" + +/obj/item/trash/ratpackturkey + name = "\improper Prepackaged Meal Tray" + icon = 'icons/obj/trash_vr.dmi' + icon_state = "altevian_pack_turkey-trash" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index c218e6cc08..df9886cbb6 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -289,7 +289,8 @@ /obj/item/weapon/gun/projectile/p92x, /obj/item/taperoll, /obj/item/weapon/gun/projectile/colt/detective, - /obj/item/device/holowarrant + /obj/item/device/holowarrant, + /obj/item/device/ticket_printer //VOREStation Edit ) /obj/item/weapon/storage/belt/detective @@ -334,7 +335,8 @@ ///obj/item/weapon/gun/projectile/colt/detective, //Detectives don't get projectile weapons as standard here /obj/item/weapon/gun/energy/stunrevolver/detective, //In keeping with the same vein as above, they can store their special one /obj/item/device/holowarrant, - /obj/item/weapon/reagent_containers/food/drinks/flask + /obj/item/weapon/reagent_containers/food/drinks/flask, + /obj/item/device/ticket_printer //VOREStation Edit ) /obj/item/weapon/storage/belt/soulstone diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index d21dfc0579..daee0ca179 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -299,7 +299,7 @@ /obj/structure/bed/chair/sofa/update_layer() // Corner east/west should be on top of mobs, any other state's north should be. - if((corner_piece && ((dir & EAST) || (dir & WEST))) || (!corner_piece && (dir & NORTH))) + if(!corner_piece && (dir & NORTH)) plane = MOB_PLANE layer = MOB_LAYER + 0.1 else @@ -318,6 +318,18 @@ base_icon = "sofacorner" corner_piece = TRUE +/obj/structure/bed/chair/sofa/corner/update_icon() + ..() + var/cache_key = "[base_icon]-armrest-[padding_material ? padding_material.name : "no_material"]-permanent" + if(isnull(stool_cache[cache_key])) + var/image/I = image(icon, "[base_icon]_armrest") + I.plane = MOB_PLANE + I.layer = ABOVE_MOB_LAYER + if(padding_material) + I.color = padding_material.icon_colour + stool_cache[cache_key] = I + add_overlay(stool_cache[cache_key]) + // Wooden nonsofa - no corners /obj/structure/bed/chair/sofa/pew name = "pew bench" diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm index 1def51437c..48ddc2b13c 100644 --- a/code/game/objects/structures/trash_pile_vr.dm +++ b/code/game/objects/structures/trash_pile_vr.dm @@ -22,8 +22,6 @@ /obj/item/weapon/bluespace_harpoon, /obj/item/clothing/glasses/thermal/syndi, /obj/item/weapon/gun/energy/netgun, - /obj/item/weapon/gun/projectile/pirate, - /obj/item/clothing/accessory/permit/gun, /obj/item/weapon/gun/projectile/dartgun, /obj/item/clothing/gloves/black/bloodletter, /obj/item/weapon/gun/energy/mouseray/metamorphosis @@ -264,7 +262,7 @@ prob(1);/obj/item/device/flashlight/glowstick/yellow, prob(1);/obj/item/device/flashlight/pen, prob(1);/obj/item/device/paicard, - prob(1);/obj/item/weapon/card/emag, + prob(1);/obj/item/clothing/accessory/permit/gun, prob(1);/obj/item/clothing/mask/gas/voice, prob(1);/obj/item/weapon/spacecash/c100, prob(1);/obj/item/weapon/spacecash/c50, @@ -295,6 +293,7 @@ prob(2);/obj/item/clothing/under/hyperfiber/bluespace, prob(2);/obj/item/selectable_item/chemistrykit/size, prob(2);/obj/item/selectable_item/chemistrykit/gender, + prob(2);/obj/item/clothing/gloves/bluespace/emagged, prob(1);/obj/item/clothing/suit/storage/vest/heavy/merc, prob(1);/obj/item/device/nif/bad, prob(1);/obj/item/device/radio_jammer, @@ -310,6 +309,8 @@ prob(1);/obj/item/device/survivalcapsule/popcabin, prob(1);/obj/item/weapon/reagent_containers/syringe/steroid, prob(1);/obj/item/capture_crystal, + prob(1);/obj/item/device/perfect_tele/one_beacon, + prob(1);/obj/item/clothing/gloves/bluespace, prob(1);/obj/item/weapon/gun/energy/mouseray) var/obj/item/I = new path() diff --git a/code/modules/admin/admin_verb_lists_vr.dm b/code/modules/admin/admin_verb_lists_vr.dm index 9e00a5f11e..13977ba41f 100644 --- a/code/modules/admin/admin_verb_lists_vr.dm +++ b/code/modules/admin/admin_verb_lists_vr.dm @@ -128,6 +128,8 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/view_feedback, /client/proc/make_mentor, /client/proc/unmake_mentor, + /client/proc/removetickets, + /client/proc/delbook, /client/proc/setckey, //YW add - readds SetCkey proc /client/proc/dbcon_fix //YW add - adds Fix Database Connection proc ) diff --git a/code/modules/admin/admin_verbs_vr.dm b/code/modules/admin/admin_verbs_vr.dm index 994d12a4ea..cf3e71e7ec 100644 --- a/code/modules/admin/admin_verbs_vr.dm +++ b/code/modules/admin/admin_verbs_vr.dm @@ -54,3 +54,69 @@ segments = 36 if(tgui_alert(usr, "\The [orbiter] will orbit around [center]. Is this okay?", "Confirm Orbit", list("Yes", "No")) == "Yes") orbiter.orbit(center, distance, clock, speed, segments) + +/client/proc/removetickets() + set name = "Security Tickets" + set category = "Admin" + set desc = "Allows one to remove tickets from the global list." + + if(!check_rights(R_ADMIN)) + return + + if(security_printer_tickets.len >= 1) + var/input = tgui_input_list(usr, "Which message?", "Security Tickets", security_printer_tickets) + if(!input) + return + if(tgui_alert(usr, "Do you want to remove the following message from the global list? \"[input]\"", "Remove Ticket", list("Yes", "No")) == "Yes") + security_printer_tickets -= input + log_and_message_admins("removed a security ticket from the global list: \"[input]\"", usr) + + else + tgui_alert_async(usr, "The ticket list is empty.","Empty") + +/client/proc/delbook() + set name = "Delete Book" + set desc = "Permamently deletes a book from the database." + set category = "Admin" + if(!src.holder) + to_chat(src, "Only administrators may use this command.") + return + + var/obj/machinery/librarycomp/our_comp + for(var/obj/machinery/librarycomp/l in world) + if(istype(l, /obj/machinery/librarycomp)) + our_comp = l + break + + if(!our_comp) + to_chat(usr, "Unable to locate a library computer to use for book deleting.") + return + + var/dat = "Book Inventory Management\n" + dat += "

ADMINISTRATIVE MANAGEMENT

" + establish_old_db_connection() + + if(!dbcon_old.IsConnected()) + dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." + else + dat += {"
(Order book by SS13BN)

+ +
TITLE\The [user] swipes the [emag_source] over the \the [src].","You swipes the [emag_source] over the \the [src].") return 1 +/obj/item/clothing/gloves/bluespace/emagged + emagged = TRUE + +/obj/item/clothing/gloves/bluespace/emagged/Initialize() + . = ..() + target_size = (rand(1,300)) /100 + if(target_size < 0.1) + target_size = 0.1 + //Same as Nanotrasen Security Uniforms /obj/item/clothing/under/ert armor = list(melee = 5, bullet = 10, laser = 10, energy = 5, bomb = 5, bio = 0, rad = 0) diff --git a/code/modules/economy/vending_machines_vr.dm b/code/modules/economy/vending_machines_vr.dm index f32bede4fb..e0bcd71b20 100644 --- a/code/modules/economy/vending_machines_vr.dm +++ b/code/modules/economy/vending_machines_vr.dm @@ -3458,11 +3458,13 @@ /obj/item/weapon/reagent_containers/food/snacks/ratliquid = 15, /obj/item/weapon/reagent_containers/food/snacks/ratfruitcake = 15, /obj/item/weapon/reagent_containers/food/snacks/ratpackburger = 8, - /obj/item/weapon/reagent_containers/food/snacks/ratpackcheese = 8) + /obj/item/weapon/reagent_containers/food/snacks/ratpackcheese = 8, + /obj/item/weapon/reagent_containers/food/snacks/ratpackturkey = 2) prices = list(/obj/item/weapon/reagent_containers/food/snacks/ratprotein = 8, /obj/item/weapon/reagent_containers/food/snacks/ratveggies = 8, /obj/item/weapon/reagent_containers/food/snacks/ratliquid = 8, /obj/item/weapon/reagent_containers/food/snacks/ratfruitcake = 8, /obj/item/weapon/reagent_containers/food/snacks/ratpackburger = 10, - /obj/item/weapon/reagent_containers/food/snacks/ratpackcheese = 10) + /obj/item/weapon/reagent_containers/food/snacks/ratpackcheese = 10, + /obj/item/weapon/reagent_containers/food/snacks/ratpackturkey = 200) diff --git a/code/modules/emotes/definitions/audible.dm b/code/modules/emotes/definitions/audible.dm index 8808ed38f5..ac4c767721 100644 --- a/code/modules/emotes/definitions/audible.dm +++ b/code/modules/emotes/definitions/audible.dm @@ -238,6 +238,12 @@ emote_message_3p_target = "trills at TARGET." emote_sound = 'sound/voice/teshtrill.ogg' // Copyright CC BY-NC 3.0 Arnaud Coutancier (freesound.org) for the source audio. +/decl/emote/audible/teshscream + key = "teshscream" + emote_message_1p = "You scream!" + emote_message_3p = "screams!" + emote_sound = 'sound/voice/teshscream.ogg' + /decl/emote/audible/prbt key = "prbt" emote_message_1p = "You prbt." diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm index b1e3e878c2..f5c276d887 100644 --- a/code/modules/food/food/snacks_vr.dm +++ b/code/modules/food/food/snacks_vr.dm @@ -861,3 +861,15 @@ trash = /obj/item/trash/ratpackcheese nutriment_amt = 2 nutriment_desc = list("gourmand cheese" = 4) + +/obj/item/weapon/reagent_containers/food/snacks/ratpackturkey + name = "Compact Holiday Special Bird" + desc = "A great gift for holidays for assorted species. This contains a full freshly cooked turkey. Open and enjoy. Courtesy of altevian packaging" + icon = 'icons/obj/food_vr.dmi' + icon_state = "altevian_pack_turkey" + package_open_state = "altevian_pack_turkey-open" + package_opening_state = "altevian_pack_turkey-opening" + package = TRUE + trash = /obj/item/trash/ratpackturkey + nutriment_amt = 18 + nutriment_desc = list("high-quality poultry" = 4) diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 3e5bd91b6a..cf8fd8d581 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -11,6 +11,13 @@ item_state = "hedget" force = 7 //One point extra than standard wire cutters. +/obj/item/weapon/tool/wirecutters/clippers/trimmers/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) + if(!proximity) return + ..() + if(A && istype(A,/obj/effect/plant)) + var/obj/effect/plant/P = A + P.die_off() + /obj/item/device/analyzer/plant_analyzer name = "plant analyzer" icon = 'icons/obj/device.dmi' @@ -31,7 +38,7 @@ if(!ui) ui = new(user, src, "PlantAnalyzer", name) ui.open() - + /obj/item/device/analyzer/plant_analyzer/tgui_state(mob/user) return GLOB.tgui_inventory_state @@ -51,7 +58,7 @@ /obj/item/device/analyzer/plant_analyzer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) if(..()) return TRUE - + switch(action) if("print") print_report(usr) @@ -277,7 +284,7 @@ if(get_trait(TRAIT_SPORING)) data["trait_info"] += "It occasionally releases reagent carrying spores into the atmosphere." - + if(exude_gasses && exude_gasses.len) for(var/gas in exude_gasses) var/amount = "" @@ -296,4 +303,4 @@ amount = "small amounts of " data["trait_info"] += "It will consume [amount][gas_data.name[gas]] from the environment." - return data + return data \ No newline at end of file diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index a3ee1610c4..20094948d7 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -304,6 +304,43 @@ user << browse(dat, "window=library") onclose(user, "library") +//VOREStation Addition Start +/obj/machinery/librarycomp/attack_ghost(mob/user) + + var/show_admin_options = check_rights(R_ADMIN, show_msg = FALSE) + if(!show_admin_options) + . = ..() + + else + usr.set_machine(src) + var/dat = "Book Inventory Management\n" // + + dat += "

ADMINISTRATIVE MANAGEMENT

" + establish_old_db_connection() + + if(!dbcon_old.IsConnected()) + dat += "ERROR: Unable to contact External Archive. Please contact your system administrator for assistance." + else + dat += {"
(Order book by SS13BN)

+ + " + dat += "
TITLE\[Del\]" + dat += "
" + dat += "
(Return to main menu)
" + + user << browse(dat, "window=library") + onclose(user, "library") +//VOREStation Addition End + /obj/machinery/librarycomp/emag_act(var/remaining_charges, var/mob/user) if (src.density && !src.emagged) src.emagged = 1 @@ -460,6 +497,7 @@ else var/DBQuery/query = dbcon_old.NewQuery("DELETE FROM library WHERE id=[sqlid]") query.Execute() + log_admin("[usr.key] has deleted the book [sqlid]") //VOREStation Addition if(href_list["orderbyid"]) var/orderid = tgui_input_number(usr, "Enter your order:") @@ -571,4 +609,4 @@ b.icon_state = "book[rand(1,7)]" qdel(O) else - ..() \ No newline at end of file + ..() diff --git a/code/modules/materials/materials/metals/steel.dm b/code/modules/materials/materials/metals/steel.dm index 99afcd385d..2a65386c60 100644 --- a/code/modules/materials/materials/metals/steel.dm +++ b/code/modules/materials/materials/metals/steel.dm @@ -15,6 +15,19 @@ new /datum/stack_recipe("dark office chair", /obj/structure/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), new /datum/stack_recipe("light office chair", /obj/structure/bed/chair/office/light, 5, one_per_turf = 1, on_floor = 1, recycle_material = "[name]") )), + new /datum/stack_recipe_list("comfy chairs", list( + new /datum/stack_recipe("beige comfy chair", /obj/structure/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("black comfy chair", /obj/structure/bed/chair/comfy/black, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("brown comfy chair", /obj/structure/bed/chair/comfy/brown, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("lime comfy chair", /obj/structure/bed/chair/comfy/lime, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("teal comfy chair", /obj/structure/bed/chair/comfy/teal, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("red comfy chair", /obj/structure/bed/chair/comfy/red, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("blue comfy chair", /obj/structure/bed/chair/comfy/blue, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("purple comfy chair", /obj/structure/bed/chair/comfy/purp, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("green comfy chair", /obj/structure/bed/chair/comfy/green, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("yellow comfy chair", /obj/structure/bed/chair/comfy/yellow, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + new /datum/stack_recipe("orange comfy chair", /obj/structure/bed/chair/comfy/orange, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), + )), new /datum/stack_recipe_list("rounded chairs", list( new /datum/stack_recipe("beige rounded chair", /obj/structure/bed/chair/comfy/rounded/beige, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), new /datum/stack_recipe("black rounded chair", /obj/structure/bed/chair/comfy/rounded/black, 2, one_per_turf = 1, on_floor = 1, recycle_material = "[name]"), diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 3d2df063b5..f0ac7c002e 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -18,6 +18,8 @@ generate_loot() +/* Vorestation edit - see abandonedcrates_vr.dm for virgo version. Keeping legacy proc in comments for reference. + /obj/structure/closet/crate/secure/loot/proc/generate_loot() var/loot = rand(1, 100) switch(loot) @@ -143,6 +145,9 @@ if(100) new/obj/item/device/personal_shield_generator/belt/mining/loaded(src) +vorestation edit end */ + + /obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob) if(!locked) return diff --git a/code/modules/mining/abandonedcrates_vr.dm b/code/modules/mining/abandonedcrates_vr.dm index 66bde0b4ff..7e4b8e2437 100644 --- a/code/modules/mining/abandonedcrates_vr.dm +++ b/code/modules/mining/abandonedcrates_vr.dm @@ -1,2 +1,173 @@ /obj/structure/closet/crate/secure/loot - tamper_proof = 2 \ No newline at end of file + tamper_proof = 2 + +/obj/structure/closet/crate/secure/loot/proc/generate_loot() + var/lootvalue = 0 + while(lootvalue <= 10) //if the initial generation gives you less than 10 points of stuff, add more stuff + //pick a thing to add to the crate - the format is "list(filepath, value) = weight," + var/choice = list() + choice = pickweight(list( + list(pick(/obj/item/weapon/ore/diamond, + /obj/item/weapon/ore/osmium, + /obj/item/weapon/ore/hydrogen, + /obj/item/weapon/ore/verdantium, + /obj/item/weapon/ore/uranium), 1) = 10, + list(pick(subtypesof(/obj/item/weapon/coin)), 2) = 10, + list(/obj/item/weapon/spacecash/c500, 4) = 5, + list(/obj/item/weapon/spacecash/c200, 2) = 10, + list(/obj/item/weapon/spacecash/c100, 1) = 10, + list(/obj/item/weapon/spacecash/c50, 1) = 10, + list(/obj/item/weapon/spacecash/c20, 1) = 10, + list(pick(subtypesof(/obj/item/weapon/reagent_containers/food/drinks/bottle/) - /obj/item/weapon/reagent_containers/food/drinks/bottle/small), 1) = 5, + list(/obj/item/weapon/storage/backpack/dufflebag/cratebooze,5) = 5, + list(/obj/item/weapon/storage/backpack/dufflebag/cratedrills, 5) = 5, + list(/obj/item/weapon/reagent_containers/glass/beaker/bluespace, 3) = 5, + list(/obj/item/weapon/reagent_containers/glass/beaker/noreact, 3) = 5, + list(/obj/item/weapon/melee/baton, 5) = 4, + list(pick(subtypesof(/obj/item/weapon/storage/mre)), 2) = 3, + list(/obj/item/seeds/random, 2) = 3, + list(/obj/item/clothing/under/chameleon, 5) = 3, + list(/obj/item/weapon/melee/classic_baton, 6) = 3, + list(/obj/item/weapon/rig/industrial, 6) = 3, + list(/obj/item/device/multitool/hacktool, 5) = 3, + list(/obj/item/toy/katana, 1) = 2, + list(/obj/item/clothing/head/kitty, 1) = 2, + list(pick(subtypesof(/obj/item/weapon/soap)), 1) = 2, + list(/obj/item/clothing/under/shorts/red, 1) = 2, + list(/obj/item/clothing/under/shorts/blue, 1) = 2, + list(/obj/item/clothing/accessory/tie/horrible, 1) = 2, + list(pick(subtypesof(/obj/item/weapon/stock_parts) - /obj/item/weapon/stock_parts/subspace), 2) = 3, + list(/obj/item/latexballon, 2) = 2, + list(/obj/item/toy/syndicateballoon, 3) = 2, + list(/obj/item/clothing/suit/ianshirt, 3) = 2, + list(/obj/item/clothing/head/bearpelt, 4) = 2, + list(/obj/item/weapon/archaeological_find, 3) = 2, + list(pick(subtypesof(/obj/item/toy/mecha)), 4) = 2, + list(pick(subtypesof(/obj/item/toy/figure)), 4) = 2, + list(pick(subtypesof(/obj/item/toy/plushie)), 4) = 2, + list(pick(subtypesof(/obj/item/weapon/storage/firstaid)), 4) = 2, + list(/obj/item/weapon/pickaxe/silver, 3) = 2, + list(/obj/item/weapon/pickaxe/drill, 3) = 2, + list(/obj/item/weapon/pickaxe/jackhammer, 4) = 2, + list(/obj/item/weapon/pickaxe/gold, 4) = 2, + list(/obj/item/weapon/pickaxe/diamond, 5) = 2, + list(/obj/item/weapon/pickaxe/diamonddrill, 6) = 2, + list(/obj/item/weapon/pickaxe/plasmacutter, 5) = 2, + list(/obj/item/device/soulstone, 5) = 2, + list(/obj/item/weapon/material/sword/katana, 5) = 2, + list(/obj/item/weapon/storage/belt/utility/chief/full, 8) = 2, + list(/obj/item/device/personal_shield_generator/belt/mining/loaded, 6) = 2, + list(pick(subtypesof(/obj/item/weapon/melee/energy/sword) - /obj/item/weapon/melee/energy/sword/charge), 6) = 2, + list(pick(/obj/item/weapon/dnainjector/xraymut, /obj/item/weapon/dnainjector/nobreath, /obj/item/weapon/dnainjector/insulation), 6) = 2, + list(/obj/item/weapon/gun/energy/netgun, 7) = 2, + list(pick(prob(300);/obj/item/weapon/gun/energy/mouseray, + prob(50);/obj/item/weapon/gun/energy/mouseray/corgi, + prob(50);/obj/item/weapon/gun/energy/mouseray/woof, + prob(50);/obj/item/weapon/gun/energy/mouseray/cat, + prob(50);/obj/item/weapon/gun/energy/mouseray/chicken, + prob(50);/obj/item/weapon/gun/energy/mouseray/lizard, + prob(50);/obj/item/weapon/gun/energy/mouseray/rabbit, + prob(50);/obj/item/weapon/gun/energy/mouseray/fennec, + prob(5);/obj/item/weapon/gun/energy/mouseray/monkey, + prob(5);/obj/item/weapon/gun/energy/mouseray/wolpin, + prob(5);/obj/item/weapon/gun/energy/mouseray/otie, + prob(5);/obj/item/weapon/gun/energy/mouseray/direwolf, + prob(5);/obj/item/weapon/gun/energy/mouseray/giantrat, + prob(50);/obj/item/weapon/gun/energy/mouseray/redpanda, + prob(5);/obj/item/weapon/gun/energy/mouseray/catslug, + prob(5);/obj/item/weapon/gun/energy/mouseray/teppi, + prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis, + prob(1);/obj/item/weapon/gun/energy/mouseray/metamorphosis/advanced/random + ), 8) = 2, + list(/obj/item/weapon/gun/energy/pummeler, 11) = 2, + list(pick(subtypesof(/obj/item/weapon/reagent_containers/food/drinks/glass2/coffeemug)), 1) = 1, + list(/obj/item/xenos_claw, 1) = 1, + list(/obj/item/organ/internal/heart, 1) = 1, + list(/obj/item/weapon/vampiric, 2) = 1, + list(/obj/item/weed_extract, 2) = 1, + list(/obj/item/weapon/storage/backpack/luchador/loaded, 3) = 1, + list(/obj/item/weapon/storage/backpack/clown/loaded, 5) = 1, + list(/obj/item/weapon/storage/backpack/mime/loaded, 5) = 1, + list(pick(/obj/item/device/multitool/alien, + /obj/item/stack/cable_coil/alien, + /obj/item/weapon/tool/crowbar/alien, + /obj/item/weapon/tool/screwdriver/alien, + /obj/item/weapon/weldingtool/alien, + /obj/item/weapon/tool/wirecutters/alien, + /obj/item/weapon/tool/wrench/alien), 7) = 1, + list(pick(/obj/item/weapon/melee/energy/axe, /obj/item/weapon/melee/energy/spear), 11) = 1, + list(/obj/item/weapon/card/emag/used, 7) = 1, + list(pick(/obj/item/weapon/grenade/spawnergrenade/spesscarp, /obj/item/weapon/grenade/spawnergrenade/spider, /obj/item/weapon/grenade/explosive/frag), 7) = 1, + list(/obj/item/weapon/grenade/flashbang/clusterbang, 7) = 1, + list(/obj/item/weapon/card/emag, 11) = 1, + list(/obj/item/weapon/storage/backpack/sport/hyd/catchemall, 11) = 1 + )) + var/path = choice[1] + var/value = choice[2] + contents += new path() + lootvalue += value + +//putting the multi-object loot items as their own things + +/obj/item/weapon/storage/backpack/dufflebag/cratebooze + starts_with = list( + /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, + /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus, + ) + +/obj/item/weapon/storage/backpack/dufflebag/cratedrills + starts_with = list( + /obj/item/weapon/pickaxe/advdrill, + /obj/item/device/taperecorder, + /obj/item/clothing/suit/space, + /obj/item/clothing/head/helmet/space + ) + +/obj/item/weapon/storage/backpack/clown/loaded + starts_with = list( + /obj/item/clothing/under/rank/clown, + /obj/item/clothing/shoes/clown_shoes, + /obj/item/device/pda/clown, + /obj/item/clothing/mask/gas/clown_hat, + /obj/item/weapon/bikehorn, + /obj/item/weapon/pen/crayon/rainbow, + /obj/item/weapon/reagent_containers/spray/waterflower + ) + +/obj/item/weapon/storage/backpack/mime/loaded + starts_with = list( + /obj/item/clothing/under/mime, + /obj/item/clothing/shoes/black, + /obj/item/device/pda/mime, + /obj/item/clothing/gloves/white, + /obj/item/clothing/mask/gas/mime, + /obj/item/clothing/head/beret, + /obj/item/clothing/suit/suspenders, + /obj/item/weapon/pen/crayon/mime, + /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing + ) + +/obj/item/weapon/storage/backpack/luchador/loaded + starts_with = list( + /obj/item/weapon/storage/belt/champion, + /obj/item/clothing/mask/luchador + ) + + +/obj/item/weapon/storage/backpack/sport/hyd/catchemall + name = "sports backpack" + desc = "A green sports backpack." + starts_with = list( + /obj/item/clothing/head/soft/red, + /obj/item/clothing/suit/varsity/blue, + /obj/item/clothing/under/pants/youngfolksjeans, + /obj/item/capture_crystal + ) + +/obj/item/weapon/storage/backpack/sport/hyd/catchemall/Initialize() //gotta have your starter 'mon too (or an improved way to catch one) + ..() + var/path = pick(subtypesof(/obj/item/capture_crystal)) + contents += new path() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index c9c426c280..191c693bef 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -158,6 +158,16 @@ var/list/_human_default_emotes = list( /decl/emote/audible/mothscream, /decl/emote/audible/mothchitter, /decl/emote/audible/mothlaugh, + /decl/emote/audible/multichirp, + /decl/emote/audible/gnarl, + /decl/emote/audible/teshsqueak, + /decl/emote/audible/teshchirp, + /decl/emote/audible/teshtrill, + /decl/emote/audible/teshscream, + /decl/emote/visible/bounce, + /decl/emote/visible/jiggle, + /decl/emote/visible/lightup, + /decl/emote/visible/vibrate, //VOREStation Add End //YW ADDITION: Add Start /decl/emote/audible/chirp, diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 9f558dde6c..10afe6b7d4 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -422,6 +422,9 @@ msg += "Physical status: \[[medical]\]" msg += "Medical records: \[View\] \[Add comment\]" + if(hasHUD(user,"best")) + msg += "Employment records: \[View\] \[Add comment\]" + var/flavor_text = print_flavor_text() if(flavor_text) diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm index 1deab398f0..3ac7698e63 100644 --- a/code/modules/mob/living/carbon/human/examine_vr.dm +++ b/code/modules/mob/living/carbon/human/examine_vr.dm @@ -78,6 +78,9 @@ if("medical") if(omni.mode == "med" || omni.mode == "best") return TRUE + if("best") + if(omni.mode == "best") + return TRUE return FALSE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index dd678816a5..9bc65bf2c8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -568,6 +568,87 @@ var/mob/living/silicon/robot/U = usr R.fields[text("com_[counter]")] = text("Made by [U.name] ([U.modtype] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [game_year]
[t1]") + if (href_list["emprecord"]) + if(hasHUD(usr,"best")) + var/perpname = "wot" + var/read = 0 + + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name + else + perpname = name + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.general) + if (R.fields["id"] == E.fields["id"]) + if(hasHUD(usr,"best")) + to_chat(usr, "Name: [R.fields["name"]]") + to_chat(usr, "Assignment: [R.fields["real_rank"]] ([R.fields["rank"]])") + to_chat(usr, "Home System: [R.fields["home_system"]]") + to_chat(usr, "Citizenship: [R.fields["citizenship"]]") + to_chat(usr, "Primary Employer: [R.fields["personal_faction"]]") + to_chat(usr, "Religious Beliefs: [R.fields["religion"]]") + to_chat(usr, "Notes: [R.fields["notes"]]") + to_chat(usr, "\[View Comment Log\]") + read = 1 + + if(!read) + to_chat(usr, "Unable to locate a data core entry for this person.") + + if (href_list["emprecordComment"]) + if(hasHUD(usr,"best")) + var/perpname = "wot" + var/read = 0 + + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name + else + perpname = name + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.general) + if (R.fields["id"] == E.fields["id"]) + if(hasHUD(usr,"best")) + read = 1 + var/counter = 1 + while(R.fields[text("com_[]", counter)]) + to_chat(usr, "[R.fields[text("com_[]", counter)]]") + counter++ + if (counter == 1) + to_chat(usr, "No comment found") + to_chat(usr, "\[Add comment\]") + + if(!read) + to_chat(usr, "Unable to locate a data core entry for this person.") + + if (href_list["emprecordadd"]) + if(hasHUD(usr,"best")) + var/perpname = "wot" + var/obj/item/weapon/card/id/I = GetIdCard() + if(I) + perpname = I.registered_name + else + perpname = name + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.general) + if (R.fields["id"] == E.fields["id"]) + if(hasHUD(usr,"best")) + var/t1 = sanitize(tgui_input_text(usr, "Add Comment:", "Emp. records", null, null, multiline = TRUE, prevent_enter = TRUE)) + if ( !(t1) || usr.stat || usr.restrained() || !(hasHUD(usr,"best")) ) + return + var/counter = 1 + while(R.fields[text("com_[]", counter)]) + counter++ + if(istype(usr,/mob/living/carbon/human)) + var/mob/living/carbon/human/U = usr + R.fields[text("com_[counter]")] = text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [game_year]
[t1]") + if(istype(usr,/mob/living/silicon/robot)) + var/mob/living/silicon/robot/U = usr + R.fields[text("com_[counter]")] = text("Made by [U.name] ([U.modtype] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [game_year]
[t1]") + if (href_list["lookitem"]) var/obj/item/I = locate(href_list["lookitem"]) src.examinate(I) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index d5311f79a5..c8aba57735 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -16,17 +16,17 @@ This saves us from having to call add_fingerprint() any time something is put in if(!I) to_chat(H, "You are not holding anything to equip.") return - + var/moved = FALSE - + // Try an equipment slot if(H.equip_to_appropriate_slot(I)) moved = TRUE - + // No? Try a storage item. else if(H.equip_to_storage(I, TRUE)) moved = TRUE - + // No?! Well, give up. if(!moved) to_chat(H, "You are unable to equip that.") @@ -377,6 +377,12 @@ This saves us from having to call add_fingerprint() any time something is put in W.in_inactive_hand(src) + //VOREStation Addition Start + if(istype(W, /obj/item)) + var/obj/item/I = W + I.equip_special() + //VOREStation Addition End + return 1 //Checks if a given slot can be accessed at this time, either to equip or unequip I diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index b70c998946..bd7bc878e0 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -291,11 +291,13 @@ var/obj/item/organ/internal/I = null //Used for further down below when an organ is picked. if(!radiation) if(species.appearance_flags & RADIATION_GLOWS) + glow_override = FALSE set_light(0) if(accumulated_rads) accumulated_rads -= RADIATION_SPEED_COEFFICIENT //Accumulated rads slowly dissipate very slowly. Get to medical to get it treated! else if(((life_tick % 5 == 0) && radiation) || (radiation > 600)) //Radiation is a slow, insidious killer. Unless you get a massive dose, then the onset is sudden! if(species.appearance_flags & RADIATION_GLOWS) + glow_override = TRUE set_light(max(1,min(5,radiation/15)), max(1,min(10,radiation/25)), species.get_flesh_colour(src)) // END DOGSHIT SNOWFLAKE diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 2fb9c4b9ae..da9d8c7cbe 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -99,12 +99,14 @@ var/flash_mod = 1 // Stun from blindness modifier (flashes and flashbangs) var/flash_burn = 0 // how much damage to take from being flashed if light hypersensitive var/sound_mod = 1 // Multiplier to the effective *range* of flashbangs. a flashbang's bang hits an entire screen radius, with some falloff. - var/chem_strength_heal = 1 // Multiplier to most beneficial chem strength - var/chem_strength_pain = 1 // Multiplier to painkiller strength (could be used in a negative trait to simulate long-term addiction reducing effects, etc.) - var/chem_strength_tox = 1 // Multiplier to toxic chem strength (inc. chloral/sopo/mindbreaker/etc. thresholds) + + var/chem_strength_heal = 1 // Multiplier to most beneficial chem strength + var/chem_strength_pain = 1 // Multiplier to painkiller strength (could be used in a negative trait to simulate long-term addiction reducing effects, etc.) + var/chem_strength_tox = 1 // Multiplier to toxic chem strength (inc. chloral/sopo/mindbreaker/etc. thresholds) + var/chem_strength_alcohol = 1 // Multiplier to alcohol strength; 0.5 = half, 0 = no effect at all, 2 = double, etc. + var/chemOD_threshold = 1 // Multiplier to overdose threshold; lower = easier overdosing var/chemOD_mod = 1 // Damage modifier for overdose; higher = more damage from ODs - var/alcohol_mod = 1 // Multiplier to alcohol strength; 0.5 = half, 0 = no effect at all, 2 = double, etc. var/pain_mod = 1 // Multiplier to pain effects; 0.5 = half, 0 = no effect (equal to NO_PAIN, really), 2 = double, etc. var/spice_mod = 1 // Multiplier to spice/capsaicin/frostoil effects; 0.5 = half, 0 = no effect (immunity), 2 = double, etc. var/trauma_mod = 1 // Affects traumatic shock (how fast pain crit happens). 0 = no effect (immunity to pain crit), 2 = double etc.Overriden by "can_feel_pain" var diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 61c8908ca7..74a7379371 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -57,6 +57,8 @@ var/datum/species/shapeshifter/promethean/prometheans oxy_mod = 0 flash_mod = 0.5 //No centralized, lensed eyes. item_slowdown_mod = 1.33 + + chem_strength_alcohol = 2 cloning_modifier = /datum/modifier/cloning_sickness/promethean diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index f2250b7e7f..285040a247 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -360,6 +360,8 @@ var/global/list/disallowed_protean_accessories = list( things_to_drop -= internal_organs //Mah sqeedily spooch for(var/obj/item/I in things_to_drop) //rip hoarders + if(I.protean_drop_whitelist) + continue drop_from_inventory(I) if(w_uniform && istype(w_uniform,/obj/item/clothing)) //No webbings tho. We do this after in case a suit was in the way diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 9341de6086..8f80109972 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -71,6 +71,7 @@ name_language = LANGUAGE_UNATHI species_language = LANGUAGE_UNATHI health_hud_intensity = 2.5 + chem_strength_alcohol = 0.75 min_age = 32 max_age = 260 @@ -195,6 +196,7 @@ name_language = LANGUAGE_SIIK species_language = LANGUAGE_SIIK health_hud_intensity = 2.5 + chem_strength_alcohol = 1.25 min_age = 18 max_age = 110 @@ -298,6 +300,7 @@ species_language = LANGUAGE_SKRELLIAN assisted_langs = list(LANGUAGE_EAL, LANGUAGE_TERMINUS, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) health_hud_intensity = 2 + chem_strength_alcohol = 5 water_movement = -3 @@ -507,6 +510,7 @@ show_ssd = "completely quiescent" health_hud_intensity = 2.5 item_slowdown_mod = 0.1 + chem_strength_alcohol = 0 num_alternate_languages = 3 name_language = LANGUAGE_ROOTLOCAL diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index f743dfd432..208688ac5e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -118,10 +118,13 @@ //Dead when hatching if(stat == DEAD) + var/sickness_duration = 10 MINUTES //Reviving from ded takes extra nutrition - if it isn't provided from outside sources, it comes from you if(!hasnutriment()) nutrition=nutrition * 0.75 + sickness_duration = 20 MINUTES chimera_hatch() + add_modifier(/datum/modifier/resleeving_sickness/chimera, sickness_duration) adjustBrainLoss(5) // if they're reviving from dead, they come back with 5 brainloss on top of whatever's unhealed. visible_message("

The former corpse staggers to its feet, all its former wounds having vanished...

") //Bloody hell... clear_alert("hatch") @@ -168,6 +171,13 @@ revive_ready = world.time + 10 MINUTES //set the cooldown CHOMPEdit: Reduced this to 10 minutes, you're playing with fire if you're reviving that often. +/datum/modifier/resleeving_sickness/chimera //near identical to the regular version, just with different flavortexts + name = "imperfect regeneration" + desc = "You feel rather weak and unfocused, having just regrown your body not so long ago." + + on_created_text = "You feel weak and unsteady, that regeneration having been rougher than most." + on_expired_text = "You feel your strength and focus return to you." + /mob/living/carbon/human/proc/revivingreset() // keep this as a debug proc or potential future use revive_ready = REVIVING_READY diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm index 8b955b7ebd..bbfbac9487 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm @@ -470,45 +470,53 @@ YW change end */ // Alcohol Traits Start Here, from negative to positive. /datum/trait/neutral/alcohol_intolerance_advanced name = "Liver of Air" - desc = "The only way you can hold a drink is if it's in your own two hands, and even then you'd best not inhale too deeply near it. Drinks are three times as strong." + desc = "The only way you can hold a drink is if it's in your own two hands, and even then you'd best not inhale too deeply near it. Alcohol hits you three times as hard as they do other people." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 3) // 300% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 3) /datum/trait/neutral/alcohol_intolerance_basic name = "Liver of Lilies" - desc = "You have a hard time with alcohol. Maybe you just never took to it, or maybe it doesn't agree with you... either way, drinks are twice as strong." + desc = "You have a hard time with alcohol. Maybe you just never took to it, or maybe it doesn't agree with your system... either way, alcohol hits you twice as hard." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 2) // 200% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 2) /datum/trait/neutral/alcohol_intolerance_slight name = "Liver of Tulips" - desc = "You have a slight struggle with alcohol. Drinks are one and a half times stronger." + desc = "You are what some might call 'a bit of a lightweight', but you can still keep your drinks down... most of the time. Alcohol hits you fifty percent harder." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 1.5) // 150% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 1.5) + +/datum/trait/neutral/alcohol_tolerance_reset + name = "Liver of Unremarkableness" + desc = "This trait exists to reset alcohol (in)tolerance for non-custom species to baseline normal. It can only be taken by Skrell, Tajara, Unathi, Diona, and Prometheans, as it would have no effect on other species." + cost = 0 + custom_only = FALSE + var_changes = list("chem_strength_alcohol" = 1) + allowed_species = list(SPECIES_SKRELL,SPECIES_TAJ,SPECIES_UNATHI,SPECIES_DIONA,SPECIES_PROMETHEAN) /datum/trait/neutral/alcohol_tolerance_basic name = "Liver of Iron" - desc = "You can hold drinks much better than those lily-livered land-lubbers! Arr! Drinks are only three-quarters as strong." + desc = "You can hold drinks much better than those lily-livered land-lubbers! Arr! Alcohol's effects on you are reduced by about a quarter." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 0.75) // 75% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 0.75) /datum/trait/neutral/alcohol_tolerance_advanced name = "Liver of Steel" - desc = "Drinks tremble before your might! You can hold your alcohol twice as well as those blue-bellied barnacle boilers! Drinks are only half as strong." + desc = "Drinks tremble before your might! You can hold your alcohol twice as well as those blue-bellied barnacle boilers! Alcohol has just half the effect on you as it does on others." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 0.5) // 50% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 0.5) /datum/trait/neutral/alcohol_immunity name = "Liver of Durasteel" desc = "You've drunk so much that most booze doesn't even faze you. It takes something like a Pan-Galactic or a pint of Deathbell for you to even get slightly buzzed." cost = 0 custom_only = FALSE - var_changes = list("alcohol_mod" = 0.25) // 25% as effective if alcohol_mod is set to 1. If it's not 1 in species.dm, update this! + var_changes = list("chem_strength_alcohol" = 0.25) // Alcohol Traits End Here. YW CHANGE STOP*/ diff --git a/code/modules/mob/living/carbon/human/species/station/xenochimera_trait_vr.dm b/code/modules/mob/living/carbon/human/species/station/xenochimera_trait_vr.dm index 8fbffbd7eb..c7064af431 100644 --- a/code/modules/mob/living/carbon/human/species/station/xenochimera_trait_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/xenochimera_trait_vr.dm @@ -43,6 +43,7 @@ cost = 0 category = 0 custom_only = FALSE + var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/chimera, /datum/unarmed_attack/bite/sharp, /datum/unarmed_attack/bite/sharp/numbing)) // Fixes the parent forgetting to add 'chimera-specific claws /datum/trait/positive/snowwalker/xenochimera sort = TRAIT_SORT_SPECIES diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 6356bfb7b3..eb7462967e 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -238,6 +238,9 @@ return /mob/living/proc/handle_light() + if(glow_override) + return FALSE + if(instability >= TECHNOMANCER_INSTABILITY_MIN_GLOW) var/distance = round(sqrt(instability / 2)) if(distance) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index c5e7a857b8..031d6ddb89 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -55,7 +55,8 @@ var/image/dsoverlay = null //Overlay used for darksight eye adjustments - var/glow_toggle = 0 // If they're glowing! + var/glow_toggle = FALSE // If they're glowing! + var/glow_override = FALSE // Ignore the manual toggle var/glow_range = 2 var/glow_intensity = null var/glow_color = "#FFFFFF" // The color they're glowing! @@ -80,4 +81,4 @@ var/flying = 0 // Allows flight var/inventory_panel_type = /datum/inventory_panel var/datum/inventory_panel/inventory_panel - var/last_resist_time = 0 // world.time of the most recent resist that wasn't on cooldown. + var/last_resist_time = 0 // world.time of the most recent resist that wasn't on cooldown. diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 5b257804d7..0da27bf916 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -100,6 +100,7 @@ /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/reagent_containers/blood, /obj/item/stack/material/phoron, + /obj/item/weapon/tank/anesthetic, /obj/item/weapon/disk/body_record //Vorestation Edit: this lets you get an empty sleeve or help someone else ) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 17504f1f69..880bd24905 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -544,6 +544,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/taperoll/police(src) src.modules += new /obj/item/weapon/reagent_containers/spray/pepper(src) src.modules += new /obj/item/weapon/gripper/security(src) + src.modules += new /obj/item/device/ticket_printer(src) //VOREStation Add src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) /obj/item/weapon/robot_module/robot/security/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) @@ -862,6 +863,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/pickaxe/plasmacutter/borg(src) src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) + src.modules += new /obj/item/device/ticket_printer(src) //VOREStation Add src.emag = new /obj/item/weapon/gun/energy/lasercannon/mounted(src) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm index d14cba2694..d9d16ca10e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm @@ -212,8 +212,8 @@ src.modules += new /obj/item/taperoll/police(src) //Block out crime scenes. src.modules += new /obj/item/weapon/gun/energy/taser/mounted/cyborg(src) //They /are/ a security borg, after all. src.modules += new /obj/item/weapon/dogborg/pounce(src) //Pounce - src.modules += new /obj/item/device/dogborg/pounce_module(src) //Pounce shit test - src.modules += new /obj/item/weapon/tool/crowbar(src) + src.modules += new /obj/item/weapon/tool/crowbar(src) // YW EDIT + src.modules += new /obj/item/device/ticket_printer(src) src.emag = new /obj/item/weapon/gun/energy/laser/mounted(src) //Emag. Not a big problem. var/datum/matter_synth/water = new /datum/matter_synth(500) //Starts full and has a max of 500 diff --git a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm index 7682e4f3f4..73fa5301ef 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm @@ -869,3 +869,22 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY extra_overlay = "wild_doginner" + +/datum/sprite_accessory/ears/teshbeeantenna + name = "Teshari bee antenna" + icon = 'icons/mob/vore/ears_vr.dmi' + icon_state = "teshbee" + +/datum/sprite_accessory/ears/teshantenna + name = "Teshari antenna, colorable" + icon = 'icons/mob/vore/ears_vr.dmi' + icon_state = "teshantenna" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/curlyteshantenna + name = "Teshari curly antenna, colorable" + icon = 'icons/mob/vore/ears_vr.dmi' + icon_state = "curly_bug_tesh" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm index 20c150fc90..6288da86bd 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm @@ -1207,6 +1207,100 @@ icon_state = "perrintentacles" ckeys_allowed = list("codeme", "siennaathens") +/datum/sprite_accessory/tail/teshbeethorax + name = "Teshari bee thorax" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "beethorax_tesh" + +/datum/sprite_accessory/tail/teshbuggo + name = "Teshari bug abdomen, colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbug_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/tail/teshbuggobee + name = "Teshari bug abdomen, bee top, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbug_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshbee_markings" + +/datum/sprite_accessory/tail/teshbeefull + name = "Teshari bug abdomen, bee full, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbug_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshbeefull_markings" + +/datum/sprite_accessory/tail/teshbuggounder + name = "Teshari bug abdomen, underside, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbug_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshunder_markings" + +/datum/sprite_accessory/tail/teshbuggofirefly + name = "Teshari bug abdomen, firefly, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbug_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshfirefly_markings" + +/datum/sprite_accessory/tail/fatteshbuggo + name = "Teshari fat bug abdomen, colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbugfat_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/tail/fatteshbuggobee + name = "Teshari fat bug abdomen, bee top, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbugfat_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshfatbee_markings" + +/datum/sprite_accessory/tail/fatteshbeefull + name = "Teshari fat bug abdomen, bee full, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbugfat_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshfatbeefull_markings" + +/datum/sprite_accessory/tail/fatteshbuggounder + name = "Teshari fat bug abdomen, underside, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbugfat_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshfatunder_markings" + +/datum/sprite_accessory/tail/fatteshbuggofirefly + name = "Teshari fat bug abdomen, firefly, dual-colorable" + desc = "" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "teshbugfat_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "teshfatfirefly_markings" + //LONG TAILS ARE NOT TAUR BUTTS >:O /datum/sprite_accessory/tail/longtail name = "You should not see this..." diff --git a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm index 4eee002177..e014345a9a 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm @@ -60,7 +60,12 @@ /datum/sprite_accessory/tail/taur/wolf/fatwolf name = "Fat Wolf (Taur)" icon_state = "fatwolf_s" - icon_sprite_tag = "wolf" //This could be modified later. + //icon_sprite_tag = "wolf" //This could be modified later. + +/datum/sprite_accessory/tail/taur/wolf/wolf_wag + name = "Wolf (Taur, Fat vwag)" + icon_state = "wolf_s" + ani_state = "fatwolf_s" /datum/sprite_accessory/tail/taur/wolf/wolf_2c name = "Wolf 3-color (Taur)" @@ -69,15 +74,6 @@ extra_overlay2 = "wolf_markings_2" //icon_sprite_tag = "wolf2c" -/datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag - name = "Wolf 3-color (Taur, vwag)" - icon_state = "wolf_s" - extra_overlay = "wolf_markings" - extra_overlay2 = "wolf_markings_2" - ani_state = "fatwolf_s" - extra_overlay_w = "fatwolf_markings" - extra_overlay2_w = "wolf_markings_2" - /datum/sprite_accessory/tail/taur/wolf/fatwolf_2c name = "Fat Wolf 3-color (Taur)" icon_state = "fatwolf_s" @@ -85,6 +81,15 @@ extra_overlay2 = "wolf_markings_2" //icon_sprite_tag = "fatwolf2c" +/datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag + name = "Wolf 3-color (Taur, Fat vwag)" + icon_state = "wolf_s" + extra_overlay = "wolf_markings" + extra_overlay2 = "wolf_markings_2" + ani_state = "fatwolf_s" + extra_overlay_w = "fatwolf_markings" + extra_overlay2_w = "wolf_markings_2" + /datum/sprite_accessory/tail/taur/wolf/synthwolf name = "SynthWolf dual-color (Taur)" icon_state = "synthwolf_s" @@ -98,6 +103,15 @@ extra_overlay = "fatsynthwolf_markings" extra_overlay2 = "fatsynthwolf_glow" +/datum/sprite_accessory/tail/taur/wolf/fatsynthwolf_wag + name = "SynthWolf dual-color (Taur, Fat vwag)" + icon_state = "synthwolf_s" + extra_overlay = "synthwolf_markings" + extra_overlay2 = "synthwolf_glow" + ani_state = "fatsynthwolf_s" + extra_overlay_w = "fatsynthwolf_markings" + extra_overlay2_w = "fatsynthwolf_glow" + /datum/sprite_accessory/tail/taur/skunk name = "Skunk (Taur)" icon_state = "skunk_s" @@ -229,20 +243,32 @@ suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' icon_sprite_tag = "lizard" +/datum/sprite_accessory/tail/taur/lizard/fatlizard + name = "Fat Lizard (Taur)" + icon_state = "fatlizard_s" + +/datum/sprite_accessory/tail/taur/lizard/lizard_wag + name = "Lizard (Taur, Fat vwag)" + icon_state = "lizard_s" + ani_state = "fatlizard_s" + /datum/sprite_accessory/tail/taur/lizard/lizard_2c name = "Lizard dual-color (Taur)" icon_state = "lizard_s" extra_overlay = "lizard_markings" //icon_sprite_tag = "lizard2c" -/datum/sprite_accessory/tail/taur/lizard/fatlizard - name = "Fat Lizard (Taur)" - icon_state = "fatlizard_s" - /datum/sprite_accessory/tail/taur/lizard/fatlizard_2c name = "Fat Lizard (Taur, dual-color)" icon_state = "fatlizard_s" - extra_overlay= "fatlizard_markings" + extra_overlay = "fatlizard_markings" + +/datum/sprite_accessory/tail/taur/lizard/lizard_2c_wag + name = "Fat Lizard (Taur, dual-color, Fat vwag)" + icon_state = "lizard_s" + extra_overlay = "lizard_markings" + ani_state = "fatlizard_s" + extra_overlay_w = "fatlizard_markings" /datum/sprite_accessory/tail/taur/lizard/synthlizard name = "SynthLizard dual-color (Taur)" @@ -257,6 +283,15 @@ extra_overlay = "fatsynthlizard_markings" extra_overlay2 = "fatsynthlizard_glow" +/datum/sprite_accessory/tail/taur/lizard/synthlizard_wag + name = "SynthLizard dual-color (Taur, Fat vwag)" + icon_state = "synthlizard_s" + extra_overlay = "synthlizard_markings" + extra_overlay2 = "synthlizard_glow" + ani_state = "fatsynthlizard_s" + extra_overlay_w = "fatsynthlizard_markings" + extra_overlay2_w = "fatsynthlizard_glow" + /datum/sprite_accessory/tail/taur/spider name = "Spider (Taur)" icon_state = "spider_s" @@ -317,7 +352,7 @@ //icon_sprite_tag = "fatfeline" /datum/sprite_accessory/tail/taur/fatfeline_wag - name = "Fat Feline (Taur) (vwag)" + name = "Fat Feline (Taur, Fat vwag)" icon_state = "fatfeline_s" ani_state = "fatfeline_w" @@ -335,6 +370,15 @@ extra_overlay2 = "feline_markings_2" //icon_sprite_tag = "fatfeline2c" +/datum/sprite_accessory/tail/taur/feline/feline_2c_wag + name = "Feline 3-color (Taur, Fat vwag)" + icon_state = "feline_s" + extra_overlay = "feline_markings" + extra_overlay2 = "feline_markings_2" + ani_state = "fatfeline_s" + extra_overlay_w = "fatfeline_markings" + extra_overlay2_w = "feline_markings_2" + /datum/sprite_accessory/tail/taur/feline/synthfeline name = "SynthFeline dual-color (Taur)" icon_state = "synthfeline_s" @@ -348,6 +392,15 @@ extra_overlay = "fatsynthfeline_markings" extra_overlay2 = "fatsynthfeline_glow" +/datum/sprite_accessory/tail/taur/feline/synthfeline_wag + name = "SynthFeline dual-color (Taur, Fat vwag)" + icon_state = "synthfeline_s" + extra_overlay = "synthfeline_markings" + extra_overlay2 = "synthfeline_glow" + ani_state = "fatsynthfeline_s" + extra_overlay_w = "fatsynthfeline_markings" + extra_overlay2_w = "fatsynthfeline_glow" + /datum/sprite_accessory/tail/taur/slug name = "Slug (Taur)" icon_state = "slug_s" @@ -422,11 +475,20 @@ can_loaf = TRUE // VOREStation Edit: Taur Loafing loaf_offset = 6 // VOREStation Edit: Taur Loafing -/datum/sprite_accessory/tail/taur/ch/fatdrake - name = "Drake (Fat Taur dual-color)" +/datum/sprite_accessory/tail/taur/drake/fat + name = "Fat Drake (Taur)" icon_state = "fatdrake_s" extra_overlay = "fatdrake_markings" - icon_sprite_tag = "drake" + can_loaf = FALSE + +/datum/sprite_accessory/tail/taur/drake/drake_vwag + name = "Drake (Taur, Fat vwag)" + icon_state = "drake_s" + extra_overlay = "drake_markings" + ani_state = "fatdrake_s" + extra_overlay_w = "fatdrake_markings" + can_loaf = FALSE + /datum/sprite_accessory/tail/taur/otie name = "Otie (Taur)" @@ -603,7 +665,7 @@ msg_prey_grab_fail = "%owner steps down onto you with one of their vines, squishing you and forcing you onto the ground!" /datum/sprite_accessory/tail/taur/rat - name = "Rat (dual color)" + name = "Rat (Taur)" icon_state = "rat_s" extra_overlay = "rat_markings" clip_mask_state = "taur_clip_mask_rat" @@ -617,3 +679,162 @@ suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi' clip_mask_state = "taur_clip_mask_noodle" icon_sprite_tag = "noodle" + +/datum/sprite_accessory/tail/taur/sect_drone + name = "Sect Drone (Taur)" + icon_state = "sect_drone" + extra_overlay = "sect_drone_markings" + icon_sprite_tag = "sect_drone" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/sect_drone/fat + name = "Fat Sect Drone (Taur)" + icon_state = "fat_sect_drone" + extra_overlay = "fat_sect_drone_markings" + +/datum/sprite_accessory/tail/taur/sect_drone/drone_wag + name = "Sect Drone (Taur, Fat vwag)" + icon_state = "sect_drone" + extra_overlay = "sect_drone_markings" + ani_state = "fat_sect_drone" + extra_overlay_w = "fat_sect_drone_markings" + +/datum/sprite_accessory/tail/taur/giantspider_colorable//these are honestly better fit for vass icontypes whoops + name = "Giant Spider dual-color (Taur)" + icon_state = "giantspidertaur-colorable" + extra_overlay = "giantspidertaur-colorable-markings" + icon_sprite_tag = "giantspidertaur-colorable" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/carrierspider + name = "Carrier Spider (Taur)" + icon_state = "carrierspidertaur" + extra_overlay = null + icon_sprite_tag = "carrierspidertaur" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/giantspider + name = "Giant Spider (Taur)" + icon_state = "giantspidertaur" + extra_overlay = null + icon_sprite_tag = "giantspidertaur" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/phoronspider + name = "Phorogenic Spider (Taur)" + icon_state = "phoronspidertaur" + extra_overlay = null + icon_sprite_tag = "phoronspidertaur" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/sparkspider + name = "Voltaic Spider (Taur)" + icon_state = "sparkspidertaur" + extra_overlay = null + icon_sprite_tag = "sparkspidertaur" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" + +/datum/sprite_accessory/tail/taur/frostspider + name = "Frost Spider (Taur)" + icon_state = "frostspidertaur" + extra_overlay = null + icon_sprite_tag = "frostspidertaur" + + msg_owner_disarm_run = "You quickly push %prey to the ground with your leg!" + msg_prey_disarm_run = "%owner pushes you down to the ground with their leg!" + + msg_owner_disarm_walk = "You firmly push your leg down on %prey, painfully but harmlessly pinning them to the ground!" + msg_prey_disarm_walk = "%owner firmly pushes their leg down on you, quite painfully but harmlessly pinning you to the ground!" + + msg_owner_harm_walk = "You methodically place your leg down upon %prey's body, slowly applying pressure, crushing them against the floor!" + msg_prey_harm_walk = "%owner methodically places their leg upon your body, slowly applying pressure, crushing you against the floor!" + + msg_owner_grab_success = "You pin %prey down on the ground with your front leg before using your other leg to pick them up, trapping them between two of your front legs!" + msg_prey_grab_success = "%owner pins you down on the ground with their front leg before using their other leg to pick you up, trapping you between two of their front legs!" + + msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" + msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" diff --git a/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm index 0bfca21140..e516d6b085 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm @@ -11,4 +11,12 @@ name = "megamoth wings" icon_state = "megamoth" ani_state = "megamoth_open" - multi_dir = TRUE \ No newline at end of file + multi_dir = TRUE + +/datum/sprite_accessory/wing/large/megamothc + name = "megamoth wings (colorable)" + icon_state = "megacolor" + ani_state = "megacolor_open" + multi_dir = TRUE + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY diff --git a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm index 37080444ea..c970beb4a3 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm @@ -276,3 +276,15 @@ color_blend_mode = ICON_MULTIPLY extra_overlay = "aeromorph_flat_1" extra_overlay2 = "aeromorph_flat_2" + +/datum/sprite_accessory/wing/teshbee + name = "Teshari bee wings" + desc = "" + icon = 'icons/mob/vore/wings_vr.dmi' + icon_state = "beewings_tesh" + +/datum/sprite_accessory/wing/teshdragonfly + name = "Teshari dragonfly wings" + desc = "" + icon = 'icons/mob/vore/wings_vr.dmi' + icon_state = "dragonfly_tesh" \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index db6b088492..b854b855ab 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -157,6 +157,108 @@ charge_cost = 480 //to compensate a bit for self-recharging cell_type = /obj/item/weapon/cell/device/weapon/recharge/captain battery_lock = 1 + var/remainingshots = 0 //you may get a limited number of shots regardless of the charge + var/failurechance = 0 //chance per shot of something going awry + +/obj/item/weapon/gun/energy/captain/Initialize() + //it's an antique and it's been sitting in a case, unmaintained, for who the hell knows how long - who knows what'll happen when you pull it out? + ..() + //first, we decide, does it have a different type of beam? 75% of just being a 40-damage laser, 15% of being less or 0, 10% of being better + projectile_type = pick(prob(1);/obj/item/projectile/beam/pulse, + prob(2);/obj/item/projectile/beam/heavylaser/cannon, + prob(2);/obj/item/projectile/beam/heavylaser, + prob(5);/obj/item/projectile/beam/sniper, + prob(45);/obj/item/projectile/beam, + prob(10);/obj/item/projectile/beam/cyan, + prob(10);/obj/item/projectile/beam/eluger, + prob(10);/obj/item/projectile/beam/imperial, + prob(10);/obj/item/projectile/beam/weaklaser, + prob(5);/obj/item/projectile/beam/practice) + //now, decide whether it has a shot limit and if so how many + if(prob(50)) + remainingshots = rand(1,40) + if(prob(50)) + failurechance = rand(1,5) + + //finally, update the description so it has a tell if it's gonna burn out on you + if(remainingshots || failurechance) + desc = "A rare weapon, produced by the Lunar Arms Company around 2105 - one of humanity's first wholly extra-terrestrial weapon designs. It's been reasonably well-preserved." + +/obj/item/weapon/gun/energy/captain/special_check(var/mob/user) + if(remainingshots) + remainingshots -= 1 + if(!remainingshots) //you've shot your load, sonny + burnout(user) + return 0 + else if(prob(failurechance)) + malfunction(user) + return 0 + return ..() + +/obj/item/weapon/gun/energy/captain/proc/burnout(var/mob/user) + //your gun is now rendered useless + projectile_type = /obj/item/projectile/beam/practice //just in case you somehow manage to get it to fire again, its beam type is set to one that sucks + power_supply.charge = 0 + power_supply.maxcharge = 1 //just to avoid div/0 runtimes + desc = "A rare weapon, produced by the Lunar Arms Company around 2105 - one of humanity's first wholly extra-terrestrial weapon designs. It looks to have completely burned out." + user.visible_message("\The [src] erupts in a shower of sparks!", "\the [src] bursts into a shower of sparks!") + var/turf/T = get_turf(src) + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(2, 1, T) + sparks.start() + update_icon() + +/obj/item/weapon/gun/energy/captain/proc/malfunction(var/mob/user) + var/screwup = rand(1,10) + switch(screwup) + if(1 to 5) //50% of just draining the battery and making future malfunctions more likely + power_supply.charge = 0 + var/turf/T = get_turf(src) + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(2, 1, T) + sparks.start() + update_icon() + user.visible_message("\The [src] shorts out!", "\the [src] shorts out!") + failurechance += rand(1,5) + return + if(6 to 7) //20% chance of weakening the beam type, possibly to uselessness + var/obj/item/projectile/beam/B = new projectile_type + switch(B.damage) + if(0) + return //can't weaken it any further + if(1 to 15) //weaklaser becomes practice + projectile_type = /obj/item/projectile/beam/practice + if(16 to 40) //regular becomes weaklaser + projectile_type = /obj/item/projectile/beam/weaklaser + if(41 to 50) //sniper becomes regular + projectile_type = /obj/item/projectile/beam + if(51 to 60) //heavy becomes sniper + projectile_type = /obj/item/projectile/beam/sniper + if(61 to 80) //cannon becomes heavy + projectile_type = /obj/item/projectile/beam/heavylaser + if(81 to 100) //pulse becomes cannon + projectile_type = /obj/item/projectile/beam/heavylaser/cannon + user.visible_message("\The [src] dims slightly!", "\the [src] dims slightly!") + return + if(8) //10% chance of reducing the number of shots you have left, or giving you a limit if there isn't one + if(!remainingshots) + remainingshots = rand(1,40) + else + remainingshots = min(1, round(remainingshots/2)) + user.visible_message("\The [src] lets out a faint pop.", "\the [src] lets out a faint pop.") + if(9) //10% chance of permanently reducing the cell's max charge + power_supply.maxcharge = power_supply.maxcharge/2 + power_supply.charge = min(power_supply.charge, power_supply.maxcharge) + user.visible_message("\The [src] sparks,letting off a puff of smoke!", "\the [src] sparks,letting off a puff of smoke!") + var/turf/T = get_turf(src) + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(2, 1, T) + sparks.start() + update_icon() + if(10) //10% chance of just straight-up breaking on the spot + burnout(user) + return + /* * Laser Cannon diff --git a/code/modules/reagents/reactions/instant/instant_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm index 839a3b659d..879dba565f 100644 --- a/code/modules/reagents/reactions/instant/instant_vr.dm +++ b/code/modules/reagents/reactions/instant/instant_vr.dm @@ -102,31 +102,6 @@ /////////////////////////////////////////////////////////////////////////////////// /// Miscellaneous Reactions -/decl/chemical_reaction/instant/xenolazarus - name = "Discount Lazarus" - id = "discountlazarus" - result = null - required_reagents = list("monstertamer" = 5, "clonexadone" = 5) - -/decl/chemical_reaction/instant/xenolazarus/on_reaction(var/datum/reagents/holder, var/created_volume) //literally all this does is mash the regenerate button - if(ishuman(holder.my_atom)) - var/mob/living/carbon/human/H = holder.my_atom - if(H.stat == DEAD && (/mob/living/carbon/human/proc/reconstitute_form in H.verbs)) //no magical regen for non-regenners, and can't force the reaction on live ones - if(H.hasnutriment()) // make sure it actually has the conditions to revive - if(H.revive_ready >= 1) // if it's not reviving, start doing so - H.revive_ready = REVIVING_READY // overrides the normal cooldown - H.visible_message("[H] shudders briefly, then relaxes, faint movements stirring within.") - H.chimera_regenerate() - else if (/mob/living/carbon/human/proc/hatch in H.verbs)// already reviving, check if they're ready to hatch - H.chimera_hatch() - H.visible_message("

[H] violently convulses and then bursts open, revealing a new, intact copy in the pool of viscera.

") // Hope you were wearing waterproofs, doc... - H.adjustBrainLoss(10) // they're reviving from dead, so take 10 brainloss - else //they're already reviving but haven't hatched. Give a little message to tell them to wait. - H.visible_message("[H] stirs faintly, but doesn't appear to be ready to wake up yet.") - else - H.visible_message("[H] twitches for a moment, but remains still.") // no nutriment - - /decl/chemical_reaction/instant/foam/softdrink required_reagents = list("cola" = 1, "mint" = 1) diff --git a/code/modules/reagents/reagents/dispenser.dm b/code/modules/reagents/reagents/dispenser.dm index 8e7a5d1862..90d8ea9e2a 100644 --- a/code/modules/reagents/reagents/dispenser.dm +++ b/code/modules/reagents/reagents/dispenser.dm @@ -112,18 +112,15 @@ L.adjust_fire_stacks(amount / 15) /datum/reagent/ethanol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) //This used to do just toxin. That's boring. Let's make this FUN. - if(issmall(M)) removed *= 2 - var/strength_mod = 3 * M.species.alcohol_mod //Alcohol is 3x stronger when injected into the veins. - if(alien == IS_SKRELL) - strength_mod *= 5 - if(alien == IS_TAJARA) - strength_mod *= 1.25 - if(alien == IS_UNATHI) - strength_mod *= 0.75 - if(alien == IS_DIONA) - strength_mod = 0 + if(issmall(M)) + removed *= 2 + if(alien == IS_SLIME) - strength_mod *= 2 // VOREStation Edit - M.adjustToxLoss(removed) + M.adjustToxLoss(removed) //Sterilizing, if only by a little bit. Also already doubled above. + + var/strength_mod = 3 * M.species.chem_strength_alcohol //Alcohol is 3x stronger when injected into the veins. + if(!strength_mod) + return M.add_chemical_effect(CE_ALCOHOL, 1) var/effective_dose = dose * strength_mod * (1 + volume/60) //drinking a LOT will make you go down faster @@ -156,36 +153,32 @@ M.hallucination = max(M.hallucination, halluci*3) /datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if(issmall(M)) removed *= 2 + + if(issmall(M)) + removed *= 2 + if(!(M.species.allergens & allergen_type)) //assuming it doesn't cause a horrible reaction, we get the nutrition effects M.adjust_nutrition(nutriment_factor * removed) - var/strength_mod = 1 * M.species.alcohol_mod - if(alien == IS_SKRELL) - strength_mod *= 5 - if(alien == IS_TAJARA) - strength_mod *= 1.25 - if(alien == IS_UNATHI) - strength_mod *= 0.75 - if(alien == IS_DIONA) - strength_mod = 0 - if(alien == IS_SLIME) - strength_mod *= 2 // VOREStation Edit - M.adjustToxLoss(removed * 2) + + var/effective_dose = dose * M.species.chem_strength_alcohol + if(!effective_dose) + return M.add_chemical_effect(CE_ALCOHOL, 1) - if(dose * strength_mod >= strength) // Early warning + if(effective_dose >= strength) // Early warning M.make_dizzy(6) // It is decreased at the speed of 3 per tick - if(dose * strength_mod >= strength * 2) // Slurring + if(effective_dose >= strength * 2) // Slurring M.slurring = max(M.slurring, 30) - if(dose * strength_mod >= strength * 3) // Confusion - walking in random directions + if(effective_dose >= strength * 3) // Confusion - walking in random directions M.Confuse(20) - if(dose * strength_mod >= strength * 4) // Blurry vision + if(effective_dose >= strength * 4) // Blurry vision M.eye_blurry = max(M.eye_blurry, 10) - if(dose * strength_mod >= strength * 5) // Drowsyness - periodically falling asleep + if(effective_dose >= strength * 5) // Drowsyness - periodically falling asleep M.drowsyness = max(M.drowsyness, 20) - if(dose * strength_mod >= strength * 6) // Toxic dose + if(effective_dose >= strength * 6) // Toxic dose M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity) - if(dose * strength_mod >= strength * 7) // Pass out + if(effective_dose >= strength * 7) // Pass out M.Paralyse(20) M.Sleeping(30) diff --git a/code/modules/vore/eating/contaminate_vr.dm b/code/modules/vore/eating/contaminate_vr.dm index d82ae4bcd4..19c7029c2b 100644 --- a/code/modules/vore/eating/contaminate_vr.dm +++ b/code/modules/vore/eating/contaminate_vr.dm @@ -78,20 +78,6 @@ var/list/gurgled_overlays = list( else ..() -////////////// -// Special things that happen when wet -////////////// -/obj/item/weapon/storage/box/open(mob/user as mob) - if(gurgled) - to_chat(usr, "The soggy box falls apart in your hands.") - var/turf/T = get_turf(src) - for(var/obj/item/I in contents) - remove_from_storage(I, T) - new/obj/effect/decal/cleanable/molten_item(T) - qdel(src) - return - ..() - ////////////// // Special handling of gurgle_contaminate ////////////// diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index e38f5ba79d..6bbde44bc9 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -2539,6 +2539,7 @@ Departamental Swimsuits, for general use body_parts_covered = FACE flags_inv = HIDEFACE item_flags = FLEXIBLEMATERIAL + protean_drop_whitelist = TRUE //codeme: Perrin Kade /obj/item/clothing/shoes/fluff/gildedshoes_perrin diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 716389af8e..b85fbcd792 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1513,3 +1513,42 @@ icon = 'icons/vore/custom_items_vr.dmi' item_icons = list(slot_l_hand_str = 'icons/vore/custom_items_left_hand_vr.dmi', slot_r_hand_str = 'icons/vore/custom_items_right_hand_vr.dmi') icon_state = "kyuholotar" + +//Pandora029 - Seona Young +/obj/item/toy/plushie/fluff/seona_mofuorb + name = "comically oversized fox-orb plushie" + desc = "A humongous & adorable Largo© brand stuffed-toy that resembles a mix of slime and absurdly fluffy fox. It's colored white largely, with the tips of it's fox-like ears and tail transitioning to a nice pink-ish color. Comes complete with reactive expressions, according to the label." + icon = 'icons/vore/custom_items_vr.dmi' + icon_state = "pandorba" + pokephrase = "Gecker!" + attack_verb = list("fluffed", "fwomped", "fuwa'd", "squirmshed") + +/obj/item/toy/plushie/fluff/seona_mofuorb/attack_self(mob/user as mob) + if(stored_item && opened && !searching) + searching = TRUE + if(do_after(user, 10)) + to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!") + stored_item.forceMove(get_turf(src)) + stored_item = null + searching = FALSE + return + else + searching = FALSE + + if(world.time - last_message <= 5 SECONDS) + return + if(user.a_intent == I_HELP) + user.visible_message("\The [user] hugs [src]!","You hug [src]!") + icon_state = "pandorba" + else if (user.a_intent == I_HURT) + user.visible_message("\The [user] punches [src]!","You punch [src]!") + icon_state = "pandorba_h" + else if (user.a_intent == I_GRAB) + user.visible_message("\The [user] attempts to strangle [src]!","You attempt to strangle [src]!") + icon_state = "pandorba_g" + else + user.visible_message("\The [user] pokes [src].","You poke [src].") + icon_state = "pandorba_d" + playsound(src, 'sound/items/drop/plushie.ogg', 25, 0) + visible_message("[src] says, \"[pokephrase]\"") + last_message = world.time diff --git a/icons/inventory/face/mob_vr_teshari.dmi b/icons/inventory/face/mob_vr_teshari.dmi index 5a549885c7..4bf3353c7a 100644 Binary files a/icons/inventory/face/mob_vr_teshari.dmi and b/icons/inventory/face/mob_vr_teshari.dmi differ diff --git a/icons/inventory/head/mob_vr_teshari.dmi b/icons/inventory/head/mob_vr_teshari.dmi index 4ebb53d2d8..7616f26095 100644 Binary files a/icons/inventory/head/mob_vr_teshari.dmi and b/icons/inventory/head/mob_vr_teshari.dmi differ diff --git a/icons/inventory/suit/item.dmi b/icons/inventory/suit/item.dmi index 75feb5ee12..541a40a4b3 100644 Binary files a/icons/inventory/suit/item.dmi and b/icons/inventory/suit/item.dmi differ diff --git a/icons/inventory/suit/mob.dmi b/icons/inventory/suit/mob.dmi index 045cdaf302..6b6ffed503 100644 Binary files a/icons/inventory/suit/mob.dmi and b/icons/inventory/suit/mob.dmi differ diff --git a/icons/mob/screen1_popups.dmi b/icons/mob/screen1_popups.dmi index cbdbcc7b8b..e2650ce8f5 100644 Binary files a/icons/mob/screen1_popups.dmi and b/icons/mob/screen1_popups.dmi differ diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi index 571eb90e24..e38d45d4ca 100644 Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi index f3cf3be825..9227fbcd6a 100644 Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ diff --git a/icons/mob/vore/taurs_vr.dmi b/icons/mob/vore/taurs_vr.dmi index 8ae4803803..4498dc2629 100644 Binary files a/icons/mob/vore/taurs_vr.dmi and b/icons/mob/vore/taurs_vr.dmi differ diff --git a/icons/mob/vore/wings96_vr.dmi b/icons/mob/vore/wings96_vr.dmi index f7dc2e61f8..57ced407cb 100644 Binary files a/icons/mob/vore/wings96_vr.dmi and b/icons/mob/vore/wings96_vr.dmi differ diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi index a6653ebcf3..dfc875b987 100644 Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ diff --git a/icons/obj/bureaucracy_vr.dmi b/icons/obj/bureaucracy_vr.dmi new file mode 100644 index 0000000000..2b27fee277 Binary files /dev/null and b/icons/obj/bureaucracy_vr.dmi differ diff --git a/icons/obj/device_vr.dmi b/icons/obj/device_vr.dmi index 1a1c28af56..43f6610782 100644 Binary files a/icons/obj/device_vr.dmi and b/icons/obj/device_vr.dmi differ diff --git a/icons/obj/food_vr.dmi b/icons/obj/food_vr.dmi index 54be219b75..6dc23e9275 100644 Binary files a/icons/obj/food_vr.dmi and b/icons/obj/food_vr.dmi differ diff --git a/icons/obj/sofas.dmi b/icons/obj/sofas.dmi index b8ef1d5c0a..cca4eb803e 100644 Binary files a/icons/obj/sofas.dmi and b/icons/obj/sofas.dmi differ diff --git a/icons/obj/trash_vr.dmi b/icons/obj/trash_vr.dmi index 0c4803f3ee..740fd0abc6 100644 Binary files a/icons/obj/trash_vr.dmi and b/icons/obj/trash_vr.dmi differ diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi index 76707a55fb..d502efb78c 100644 Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ diff --git a/maps/groundbase/gb-centcomm.dmm b/maps/groundbase/gb-centcomm.dmm index 5e79cb7dc5..60a7036185 100644 --- a/maps/groundbase/gb-centcomm.dmm +++ b/maps/groundbase/gb-centcomm.dmm @@ -13670,6 +13670,7 @@ /area/centcom/terminal) "SK" = ( /obj/structure/table/reinforced, +/obj/machinery/librarycomp, /turf/simulated/floor/tiled, /area/centcom/control) "SL" = ( diff --git a/maps/groundbase/gb-z1.dmm b/maps/groundbase/gb-z1.dmm index eaf8506958..3976a82ba2 100644 --- a/maps/groundbase/gb-z1.dmm +++ b/maps/groundbase/gb-z1.dmm @@ -119,6 +119,7 @@ dir = 8; pixel_x = 30 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "aq" = ( @@ -1466,6 +1467,8 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, +/obj/item/device/ticket_printer, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/briefing) "do" = ( @@ -4487,6 +4490,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "jY" = ( @@ -7458,6 +7462,7 @@ /obj/machinery/camera/network/security{ dir = 4 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "qR" = ( @@ -8557,6 +8562,8 @@ /obj/item/weapon/book/manual/security_space_law, /obj/item/gunbox/warden, /obj/structure/closet/secure_closet/warden, +/obj/item/device/ticket_printer, +/obj/item/weapon/gun/energy/sizegun, /turf/simulated/floor/tiled/dark, /area/groundbase/security/warden) "tx" = ( @@ -11411,6 +11418,7 @@ /obj/machinery/light{ dir = 4 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "Au" = ( @@ -12156,6 +12164,7 @@ /obj/machinery/firealarm{ dir = 4 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "Co" = ( @@ -14165,6 +14174,7 @@ icon_state = "0-4" }, /obj/random/paicard, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/hos) "Hw" = ( @@ -16426,6 +16436,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/equipment) "MS" = ( @@ -21163,6 +21174,7 @@ pixel_x = 2; pixel_y = 3 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/groundbase/security/detective) "YO" = ( diff --git a/maps/offmap_vr/om_ships/lunaship.dm b/maps/offmap_vr/om_ships/lunaship.dm new file mode 100644 index 0000000000..26ff0e54eb --- /dev/null +++ b/maps/offmap_vr/om_ships/lunaship.dm @@ -0,0 +1,100 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "lunaship.dmm" +#endif + +// Map template for spawning the shuttle +/datum/map_template/om_ships/lunaship + name = "OM Ship - LUNA" + desc = "It's LUNA! As a spaceship." + mappath = 'lunaship.dmm' + +/area/lunaship + requires_power = 1 + has_gravity = 1 + flags = RAD_SHIELDED + +/area/lunaship/cockpit + name = "LUNA - Control Core" +/area/lunaship/office + name = "LUNA - Office" +/area/lunaship/hallway_port + name = "LUNA - Port EVA" +/area/lunaship/hallway_starboard + name = "LUNA - Starboard EVA" +/area/lunaship/park + name = "LUNA - Park" +/area/lunaship/bar + name = "LUNA - Bar" +/area/lunaship/medical + name = "LUNA - Medical" +/area/lunaship/robotics_bay + name = "LUNA - Robotics Bay" +/area/lunaship/engineering + name = "LUNA - Engineering" +/area/luna/flight_boat_dock + name = "LUNA - Boat Dock" + requires_power = 0 + +/area/shuttle/luna_ship_boat + name = "LUNA - Ship's Boat" + requires_power = 1 + dynamic_lighting = 1 + base_turf = /turf/simulated/floor/reinforced + +/obj/effect/shuttle_landmark/premade/luna_near_fore + name = "Near ISV LUNA (Fore)" + landmark_tag = "luna_near_fore" + +/obj/effect/shuttle_landmark/premade/luna_near_fore_port + name = "Near ISV LUNA (Fore-Port)" + landmark_tag = "luna_near_fore_port" + +/obj/effect/shuttle_landmark/premade/luna_near_fore_star + name = "Near ISV LUNA (Fore-Starboard)" + landmark_tag = "luna_near_fore_star" + +/obj/effect/shuttle_landmark/premade/luna_near_aft + name = "Near ISV LUNA (Aft)" + landmark_tag = "luna_near_aft" + +/obj/effect/shuttle_landmark/premade/luna_near_aft_port + name = "Near ISV LUNA (Aft-Port)" + landmark_tag = "luna_near_aft_port" + +/obj/effect/shuttle_landmark/premade/luna_near_aft_star + name = "Near ISV LUNA (Aft-Starboard)" + landmark_tag = "luna_near_aft_star" + +/obj/effect/shuttle_landmark/premade/luna_wing_port + name = "ISV LUNA (Port Wingtip)" + landmark_tag = "luna_wing_star" + +/obj/effect/shuttle_landmark/premade/luna_wing_star + name = "ISV LUNA (Starboard Wingtip)" + landmark_tag = "luna_wing_star" + + +/turf/simulated/floor/water/indoors/surfluid + name = "surfluid pool" + desc = "A pool of inky-black fluid that shimmers oddly in the light if hit just right." + description_info = "Surfluid is a protean's main method of production, using swarms of nanites to process raw materials into finished products at the cost of immense amounts of energy." + color = "#222222" + outdoors = OUTDOORS_NO + reagent_type = "liquid_protean" + +// The 'ship' +/obj/effect/overmap/visitable/ship/lunaship + name = "ISV LUNA" + desc = "Experimental multifunction vessel. Friendly IFF detected." + icon_state = "moe_frigate" + scanner_desc = @{"[i]Registration[/i]: LUNA +[i]Class[/i]: Large Corvette - Multifunctional +[i]Transponder[/i]: Transmitting [CIV], non-hostile. +[b]Notice[/b]: Automated vessel. Abnormal energy emissions detected. "} + color = "#00aaff" //Bluey + vessel_mass = 2000 + vessel_size = SHIP_SIZE_SMALL + initial_generic_waypoints = list("luna_near_fore_port", "luna_near_fore_star", "luna_near_aft_port", "luna_near_aft_star", "luna_near_fore", "luna_wing_port", "luna_wing_star", "luna_near_aft") + fore_dir = NORTH + known = FALSE \ No newline at end of file diff --git a/maps/offmap_vr/om_ships/lunaship.dmm b/maps/offmap_vr/om_ships/lunaship.dmm new file mode 100644 index 0000000000..72395846e0 --- /dev/null +++ b/maps/offmap_vr/om_ships/lunaship.dmm @@ -0,0 +1,7364 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ad" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/park) +"af" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"al" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/item/device/perfect_tele/alien{ + desc = "An enhanced device that allows one to teleport people and objects across large distances."; + name = "advanced translocator" + }, +/obj/item/weapon/card/id/event/polymorphic/altcard{ + access = list(777) + }, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood, +/area/lunaship/office) +"aF" = ( +/obj/structure/hull_corner, +/turf/space, +/area/space) +"aL" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"aQ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/grass_edge{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/park) +"aV" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 8; + pixel_x = -25; + req_access = list(777) + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"aY" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"bj" = ( +/turf/space/internal_edge/top, +/area/lunaship/park) +"bp" = ( +/obj/machinery/light/bigfloorlamp{ + density = 0; + layer = 3; + pixel_y = 20 + }, +/turf/simulated/floor/water/indoors, +/area/lunaship/park) +"bx" = ( +/obj/structure/bed/chair/sofa/right/purp, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"by" = ( +/obj/structure/hull_corner/long_vert{ + dir = 9 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"bD" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"bF" = ( +/obj/machinery/media/jukebox, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"bK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"bP" = ( +/turf/space/internal_edge/top, +/area/lunaship/cockpit) +"bU" = ( +/turf/space/internal_edge/topright, +/area/lunaship/cockpit) +"cj" = ( +/obj/structure/hull_corner/long_vert{ + dir = 6 + }, +/turf/space, +/area/space) +"cx" = ( +/turf/space/internal_edge/left, +/area/lunaship/park) +"cK" = ( +/obj/structure/bed/chair/sofa/purp, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"cM" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"cQ" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/engineering) +"cU" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"dl" = ( +/obj/structure/hull_corner/long_vert{ + dir = 6 + }, +/obj/structure/lattice, +/turf/space, +/area/space) +"do" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"dB" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + dir = 8 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"dN" = ( +/obj/machinery/atmospherics/portables_connector{ + piping_layer = 3 + }, +/obj/machinery/portable_atmospherics/canister/empty, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"ee" = ( +/obj/structure/sign/directions/bridge{ + dir = 8 + }, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/hallway_starboard) +"er" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"es" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ew" = ( +/obj/machinery/body_scanconsole{ + dir = 4 + }, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"eE" = ( +/turf/simulated/floor/water/indoors/surfluid, +/area/lunaship/engineering) +"eN" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"eO" = ( +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"eY" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"fc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"fd" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"fv" = ( +/obj/structure/table/darkglass, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"fE" = ( +/obj/structure/table/darkglass, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"fT" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"gc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"gj" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"gl" = ( +/obj/machinery/sleep_console{ + dir = 2; + pixel_x = -1 + }, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"gp" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/water/deep/indoors, +/area/lunaship/park) +"gC" = ( +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"gI" = ( +/obj/structure/hull_corner/long_vert{ + dir = 10 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/space, +/area/space) +"gT" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"gY" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"gZ" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/water/deep/indoors, +/area/lunaship/park) +"he" = ( +/obj/machinery/sleeper, +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"hr" = ( +/turf/simulated/floor/water/indoors/surfluid, +/area/lunaship/cockpit) +"hs" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"hu" = ( +/obj/machinery/recharge_station, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 9 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"hA" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"hH" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 1; + pixel_y = 25; + req_access = list(777) + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/effect/floor_decal/grass_edge{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/park) +"hR" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/turf/space, +/area/lunaship/bar) +"ih" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"ik" = ( +/obj/effect/overmap/visitable/ship/lunaship, +/turf/simulated/floor/reinforced/airless, +/area/space) +"il" = ( +/turf/space/internal_edge/topright, +/area/lunaship/park) +"in" = ( +/obj/structure/bed/chair/bar_stool, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"iq" = ( +/obj/structure/bed/chair/sofa/corner/purp, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"iu" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 8; + pixel_x = -25; + req_access = list(777) + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"iv" = ( +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 4 + }, +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 4; + pixel_x = 25; + req_access = list(777) + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/milspec/sterile{ + opacity = 1 + }, +/area/lunaship/medical) +"iw" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"ix" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/portables_connector{ + piping_layer = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"iA" = ( +/obj/structure/hull_corner{ + dir = 8 + }, +/turf/space, +/area/space) +"iB" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 5 + }, +/obj/machinery/autolathe, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"iK" = ( +/obj/effect/shuttle_landmark/premade/luna_near_aft_star, +/turf/space, +/area/space) +"iN" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"iQ" = ( +/obj/structure/bed/chair/bar_stool, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"jd" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/cockpit) +"jz" = ( +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"jF" = ( +/turf/space/internal_edge/bottom, +/area/lunaship/cockpit) +"jG" = ( +/turf/simulated/floor/wood, +/area/lunaship/office) +"jK" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 8 + }, +/obj/structure/table/glass, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"jQ" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 8; + pixel_x = -25; + req_access = list(777) + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"jT" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"kd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/cockpit) +"ku" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"kF" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"kI" = ( +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"kL" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"kM" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/firstaid/adv, +/obj/structure/closet/walllocker/medical/west, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/toxin, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"kZ" = ( +/obj/item/device/radio/beacon, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"lb" = ( +/obj/machinery/power/shield_generator/upgraded{ + field_radius = 20; + initial_shield_modes = 2113; + req_one_access = 777; + target_radius = 18 + }, +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/structure/railing/grey, +/obj/effect/floor_decal/industrial/outline/grey, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"lm" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/obj/machinery/mecha_part_fabricator{ + req_access = list() + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"ls" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"lI" = ( +/obj/effect/floor_decal/milspec/color/orange/half{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"lJ" = ( +/obj/structure/sign/directions/science/robotics, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/robotics_bay) +"lP" = ( +/obj/structure/table/darkglass, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"lW" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"lZ" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"mf" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 4 + }, +/obj/structure/closet/walllocker_double/east, +/obj/item/device/lightreplacer, +/obj/item/weapon/storage/belt/utility/chief/full, +/obj/item/weapon/storage/belt/utility/chief/full{ + pixel_y = 5 + }, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/gloves/yellow, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"mj" = ( +/turf/space/internal_edge/topleft, +/area/lunaship/cockpit) +"mm" = ( +/obj/machinery/telecomms/allinone, +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"mp" = ( +/obj/machinery/optable{ + name = "Robotics Operating Table" + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"mr" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"mx" = ( +/obj/structure/hull_corner/long_vert{ + dir = 6 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"mV" = ( +/obj/effect/shuttle_landmark/premade/luna_near_fore_star, +/turf/space, +/area/space) +"na" = ( +/obj/structure/bed/chair/sofa/purp{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"nc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"ng" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"nm" = ( +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"nn" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"nr" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/bar) +"ns" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"nx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ny" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"nz" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 10 + }, +/obj/machinery/r_n_d/destructive_analyzer, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"nC" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"nM" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 4 + }, +/obj/machinery/disposal/wall, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"nN" = ( +/turf/simulated/floor/outdoors/grass/heavy/atoll, +/area/lunaship/park) +"nZ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"oc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"od" = ( +/obj/machinery/button/remote/airlock{ + dir = 4; + id = "luna_private_bed"; + name = "Door Lock"; + pixel_x = -25 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"oj" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/space, +/area/space) +"oD" = ( +/turf/space/internal_edge/left, +/area/lunaship/cockpit) +"oG" = ( +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"oS" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood, +/area/lunaship/office) +"oU" = ( +/turf/space/internal_edge/bottomleft, +/area/lunaship/park) +"pj" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/office) +"px" = ( +/obj/structure/lattice, +/obj/machinery/power/pointdefense{ + id_tag = "luna_ship_pd" + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/turf/space, +/area/space) +"pN" = ( +/obj/structure/dancepole, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_light, +/area/lunaship/bar) +"pO" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"pR" = ( +/obj/machinery/alarm/alarms_hidden{ + dir = 4; + pixel_x = -26 + }, +/obj/item/weapon/implanter, +/obj/item/weapon/implant/organ/limbaugment/upperarm/blade, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood, +/area/lunaship/office) +"pT" = ( +/obj/structure/hull_corner/long_vert{ + dir = 9 + }, +/turf/space, +/area/space) +"pV" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"qn" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"qx" = ( +/obj/structure/hull_corner/long_vert{ + dir = 6 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/space, +/area/space) +"qz" = ( +/turf/simulated/wall/tgmc/durawall, +/area/space) +"qB" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/obj/structure/table/steel, +/obj/item/weapon/storage/toolbox/electrical{ + pixel_y = 5 + }, +/obj/item/weapon/storage/toolbox/mechanical, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"qI" = ( +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ra" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"rh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/milspec/color/blue/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"rn" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/wall/rpshull, +/area/space) +"ru" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"rv" = ( +/obj/structure/closet/walllocker_double/west, +/obj/fiftyspawner/phoron, +/obj/fiftyspawner/uranium, +/obj/fiftyspawner/diamond, +/obj/fiftyspawner/osmium, +/obj/fiftyspawner/mhydrogen, +/obj/fiftyspawner/gold, +/obj/fiftyspawner/silver, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"rA" = ( +/obj/structure/hull_corner/long_vert{ + dir = 6 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/space, +/area/space) +"rB" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "Bow Garden"; + opacity = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/park) +"rD" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"rK" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"rX" = ( +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/device/paicard/sleevecard, +/obj/item/device/paicard/sleevecard, +/obj/item/device/sleevemate{ + pixel_y = -5 + }, +/obj/item/device/sleevemate, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"rY" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"rZ" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"sa" = ( +/obj/machinery/light/floortube, +/obj/structure/table/bench/wooden, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"si" = ( +/turf/space, +/area/space) +"sx" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"sC" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/medical) +"sD" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"sN" = ( +/obj/machinery/ntnet_relay, +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"sT" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"sU" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"sV" = ( +/obj/effect/floor_decal/milspec/color/orange/corner, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"sW" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/milspec/color/black/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"sZ" = ( +/obj/item/weapon/soap/nanotrasen, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 4 + }, +/obj/structure/closet/walllocker/medical/east, +/obj/item/weapon/soap/nanotrasen, +/obj/item/weapon/soap/nanotrasen, +/obj/machinery/light, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"tf" = ( +/obj/effect/shuttle_landmark/premade/luna_wing_port, +/turf/space, +/area/space) +"th" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"tl" = ( +/obj/structure/hull_corner/long_vert{ + dir = 10 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"tm" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"ts" = ( +/obj/machinery/vending/nifsoft_shop, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"tB" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/water/indoors/surfluid, +/area/lunaship/engineering) +"tW" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/wall/rpshull, +/area/space) +"ui" = ( +/obj/machinery/vending/medical{ + dir = 4 + }, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"um" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"uq" = ( +/turf/space/internal_edge/right, +/area/lunaship/park) +"uQ" = ( +/obj/structure/bed/chair/bay/comfy/purple, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"uS" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/hallway_port) +"uW" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ve" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/bar) +"vi" = ( +/obj/machinery/vending/deluxe_boozeomat{ + req_access = null; + req_log_access = null + }, +/obj/machinery/light{ + dir = 8; + light_color = "#00AAFF" + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"vs" = ( +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + dir = 4; + name = "Medical Bay" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/medical) +"vt" = ( +/obj/effect/floor_decal/milspec_sterile/green/half, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"vw" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"vy" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"vB" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"vD" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"vE" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"vO" = ( +/obj/machinery/portable_atmospherics/canister/empty, +/obj/machinery/atmospherics/portables_connector{ + piping_layer = 3 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"vQ" = ( +/obj/structure/closet/walllocker_double/west, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/durasteel, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/plastic, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/titanium, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"vU" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/space, +/area/space) +"vW" = ( +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + dir = 4; + name = "Robotics" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"wd" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/junction{ + dir = 1; + icon_state = "pipe-j2" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"wy" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"wK" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/storage/firstaid/bonemed, +/obj/item/weapon/storage/firstaid/clotting, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/closet/walllocker/medical/west, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"wM" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/wall/rpshull, +/area/space) +"wZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"xa" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/door/airlock/angled_tgmc/wide/command{ + name = "Command Core" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"xd" = ( +/obj/effect/shuttle_landmark/premade/luna_wing_star, +/turf/space, +/area/space) +"xe" = ( +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"xg" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"xj" = ( +/obj/structure/undies_wardrobe{ + anchored = 1 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"xv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/milspec/color/blue/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"xJ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"yh" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 4; + pixel_x = 25; + req_access = list(777) + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"yl" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/wall/rpshull, +/area/space) +"yw" = ( +/obj/machinery/alarm/alarms_hidden{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"yB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"yH" = ( +/obj/structure/bed/chair/sofa/left/purp{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"yL" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 6 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/door/airlock/angled_tgmc/wide/command{ + name = "Command Core" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"yQ" = ( +/obj/machinery/atmospherics/binary/pump/on{ + dir = 1; + icon_state = "map_on"; + name = "gas pump - waste - scrubbers" + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"yX" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"zl" = ( +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/eris/steel/panels, +/area/lunaship/hallway_starboard) +"zm" = ( +/obj/effect/shuttle_landmark/premade/luna_near_aft, +/turf/space, +/area/space) +"zp" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/effect/floor_decal/milspec/color/blue/corner, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"zr" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 4 + }, +/obj/structure/closet/walllocker/medical/east, +/obj/item/clothing/gloves/sterile/nitrile, +/obj/item/clothing/gloves/sterile/nitrile, +/obj/item/clothing/gloves/sterile/nitrile, +/obj/item/weapon/storage/belt/medical, +/obj/item/weapon/storage/belt/medical, +/obj/item/weapon/storage/belt/medical, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"zB" = ( +/obj/machinery/teleport/station, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"zE" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"zG" = ( +/obj/structure/hull_corner/long_vert{ + dir = 10 + }, +/turf/space, +/area/space) +"zJ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"zW" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Aa" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/cockpit) +"Ad" = ( +/obj/structure/lattice, +/obj/machinery/power/pointdefense{ + id_tag = "luna_ship_pd" + }, +/obj/structure/cable/cyan, +/turf/space, +/area/space) +"Ag" = ( +/turf/simulated/floor/water/deep/indoors, +/area/lunaship/park) +"Ak" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Ao" = ( +/obj/structure/table/darkglass, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_x = 32 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"Ar" = ( +/obj/effect/floor_decal/techfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"As" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/cockpit) +"AR" = ( +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/eris/steel/panels, +/area/lunaship/hallway_port) +"AS" = ( +/obj/structure/bed/double/padded, +/obj/item/weapon/bedsheet/bluedouble, +/turf/simulated/floor/wood, +/area/lunaship/office) +"AT" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Ba" = ( +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"Bd" = ( +/obj/structure/fans/hardlight, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "External Access" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/eris/steel/panels, +/area/lunaship/hallway_port) +"Bg" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Bi" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"BB" = ( +/turf/simulated/floor/water/indoors, +/area/lunaship/park) +"BM" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/simulated/floor/outdoors/grass/heavy/atoll, +/area/lunaship/park) +"BO" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"BT" = ( +/obj/effect/floor_decal/techfloor/corner, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Ca" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Cf" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/space, +/area/space) +"Cw" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"CA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"CJ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"Dm" = ( +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Dp" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"Dt" = ( +/obj/structure/hull_corner/long_vert{ + dir = 10 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/space, +/area/space) +"Du" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"DJ" = ( +/obj/machinery/door/airlock/angled_tgmc{ + id_tag = "luna_private_bed"; + name = "Bedroom" + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"DP" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"Ee" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"Eg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"Ez" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"EF" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/robotics_bay) +"EG" = ( +/obj/structure/table/bench/wooden, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"EH" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 4 + }, +/obj/machinery/r_n_d/circuit_imprinter{ + dir = 1 + }, +/obj/structure/reagent_dispensers/acid{ + pixel_x = 32 + }, +/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"EK" = ( +/obj/effect/floor_decal/milspec_sterile/green/half{ + dir = 4 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 12; + pixel_y = -5 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"EP" = ( +/obj/machinery/computer/ship/engines{ + req_one_access = list(777) + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"EQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/space, +/area/space) +"ER" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"EZ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"Fb" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Fh" = ( +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"Fs" = ( +/obj/structure/hull_corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/space, +/area/space) +"FU" = ( +/obj/effect/floor_decal/milspec_sterile/green/half, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"FV" = ( +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 8 + }, +/obj/machinery/disposal/wall, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"Ge" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/wall/rpshull, +/area/space) +"Gn" = ( +/obj/structure/hull_corner{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/space, +/area/space) +"Gu" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"GI" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"GP" = ( +/obj/structure/railing/grey, +/obj/machinery/pointdefense_control{ + id_tag = "luna_ship_pd"; + req_one_access = 777 + }, +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"GQ" = ( +/obj/machinery/light/floortube{ + dir = 8 + }, +/obj/structure/table/bench/wooden, +/turf/simulated/floor/outdoors/grass/heavy/atoll, +/area/lunaship/park) +"GT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"GY" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 4; + pixel_x = 25; + req_access = list(777) + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/effect/floor_decal/milspec/color/blue/half{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"Hb" = ( +/obj/structure/sign/directions/medical{ + dir = 1 + }, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/medical) +"Hf" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/space, +/area/space) +"Hh" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"Hn" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/obj/machinery/r_n_d/protolathe{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Hv" = ( +/obj/structure/flora/tree/jungle_small{ + pixel_x = -38; + pixel_y = 7 + }, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"Hz" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"HC" = ( +/obj/item/device/flashlight/lamp, +/obj/structure/table/hardwoodtable, +/turf/simulated/floor/wood, +/area/lunaship/office) +"HR" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"HW" = ( +/obj/structure/closet/walllocker_double/north{ + dir = 4; + pixel_x = 32; + pixel_y = 0 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 23 + }, +/obj/item/weapon/gun/energy/locked/frontier/carbine, +/obj/item/weapon/gun/energy/locked/frontier/unlocked, +/turf/simulated/floor/wood, +/area/lunaship/office) +"Ia" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/effect/floor_decal/milspec/color/blue/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"Ih" = ( +/obj/item/device/defib_kit/jumper_kit, +/obj/structure/table/steel, +/obj/item/weapon/storage/firstaid/surgery, +/obj/structure/closet/walllocker_double/east, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Iv" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/space, +/area/space) +"Iz" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/power/smes/buildable/hybrid{ + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit, linked to an advanced looking generator.."; + input_attempt = 1; + input_level = 250000; + input_level_max = 250000; + output_level = 190000 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"IJ" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"IZ" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Jn" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/wall/rpshull, +/area/space) +"Jo" = ( +/turf/space/internal_edge/bottomright, +/area/lunaship/park) +"Jv" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"JK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "Bow Garden"; + opacity = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/park) +"JM" = ( +/obj/structure/table/darkglass, +/obj/machinery/chemical_dispenser/bar_alc/full{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"JT" = ( +/obj/structure/hull_corner/long_vert{ + dir = 10 + }, +/obj/structure/lattice, +/turf/space, +/area/space) +"JW" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/medical) +"Ke" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"Kn" = ( +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"KH" = ( +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + dir = 4; + name = "Bar & Rec" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/bar) +"KQ" = ( +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"KX" = ( +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 26 + }, +/obj/machinery/vending/deluxe_dinner{ + req_access = null; + req_log_access = null + }, +/obj/machinery/light{ + dir = 4; + light_color = "#00AAFF" + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"KY" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"Lo" = ( +/obj/effect/floor_decal/milspec/color/orange/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"LA" = ( +/obj/effect/floor_decal/milspec/color/black/corner, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"LI" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#00AAFF" + }, +/obj/structure/table/darkglass, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/item/device/juke_remote, +/obj/structure/closet/walllocker_double/east, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"LS" = ( +/obj/structure/lattice, +/turf/space, +/area/space) +"Mb" = ( +/obj/effect/floor_decal/milspec/color/orange/half{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"Mw" = ( +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/park) +"Mx" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"MM" = ( +/turf/space/internal_edge/bottomleft, +/area/lunaship/cockpit) +"MV" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"MX" = ( +/obj/machinery/mecha_part_fabricator/pros{ + req_access = list() + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Nf" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Nl" = ( +/obj/effect/floor_decal/techfloor{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"No" = ( +/turf/simulated/floor/tiled/milspec, +/area/lunaship/bar) +"Np" = ( +/obj/effect/floor_decal/milspec/color/orange/half{ + dir = 8 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 26 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"NH" = ( +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"NQ" = ( +/turf/space/internal_edge/topleft, +/area/lunaship/park) +"NR" = ( +/obj/machinery/atmospherics/binary/pump/on{ + name = "gas pump - air - distro"; + piping_layer = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"NS" = ( +/obj/structure/closet/walllocker_double/east, +/obj/item/device/nif/protean, +/obj/item/device/nif/protean, +/obj/item/device/nif/protean, +/obj/item/organ/internal/nano/orchestrator, +/obj/item/organ/internal/nano/orchestrator, +/obj/item/organ/internal/nano/orchestrator, +/obj/item/organ/internal/nano/refactory, +/obj/item/organ/internal/nano/refactory, +/obj/item/organ/internal/nano/refactory, +/obj/item/device/mmi/digital/posibrain/nano, +/obj/item/device/mmi/digital/posibrain/nano, +/obj/item/device/mmi/digital/posibrain/nano, +/turf/simulated/floor/wood, +/area/lunaship/office) +"Oa" = ( +/obj/effect/shuttle_landmark/premade/luna_near_fore_port, +/turf/space, +/area/space) +"Oh" = ( +/obj/structure/sign/directions/bridge{ + dir = 4 + }, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/hallway_port) +"Om" = ( +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 6 + }, +/obj/machinery/computer/rdconsole/core{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Oo" = ( +/obj/structure/closet/walllocker_double/east, +/obj/item/capture_crystal/master, +/obj/item/capture_crystal/great, +/obj/item/capture_crystal/great, +/obj/item/capture_crystal/ultra, +/obj/item/capture_crystal/ultra, +/obj/item/capture_crystal, +/obj/item/capture_crystal, +/obj/item/capture_crystal, +/obj/item/capture_crystal, +/turf/simulated/floor/wood, +/area/lunaship/office) +"OG" = ( +/obj/structure/closet/wardrobe, +/obj/item/weapon/stock_parts/capacitor/omni, +/obj/item/weapon/stock_parts/capacitor/omni, +/obj/item/weapon/stock_parts/capacitor/omni, +/obj/item/weapon/stock_parts/capacitor/omni, +/obj/item/weapon/stock_parts/capacitor/omni, +/obj/item/weapon/stock_parts/manipulator/omni, +/obj/item/weapon/stock_parts/manipulator/omni, +/obj/item/weapon/stock_parts/manipulator/omni, +/obj/item/weapon/stock_parts/manipulator/omni, +/obj/item/weapon/stock_parts/manipulator/omni, +/obj/item/weapon/stock_parts/matter_bin/omni, +/obj/item/weapon/stock_parts/matter_bin/omni, +/obj/item/weapon/stock_parts/matter_bin/omni, +/obj/item/weapon/stock_parts/matter_bin/omni, +/obj/item/weapon/stock_parts/matter_bin/omni, +/obj/item/weapon/stock_parts/scanning_module/omni, +/obj/item/weapon/stock_parts/scanning_module/omni, +/obj/item/weapon/stock_parts/scanning_module/omni, +/obj/item/weapon/stock_parts/scanning_module/omni, +/obj/item/weapon/stock_parts/scanning_module/omni, +/obj/item/weapon/stock_parts/micro_laser/omni, +/obj/item/weapon/stock_parts/micro_laser/omni, +/obj/item/weapon/stock_parts/micro_laser/omni, +/obj/item/weapon/stock_parts/micro_laser/omni, +/obj/item/weapon/stock_parts/micro_laser/omni, +/obj/item/weapon/storage/part_replacer/adv/discount_bluespace, +/turf/simulated/floor/wood, +/area/lunaship/office) +"OH" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"OK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_port) +"OQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"OX" = ( +/turf/space/internal_edge/right, +/area/lunaship/cockpit) +"Pe" = ( +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 8; + pixel_x = -25; + req_access = list(777) + }, +/obj/structure/cable/cyan, +/obj/machinery/power/quantumpad, +/obj/structure/railing/grey, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"PJ" = ( +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + dir = 4; + name = "Personal Quarters" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/office) +"PL" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"PS" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"PU" = ( +/obj/effect/shuttle_landmark/premade/luna_near_aft_port, +/turf/space, +/area/space) +"PY" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Qa" = ( +/obj/machinery/ion_engine{ + dir = 1 + }, +/turf/simulated/wall/rpshull, +/area/lunaship/engineering) +"Qp" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/cockpit) +"Qs" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/power/rtg/kugelblitz{ + pixel_y = 10 + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"Qu" = ( +/obj/machinery/shipsensors{ + dir = 1; + range = 3.5 + }, +/obj/effect/floor_decal/industrial/warning/full, +/obj/structure/cable/cyan, +/turf/simulated/floor/reinforced/airless, +/area/lunaship/engineering) +"QF" = ( +/obj/machinery/teleport/hub, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"QP" = ( +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_starboard) +"QU" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Rd" = ( +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) +"Rf" = ( +/obj/machinery/light/floortube{ + dir = 4 + }, +/obj/structure/table/bench/wooden, +/turf/simulated/floor/outdoors/grass/heavy{ + outdoors = 0 + }, +/area/lunaship/park) +"Ri" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/office) +"RA" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"RI" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"RO" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"RQ" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"RS" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"RX" = ( +/obj/machinery/atmospherics/pipe/tank/air/full, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Sy" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"SC" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"SF" = ( +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"SN" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/wall/rpshull, +/area/space) +"Tb" = ( +/obj/effect/floor_decal/milspec/color/orange/half{ + dir = 4 + }, +/obj/structure/railing/grey, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"Tc" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Tf" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 6 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Tr" = ( +/obj/structure/sign/directions/bar{ + dir = 1 + }, +/obj/structure/sign/directions/recreation{ + dir = 1; + pixel_y = 7 + }, +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/bar) +"Ty" = ( +/obj/machinery/computer/ship/sensors{ + req_one_access = list(777) + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"TA" = ( +/obj/structure/hull_corner/long_vert{ + dir = 5 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/space, +/area/space) +"TF" = ( +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"TY" = ( +/obj/effect/floor_decal/milspec/color/orange/corner{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"Uj" = ( +/obj/structure/table/darkglass, +/obj/structure/sink/countertop{ + dir = 4; + pixel_x = -6; + pixel_y = 5 + }, +/obj/structure/closet/walllocker_double/west, +/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/weapon/material/kitchen/utensil/fork, +/obj/item/weapon/material/kitchen/utensil/spoon{ + pixel_x = 5 + }, +/obj/item/weapon/material/kitchen/utensil/spoon{ + pixel_x = 5 + }, +/obj/item/weapon/material/kitchen/utensil/spoon{ + pixel_x = 5 + }, +/obj/item/weapon/material/kitchen/utensil/spoon{ + pixel_x = 5 + }, +/obj/item/weapon/material/knife{ + pixel_x = -3 + }, +/obj/item/weapon/material/knife{ + pixel_x = -3 + }, +/obj/item/weapon/material/knife{ + pixel_x = -3 + }, +/obj/item/weapon/material/knife{ + pixel_x = -3 + }, +/obj/machinery/disposal/wall{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor/tiled/eris/steel/bar_dance{ + opacity = 1 + }, +/area/lunaship/bar) +"Uy" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/outdoors/grass/heavy/atoll, +/area/lunaship/park) +"UK" = ( +/obj/structure/table/glass, +/obj/item/device/healthanalyzer/advanced{ + pixel_x = -5 + }, +/obj/item/device/healthanalyzer/advanced{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/effect/floor_decal/milspec_sterile/green/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"UM" = ( +/obj/effect/floor_decal/milspec/color/orange/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"UN" = ( +/obj/structure/railing/grey, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"UP" = ( +/obj/structure/hull_corner/long_vert{ + dir = 5 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"UR" = ( +/obj/item/modular_computer/console/preset/civilian{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"Vm" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/lunaship/hallway_port) +"Vp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/lunaship/office) +"Vu" = ( +/turf/space/internal_edge/bottomright, +/area/lunaship/cockpit) +"Vx" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"Vz" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"VH" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"VV" = ( +/obj/structure/fans/hardlight, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "External Access" + }, +/turf/simulated/floor/tiled/eris/steel/panels, +/area/lunaship/hallway_starboard) +"VY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Wb" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Wg" = ( +/obj/structure/railing/grey, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Wm" = ( +/obj/structure/table/steel, +/obj/machinery/recharger{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/machinery/cell_charger{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Wn" = ( +/turf/simulated/wall/rpshull, +/area/space) +"Wp" = ( +/turf/simulated/wall/tgmc/durawall, +/area/lunaship/hallway_starboard) +"Ww" = ( +/obj/machinery/computer/ship/helm{ + req_one_access = list(777) + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Wz" = ( +/obj/machinery/bodyscanner{ + dir = 4 + }, +/obj/effect/floor_decal/milspec_sterile/green/corner, +/turf/simulated/floor/tiled/milspec/sterile, +/area/lunaship/medical) +"WC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/carpet/turcarpet, +/area/lunaship/office) +"WN" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"WQ" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Xg" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/eris/steel/bar_flat, +/area/lunaship/bar) +"Xn" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/space) +"Xo" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Xp" = ( +/obj/effect/floor_decal/milspec/color/orange/half, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "Engines & Surfluid" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"Xw" = ( +/obj/structure/table/bench/wooden, +/turf/simulated/floor/outdoors/grass/heavy/atoll, +/area/lunaship/park) +"Xx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 9 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"XO" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4 + }, +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"XW" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/power/smes/buildable/hybrid{ + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit, linked to an advanced looking generator.."; + input_attempt = 1; + input_level = 250000; + input_level_max = 250000; + output_level = 190000 + }, +/turf/simulated/floor/tiled/eris/white/gray_platform, +/area/lunaship/engineering) +"XZ" = ( +/obj/effect/floor_decal/milspec/color/orange/half{ + dir = 8 + }, +/obj/structure/railing/grey, +/obj/machinery/power/apc/hyper{ + alarms_hidden = 1; + dir = 8; + pixel_x = -25; + req_access = list(777) + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"Yf" = ( +/obj/structure/hull_corner/long_vert{ + dir = 5 + }, +/turf/space, +/area/space) +"YD" = ( +/obj/structure/hull_corner/long_vert{ + dir = 9 + }, +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/space, +/area/space) +"YU" = ( +/turf/simulated/floor/plating/eris/under, +/area/lunaship/engineering) +"Zh" = ( +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 26 + }, +/obj/effect/floor_decal/grass_edge{ + dir = 8 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 5 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/park) +"Zm" = ( +/obj/structure/lattice, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/space, +/area/space) +"Zr" = ( +/obj/machinery/alarm/alarms_hidden{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/effect/floor_decal/milspec/color/black/half{ + dir = 8 + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/robotics_bay) +"Zu" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 10 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"Zy" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/grass_edge{ + dir = 8 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 6 + }, +/turf/simulated/floor/tiled/milspec/raised{ + opacity = 1 + }, +/area/lunaship/park) +"ZD" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ZI" = ( +/obj/effect/floor_decal/milspec/color/orange/half, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 8 + }, +/obj/machinery/door/airlock/angled_tgmc/wide/generic_steel{ + name = "Engines & Surfluid" + }, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/engineering) +"ZL" = ( +/turf/simulated/floor/reinforced/airless, +/area/space) +"ZM" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/wall/rpshull, +/area/space) +"ZN" = ( +/obj/structure/railing/grey, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/obj/structure/closet/walllocker_double/east, +/obj/item/device/radio/beacon, +/obj/item/device/radio/beacon, +/obj/item/device/radio/beacon, +/obj/item/device/multitool, +/obj/item/device/multitool, +/obj/structure/table/darkglass, +/turf/simulated/floor/tiled/milspec/raised, +/area/lunaship/cockpit) +"ZO" = ( +/obj/structure/bed/chair/bar_stool, +/turf/simulated/floor/tiled/eris/steel/bar_dance, +/area/lunaship/bar) +"ZT" = ( +/obj/effect/shuttle_landmark/premade/luna_near_fore, +/turf/space, +/area/space) +"ZX" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/milspec, +/area/lunaship/hallway_starboard) + +(1,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ik +"} +(2,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ZL +"} +(3,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ZL +"} +(4,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ZL +"} +(5,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(6,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(7,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ZL +si +si +si +"} +(8,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(9,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(10,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(11,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(12,1,1) = {" +si +si +si +si +si +si +si +si +si +si +Oa +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +tf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +PU +si +si +si +si +si +si +si +si +si +si +si +"} +(13,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +px +Zm +dl +Wn +Bi +Bi +Wn +LS +TA +Ad +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(14,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +cj +um +wM +wM +GI +KY +wM +wM +pV +si +Yf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(15,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +qx +wM +wM +Gu +ZL +LS +ZL +PS +LS +ZL +ZM +wM +wM +Cf +Yf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(16,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +px +ER +ER +mx +wM +Gu +si +si +LS +ZL +LS +ZL +PS +LS +ZL +LS +si +si +ZM +wM +Cf +Yf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(17,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +rA +wM +Gu +ZL +LS +si +si +LS +ZL +qz +Dp +BO +qz +ZL +LS +si +si +si +si +ZM +wM +nC +UP +Ad +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(18,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +qx +wM +yl +Qu +ZL +ZL +LS +sC +sC +sC +sC +uS +AR +Bd +uS +Ri +Ri +Ri +Ri +si +si +LS +ZL +ZM +wM +Cf +Yf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(19,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +aF +Ge +Gu +si +LS +ZL +ZL +sC +sC +sC +wK +ui +sC +NH +NH +OK +NH +Ri +UR +oS +Ri +Ri +Ri +LS +ZL +LS +si +ZM +wM +Cf +Yf +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(20,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +aF +Wn +CJ +si +si +LS +sC +sC +sC +UK +kM +nc +FU +Hb +pO +Ba +Vm +Hz +Ri +gY +Vp +al +pR +Ri +Ri +Ri +LS +si +si +LS +ZM +wM +Fs +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(21,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +aF +Wn +Wn +Iv +si +sC +sC +sC +rX +jK +Ee +Ke +oc +FU +vs +NH +th +CA +NH +PJ +SF +WC +er +SF +iu +xj +Ri +Ri +Ri +si +LS +ZL +LS +Du +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(22,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +Wn +Wn +si +Iv +LS +sC +sC +gl +he +PL +RS +tm +iN +vt +JW +xg +ih +rK +OH +pj +Vz +Vx +cU +xJ +nZ +SF +jG +Ri +Ri +Ri +Ri +ZL +LS +vU +Ad +si +si +si +si +si +si +si +si +si +si +si +si +"} +(23,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +Iv +LS +sC +ew +Ee +KQ +gT +vy +EK +zr +sZ +sC +nM +xv +zp +GY +Ri +ts +Oo +NS +mr +rD +Vz +xJ +DJ +od +jG +Ri +Ri +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(24,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +px +ER +ER +ER +ER +Hf +sC +sC +Wz +kL +cM +kF +iv +sC +sC +sC +sC +Oh +ny +yL +uS +Ri +Ri +Ri +Ri +Ri +OG +SF +sD +Ri +HW +AS +HC +Ri +Ri +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(25,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +ad +ad +ad +ad +Mw +JK +ad +mj +oD +oD +oD +jd +Qp +As +jd +oD +oD +oD +MM +cQ +cQ +Mb +Xp +cQ +cQ +cQ +cQ +cQ +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(26,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +ad +NQ +cx +cx +oU +ad +hH +aQ +ad +bP +hr +hr +hr +yw +Kn +Fb +Pe +hr +hr +hr +jF +cQ +Np +Lo +TY +XZ +WN +eE +eE +tB +sN +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(27,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +NQ +NQ +NQ +Ag +Ag +Ag +gZ +gC +Uy +ad +bP +hr +qI +hr +vE +BT +bD +Zu +yX +hr +hr +jF +cQ +Jv +qn +aL +Wg +kI +eE +eE +eE +lZ +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(28,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +ad +NQ +NQ +BB +BB +BB +EG +GQ +gC +nN +ku +ad +bP +jT +eY +ab +ls +WQ +lW +hA +UN +hr +hr +jF +cQ +vO +zE +ns +YU +kI +eE +eE +eE +mm +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(29,1,1) = {" +si +si +si +si +si +si +si +si +si +ZT +si +ad +ad +bj +bp +BB +EG +nN +BM +gC +gC +nN +ku +ad +bP +Ty +uQ +Kn +nx +AT +uW +qI +Zu +QF +hr +jF +cQ +dN +XO +yQ +Xo +yB +eE +eE +eE +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(30,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +ad +ad +bj +BB +nN +sa +gC +gC +nN +nN +gC +Uy +ad +bP +Ww +uQ +Kn +es +hr +lb +Tc +kZ +zB +hr +jF +cQ +YU +YU +PY +VY +OQ +eE +eE +eE +cQ +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(31,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +ad +ad +bj +BB +BB +EG +gC +nN +gC +gC +Hv +ku +ad +bP +EP +uQ +Kn +Nl +TF +nm +Xx +RQ +vB +hr +jF +cQ +RX +sU +NR +Xo +wZ +eE +eE +eE +cQ +Qa +si +si +zm +si +si +si +si +si +si +si +si +si +si +"} +(32,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +ad +il +il +BB +BB +BB +Xw +Rf +ru +nN +Uy +ad +bP +Ar +Tf +eO +VH +Wb +Nf +sx +UN +hr +hr +jF +cQ +ix +RO +RA +vw +dB +hs +IJ +IJ +zW +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(33,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +il +il +il +Ag +Ag +Ag +gp +gC +ku +ad +bP +hr +Xx +hr +vE +MV +IZ +RQ +GP +hr +hr +jF +cQ +Jv +QU +rZ +Wg +Iz +XW +Sy +Qs +YU +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(34,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +ad +il +uq +uq +Jo +ad +Zh +Zy +ad +bP +hr +hr +hr +ZD +Kn +ra +ZN +hr +hr +hr +jF +cQ +lI +UM +sV +Tb +DP +do +EZ +fT +YU +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +"} +(35,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +ad +ad +ad +ad +ad +ad +Mw +rB +ad +bU +OX +OX +OX +jd +kd +Aa +jd +OX +OX +OX +Vu +cQ +cQ +Mb +ZI +cQ +cQ +cQ +cQ +cQ +cQ +Qa +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(36,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +px +ER +ER +ER +ER +Zm +ve +ve +bx +Fh +oG +Xg +Uj +ve +ve +ve +ve +ee +Cw +xa +Wp +EF +EF +EF +EF +EF +rv +ng +Ak +aV +Zr +nz +EF +EF +EF +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(37,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +Iv +hR +nr +cK +pN +rY +RI +xe +vi +fE +JM +ve +FV +rh +Ia +jQ +EF +hu +Dm +Wm +vQ +sW +HR +gc +LA +mf +Hn +EF +EF +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(38,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +Wn +Wn +si +Iv +LS +ve +iq +na +yH +SC +gj +fc +zJ +nn +KH +wd +aY +vD +ZX +vW +iw +Ez +Bg +gc +jz +LA +EH +Om +EF +EF +EF +ZL +LS +oj +Ad +si +si +si +si +si +si +si +si +si +si +si +si +"} +(39,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +iA +Wn +Wn +Iv +si +ve +ve +ve +KX +yh +ZO +in +iQ +oG +No +Rd +sT +Eg +Rd +jz +wy +GT +Ca +LA +mp +Ih +EF +EF +EF +si +LS +ZL +LS +Du +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(40,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +iA +Wn +CJ +si +si +LS +ve +ve +ve +lP +Ao +fv +ZO +Tr +fd +QP +af +Hh +lJ +wy +GT +MX +qB +EF +EF +EF +LS +si +si +LS +Ge +wM +Gn +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(41,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +iA +ZM +rn +si +LS +ZL +ZL +ve +ve +ve +LI +bF +ve +Rd +Rd +bK +Rd +EF +iB +lm +EF +EF +EF +LS +ZL +LS +si +Ge +wM +EQ +pT +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(42,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +Dt +wM +tW +Qu +ZL +ZL +LS +ve +ve +ve +ve +Wp +zl +VV +Wp +EF +EF +EF +EF +si +si +LS +ZL +Ge +wM +EQ +pT +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(43,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +gI +wM +rn +ZL +LS +si +si +LS +ZL +qz +Bi +eN +qz +ZL +LS +si +si +si +si +Ge +wM +Mx +by +Ad +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(44,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +px +ER +ER +tl +wM +rn +si +si +LS +ZL +LS +ZL +PS +LS +ZL +LS +si +si +Ge +wM +EQ +pT +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(45,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +Dt +wM +wM +rn +ZL +LS +ZL +PS +LS +ZL +Ge +wM +wM +EQ +pT +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(46,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +zG +SN +wM +wM +GI +Xn +wM +wM +Jn +si +pT +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(47,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +px +Hf +JT +Wn +Dp +Dp +Wn +LS +YD +Ad +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(48,1,1) = {" +si +si +si +si +si +si +si +si +si +si +mV +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +xd +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +iK +si +si +si +si +si +si +si +si +si +si +si +"} +(49,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(50,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(51,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(52,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(53,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(54,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(55,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(56,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(57,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(58,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(59,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} +(60,1,1) = {" +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +si +"} diff --git a/maps/offmap_vr/talon/talon_v2.dmm b/maps/offmap_vr/talon/talon_v2.dmm index 8fd5b03d0b..6e85b85cf2 100644 --- a/maps/offmap_vr/talon/talon_v2.dmm +++ b/maps/offmap_vr/talon/talon_v2.dmm @@ -9176,7 +9176,7 @@ /area/talon_v2/bridge) "Ec" = ( /obj/machinery/door/airlock/maintenance/cargo{ - id_tag = talon_minerdoor; + id_tag = "talon_minerdoor"; req_one_access = list(301) }, /turf/simulated/floor/plating, @@ -9208,7 +9208,7 @@ /area/talon_v2/armory) "Ei" = ( /obj/machinery/door/airlock/mining{ - id_tag = talon_minerdoor; + id_tag = "talon_minerdoor"; name = "Miner's Cabin"; req_one_access = list(301) }, diff --git a/maps/stellar_delight/ship_centcom.dmm b/maps/stellar_delight/ship_centcom.dmm index b0e1314f59..4b5c60d3f4 100644 --- a/maps/stellar_delight/ship_centcom.dmm +++ b/maps/stellar_delight/ship_centcom.dmm @@ -4539,6 +4539,7 @@ /area/shuttle/ccboat) "qB" = ( /obj/structure/table/reinforced, +/obj/machinery/librarycomp, /turf/simulated/floor/tiled, /area/centcom/control) "qE" = ( diff --git a/maps/stellar_delight/stellar_delight1.dmm b/maps/stellar_delight/stellar_delight1.dmm index 8c2fe66caf..af2f046ef3 100644 --- a/maps/stellar_delight/stellar_delight1.dmm +++ b/maps/stellar_delight/stellar_delight1.dmm @@ -48,6 +48,7 @@ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "af" = ( @@ -254,7 +255,6 @@ color = "#42038a"; icon_state = "2-8" }, -/mob/living/simple_mob/animal/passive/mimepet/gregory, /turf/simulated/floor/tiled/eris, /area/rnd/xenobiology/xenoflora) "aA" = ( @@ -4374,15 +4374,24 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) "iV" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/window/bay/reinforced, -/obj/machinery/door/blast/angled/open{ - dir = 2; - id = "researchwindowlockdown" +/obj/structure/cable/white{ + icon_state = "1-2" }, -/obj/structure/low_wall/bay/reinforced/steel, -/turf/simulated/floor, -/area/rnd/xenobiology/xenoflora) +/obj/structure/disposalpipe/segment, +/obj/structure/closet/walllocker_double/west{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/tiled/techmaint, +/area/stellardelight/deck1/port) "iW" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5250,6 +5259,16 @@ }, /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/port) +"kV" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/angled/open{ + dir = 4; + id = "researchwindowlockdown" + }, +/obj/structure/window/bay/reinforced, +/obj/structure/low_wall/bay/reinforced/steel, +/turf/simulated/floor, +/area/rnd/xenobiology/xenoflora_storage) "kY" = ( /obj/structure/cable/pink{ icon_state = "1-2" @@ -5575,6 +5594,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/mob/living/simple_mob/animal/passive/mimepet/gregory, /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "lH" = ( @@ -8850,6 +8870,7 @@ }, /obj/item/weapon/gun/energy/sizegun, /obj/item/weapon/storage/box/donut, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/warden) "ss" = ( @@ -9053,6 +9074,7 @@ dir = 8 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "sM" = ( @@ -10818,6 +10840,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, +/obj/structure/closet/walllocker_double/north{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/port) "wM" = ( @@ -13258,6 +13292,7 @@ "BM" = ( /obj/structure/table/steel_reinforced, /obj/machinery/recharger, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_equiptment_storage) "BN" = ( @@ -13403,16 +13438,6 @@ }, /turf/simulated/floor, /area/maintenance/stellardelight/deck1/exploration) -"Ce" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/window/bay/reinforced, -/obj/machinery/door/blast/angled/open{ - dir = 4; - id = "researchwindowlockdown" - }, -/obj/structure/low_wall/bay/reinforced/steel, -/turf/simulated/floor, -/area/rnd/xenobiology/xenoflora_storage) "Cf" = ( /obj/structure/cable/pink{ icon_state = "4-8" @@ -13766,6 +13791,7 @@ pixel_y = 7 }, /obj/item/weapon/pen, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/lobby) "CR" = ( @@ -15443,11 +15469,11 @@ /area/medical/morgue) "GI" = ( /obj/machinery/door/firedoor/glass, -/obj/structure/window/bay/reinforced, /obj/machinery/door/blast/angled/open{ dir = 2; id = "researchwindowlockdown" }, +/obj/structure/window/bay/reinforced, /obj/structure/low_wall/bay/reinforced/steel, /turf/simulated/floor, /area/stellardelight/deck1/researchhall) @@ -16314,6 +16340,7 @@ dir = 8 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "Iu" = ( @@ -17826,6 +17853,16 @@ "LF" = ( /turf/simulated/wall/bay/purple, /area/maintenance/stellardelight/deck1/starboardaft) +"LG" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/angled/open{ + dir = 2; + id = "researchwindowlockdown" + }, +/obj/structure/window/bay/reinforced, +/obj/structure/low_wall/bay/reinforced/steel, +/turf/simulated/floor, +/area/rnd/xenobiology/xenoflora) "LH" = ( /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) @@ -19613,6 +19650,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/structure/closet/walllocker_double/north{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, /turf/simulated/floor/tiled/techmaint, /area/stellardelight/deck1/aft) "PE" = ( @@ -20382,6 +20431,13 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 }, +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "researchwindowlockdown"; + name = "Window Lockdown"; + pixel_x = -24; + pixel_y = 23 + }, /turf/simulated/floor/tiled/eris, /area/rnd/xenobiology/xenoflora) "Rn" = ( @@ -20551,8 +20607,16 @@ /area/security/tactical) "Ry" = ( /obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/angled/open{ + dir = 4; + id = "researchwindowlockdown" + }, /obj/structure/window/bay/reinforced, -/obj/structure/low_wall/bay/reinforced/purple, +/obj/structure/low_wall/bay/reinforced/steel, +/obj/structure/cable/green{ + color = "#42038a"; + icon_state = "4-8" + }, /turf/simulated/floor, /area/rnd/xenobiology/xenoflora_storage) "Rz" = ( @@ -20757,6 +20821,16 @@ }, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) +"RV" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/angled/open{ + dir = 2; + id = "researchwindowlockdown" + }, +/obj/structure/window/bay/reinforced, +/obj/structure/low_wall/bay/reinforced/steel, +/turf/simulated/floor, +/area/rnd/xenobiology/xenoflora_storage) "RX" = ( /obj/effect/floor_decal/milspec/color/red/half{ dir = 1 @@ -22176,6 +22250,18 @@ /turf/simulated/floor/tiled/techfloor, /area/rnd/workshop) "UO" = ( +/obj/structure/closet/walllocker_double/east{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, /obj/effect/floor_decal/milspec/color/red/half{ dir = 4 }, @@ -22382,15 +22468,23 @@ /turf/simulated/wall/bay/purple, /area/stellardelight/deck1/exploequipment) "Vk" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/window/bay/reinforced, -/obj/machinery/door/blast/angled/open{ - dir = 2; - id = "researchwindowlockdown" +/obj/structure/closet/walllocker_double/east{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" }, -/obj/structure/low_wall/bay/reinforced/steel, -/turf/simulated/floor, -/area/rnd/xenobiology/xenoflora_storage) +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/milspec/color/emerald/half{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/stellardelight/deck1/starboard) "Vl" = ( /obj/machinery/door/window/brigdoor/eastleft{ name = "Slime Pen 6"; @@ -22678,6 +22772,7 @@ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "VG" = ( @@ -22754,20 +22849,6 @@ /obj/effect/floor_decal/milspec/color/black, /turf/simulated/floor/tiled/dark, /area/security/armoury) -"VO" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/window/bay/reinforced, -/obj/machinery/door/blast/angled/open{ - dir = 4; - id = "researchwindowlockdown" - }, -/obj/structure/cable/green{ - color = "#42038a"; - icon_state = "4-8" - }, -/obj/structure/low_wall/bay/reinforced/steel, -/turf/simulated/floor, -/area/rnd/xenobiology/xenoflora_storage) "VP" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -24295,6 +24376,7 @@ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "YY" = ( @@ -24342,6 +24424,7 @@ dir = 4 }, /obj/effect/floor_decal/milspec/color/red, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "Zc" = ( @@ -33097,7 +33180,7 @@ Sa xC hR ke -rg +iV Wz re MI @@ -36219,7 +36302,7 @@ Wj Wj Wj Wj -Wj +Vk WU tw Wj @@ -37107,7 +37190,7 @@ UF Rm Lz RR -iV +bj bD Cx JE @@ -37249,7 +37332,7 @@ cT NV sj Oo -iV +LG uq vF uq @@ -37391,7 +37474,7 @@ Qy wB DG PB -iV +LG bD vF uq @@ -37675,7 +37758,7 @@ FA IR DG PB -iV +LG bD vF uq @@ -37817,7 +37900,7 @@ XT kC sj Oo -iV +LG uq vF uq @@ -37959,7 +38042,7 @@ BE As Jw bb -iV +bj bD vF uq @@ -38094,8 +38177,8 @@ gg Er iC DH -Ry -Ry +pQ +pQ DH DH MR @@ -38243,7 +38326,7 @@ FX Ro hr qx -Vk +pQ bD vF bD @@ -38385,7 +38468,7 @@ pL Nq Yz YC -Vk +RV uq vF uq @@ -38527,7 +38610,7 @@ xQ Ob Sq my -Vk +pQ uq vF uq @@ -38662,12 +38745,12 @@ xo SR Vg pQ -Ce -Ce +kV +kV pQ pQ -Ce -VO +kV +Ry pQ pQ bD diff --git a/maps/stellar_delight/stellar_delight2.dmm b/maps/stellar_delight/stellar_delight2.dmm index 6b278aa92c..3f3a844f2e 100644 --- a/maps/stellar_delight/stellar_delight2.dmm +++ b/maps/stellar_delight/stellar_delight2.dmm @@ -1477,9 +1477,13 @@ /area/stellardelight/deck2/fore) "cZ" = ( /obj/item/device/flashlight/lamp/green{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/weapon/folder/blue_captain{ + pixel_x = -6; pixel_y = 7 }, -/obj/item/weapon/folder/blue_captain, /obj/structure/table/darkglass, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -1487,6 +1491,10 @@ /obj/machinery/requests_console/preset/captain{ pixel_x = -30 }, +/obj/item/weapon/melee/chainofcommand, +/obj/item/weapon/folder/blue_captain{ + pixel_x = -6 + }, /turf/simulated/floor/carpet/blucarpet, /area/crew_quarters/captain) "da" = ( @@ -1780,6 +1788,18 @@ /turf/simulated/floor/grass, /area/hydroponics) "dG" = ( +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/closet/walllocker_double/north{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, /obj/effect/floor_decal/emblem/stellardelight{ dir = 9 }, @@ -3061,6 +3081,24 @@ }, /turf/simulated/floor/tiled/techfloor, /area/engineering/atmos/monitoring) +"gz" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 4 + }, +/obj/structure/closet/walllocker_double/east{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/tiled, +/area/stellardelight/deck2/port) "gA" = ( /obj/structure/railing/grey{ dir = 4 @@ -6104,6 +6142,24 @@ /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/eris/dark/danger, /area/engineering/engine_room) +"nh" = ( +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/closet/walllocker_double/west{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/effect/floor_decal/milspec/color/green/half{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/stellardelight/deck2/fore) "ni" = ( /turf/simulated/wall/bay/r_wall/steel, /area/engineering/engine_room) @@ -10517,14 +10573,14 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/atmos/storage) "xv" = ( -/obj/item/weapon/melee/chainofcommand, -/obj/item/weapon/coin/phoron{ - desc = "The face of the coin shows a portrait of the explorer who discovered the Virgo-Erigone system. The back depicts a Zodiac symbol that represents Virgo."; - name = "limited edition phoron coin" - }, -/obj/item/weapon/folder/blue_captain, -/obj/item/weapon/stamp/captain, /obj/structure/table/darkglass, +/obj/machinery/computer/skills{ + pixel_x = 9 + }, +/obj/item/weapon/paper_bin{ + pixel_x = -7; + pixel_y = -2 + }, /turf/simulated/floor/carpet/blucarpet, /area/crew_quarters/captain) "xw" = ( @@ -10752,6 +10808,24 @@ /obj/structure/low_wall/bay/reinforced/steel, /turf/simulated/floor, /area/stellardelight/deck2/combustionworkshop) +"xS" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 4 + }, +/obj/structure/closet/walllocker_double/east{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/tiled, +/area/stellardelight/deck2/fore) "xT" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -11717,6 +11791,7 @@ /obj/structure/cable/blue{ icon_state = "1-2" }, +/obj/machinery/papershredder, /turf/simulated/floor/wood, /area/stellardelight/deck2/briefingroom) "Ae" = ( @@ -12028,9 +12103,6 @@ /turf/simulated/floor/lino, /area/crew_quarters/bar) "AO" = ( -/obj/machinery/computer/skills{ - pixel_y = 7 - }, /obj/structure/table/darkglass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -12040,6 +12112,16 @@ pixel_x = -15; pixel_y = 2 }, +/obj/item/weapon/stamp/captain{ + pixel_x = 10; + pixel_y = 6 + }, +/obj/item/weapon/coin/phoron{ + desc = "The face of the coin shows a portrait of the explorer who discovered the Virgo-Erigone system. The back depicts a Zodiac symbol that represents Virgo."; + name = "limited edition phoron coin"; + pixel_x = 11; + pixel_y = -3 + }, /turf/simulated/floor/carpet/blucarpet, /area/crew_quarters/captain) "AP" = ( @@ -14527,6 +14609,24 @@ }, /turf/simulated/floor/tiled, /area/stellardelight/deck2/fore) +"Gk" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 4 + }, +/obj/structure/closet/walllocker_double/east{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/simulated/floor/tiled, +/area/stellardelight/deck2/starboard) "Gl" = ( /obj/machinery/light/small{ dir = 4 @@ -19936,6 +20036,25 @@ }, /turf/simulated/wall/bay/r_wall/steel, /area/engineering/engine_room) +"RZ" = ( +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/closet/crate/medical{ + desc = "A crate full of emergency supplies to help with response and rescue operations. A logo of NanoTrasen with a checkmark is stamped on the crate."; + name = "NanoTrasen Emergency Supply Crate" + }, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/turf/simulated/floor/tiled/eris/dark/monofloor, +/area/bridge) "Sb" = ( /turf/simulated/floor/tiled/eris/dark/danger, /area/engineering/engine_room) @@ -21216,12 +21335,6 @@ }, /turf/simulated/floor/tiled/eris/dark/techfloor_grid, /area/storage/tech) -"UW" = ( -/obj/structure/sign/poster{ - dir = 1 - }, -/turf/simulated/floor/tiled/eris/dark/cargo, -/area/crew_quarters/recreation_area) "UX" = ( /obj/structure/table/gamblingtable, /turf/simulated/floor/carpet, @@ -23262,6 +23375,21 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/techmaint, /area/storage/primary) +"ZB" = ( +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/closet/walllocker_double/south{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/turf/simulated/floor/tiled/eris/white/cargo, +/area/stellardelight/deck2/triage) "ZC" = ( /obj/item/weapon/stool/padded{ dir = 8 @@ -31243,7 +31371,7 @@ Cj tP tU jd -Cj +gz Bf NG cO @@ -31775,7 +31903,7 @@ zO Qe Qe Qe -Qe +nh PZ GY Qe @@ -32905,7 +33033,7 @@ VG KH zz nt -UW +mt Bp oS oS @@ -32949,7 +33077,7 @@ wz RQ Ze Eo -Ze +ZB QP gu Kf @@ -33635,7 +33763,7 @@ jU TP Ld Uj -Zj +RZ Zj rN ry @@ -33801,7 +33929,7 @@ zD ik Ze og -Ze +ZB QP sJ nJ @@ -34893,7 +35021,7 @@ FA Zr sj FU -Zr +xS Zr vj pZ @@ -35784,7 +35912,7 @@ Tk yu IX Mk -Mk +Gk LH Mk pm diff --git a/maps/stellar_delight/stellar_delight3.dmm b/maps/stellar_delight/stellar_delight3.dmm index 63035caf56..bbf1f5d06e 100644 --- a/maps/stellar_delight/stellar_delight3.dmm +++ b/maps/stellar_delight/stellar_delight3.dmm @@ -1666,6 +1666,21 @@ }, /turf/simulated/floor/airless, /area/stellardelight/deck3/exterior) +"gx" = ( +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/closet/walllocker_double/south{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/turf/simulated/floor, +/area/stellardelight/deck2/fore) "gy" = ( /obj/structure/closet/secure_closet/engineering_chief, /obj/item/device/radio/intercom{ @@ -1849,6 +1864,14 @@ temperature = 80 }, /area/tcommsat/chamber) +"gY" = ( +/obj/structure/closet/walllocker_double/south{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/obj/structure/lattice, +/turf/simulated/open, +/area/stellardelight/deck2/port) "hb" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -2103,6 +2126,13 @@ temperature = 80 }, /area/tcommsat/chamber) +"ie" = ( +/obj/structure/closet/walllocker_double/south{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" + }, +/turf/simulated/open, +/area/stellardelight/deck2/starboard) "if" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2848,6 +2878,10 @@ /obj/effect/floor_decal/fancy_shuttle{ fancy_shuttle_tag = "sdboat" }, +/obj/structure/closet/emergsuit_wall{ + dir = 1; + pixel_y = -32 + }, /turf/simulated/floor/tiled, /area/shuttle/sdboat/aft{ base_turf = /turf/simulated/floor/reinforced/airless @@ -4872,15 +4906,15 @@ /turf/simulated/floor, /area/maintenance/stellardelight/deck3/portfore) "rX" = ( +/obj/effect/floor_decal/fancy_shuttle{ + fancy_shuttle_tag = "sdboat" + }, /obj/machinery/light{ dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/effect/floor_decal/fancy_shuttle{ - fancy_shuttle_tag = "sdboat" - }, /turf/simulated/floor/tiled, /area/shuttle/sdboat/aft{ base_turf = /turf/simulated/floor/reinforced/airless @@ -9024,13 +9058,17 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai_server_room) "GV" = ( -/obj/structure/lattice, -/obj/structure/cable/green{ - icon_state = "4-8" +/obj/structure/closet/walllocker_double/south{ + desc = "A wall mounted storage cabinet marked with a cross and warning icon. This seems to contain an assortment of emergency supplies."; + name = "Emergency Cabinet" }, +/obj/structure/lattice, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -10754,6 +10792,7 @@ dir = 1 }, /obj/item/device/retail_scanner/security, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "MO" = ( @@ -22960,7 +22999,7 @@ Ig Ig Ig Cz -CS +gY ad Ze cY @@ -24632,7 +24671,7 @@ oP dN UA Fj -sO +gx EJ rx rx @@ -25658,7 +25697,7 @@ ow ow ow CJ -ow +ie th ep Mp diff --git a/maps/tether/submaps/tether_centcom.dmm b/maps/tether/submaps/tether_centcom.dmm index 736d80200d..6ef6173ce0 100644 --- a/maps/tether/submaps/tether_centcom.dmm +++ b/maps/tether/submaps/tether_centcom.dmm @@ -7050,6 +7050,7 @@ /area/centcom/medical) "DJ" = ( /obj/structure/table/reinforced, +/obj/machinery/librarycomp, /turf/simulated/floor/tiled, /area/centcom/control) "DK" = ( diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index e6fbf5ee80..2f8b394e47 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -4734,6 +4734,7 @@ dir = 8 }, /obj/item/device/holowarrant, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ahp" = ( @@ -4801,6 +4802,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 6 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ahu" = ( @@ -5109,6 +5111,7 @@ pixel_x = 2; pixel_y = 3 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/carpet, /area/tether/surfacebase/security/detective/officea) "ahU" = ( @@ -5122,6 +5125,7 @@ pixel_x = 2; pixel_y = 3 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/carpet, /area/tether/surfacebase/security/detective/officeb) "ahV" = ( @@ -5196,6 +5200,7 @@ pixel_x = -24 }, /obj/item/device/holowarrant, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "aid" = ( @@ -5261,6 +5266,7 @@ }, /obj/structure/closet/secure_closet/security, /obj/item/device/holowarrant, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "aii" = ( @@ -5996,6 +6002,7 @@ }, /obj/structure/closet/secure_closet/security, /obj/item/device/holowarrant, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ajk" = ( @@ -6085,6 +6092,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2, /obj/structure/closet/secure_closet/security, /obj/item/device/holowarrant, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/outfitting) "ajp" = ( @@ -11768,6 +11776,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/item/device/ticket_printer, +/obj/item/weapon/gun/energy/sizegun, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/warden) "asF" = ( diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index aa820929d4..2ef7dd857b 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -1749,6 +1749,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/upperhall) "acE" = ( @@ -1767,6 +1768,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/item/device/ticket_printer, /turf/simulated/floor/wood, /area/tether/surfacebase/security/hos) "acG" = ( @@ -4618,6 +4620,7 @@ }, /obj/machinery/recharger, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/item/device/ticket_printer, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) "agQ" = ( @@ -44689,19 +44692,6 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) -"xlK" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/spline/plain{ - dir = 1 - }, -/obj/machinery/door/blast/gate/thin{ - dir = 2; - id = "cafe"; - layer = 3.3 - }, -/turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) "xlW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60086,7 +60076,7 @@ beI bgn aKu anj -xlK +avo avz avM asX diff --git a/sound/items/ticket_printer.ogg b/sound/items/ticket_printer.ogg new file mode 100644 index 0000000000..2f2735c238 Binary files /dev/null and b/sound/items/ticket_printer.ogg differ diff --git a/sound/voice/teshscream.ogg b/sound/voice/teshscream.ogg new file mode 100644 index 0000000000..9beb0106a3 Binary files /dev/null and b/sound/voice/teshscream.ogg differ diff --git a/tgui/packages/tgui-bench/package.json b/tgui/packages/tgui-bench/package.json index ae83ca8666..6e4083ba63 100644 --- a/tgui/packages/tgui-bench/package.json +++ b/tgui/packages/tgui-bench/package.json @@ -5,7 +5,7 @@ "dependencies": { "@fastify/static": "^5.0.2", "common": "workspace:*", - "fastify": "^3.20.2", + "fastify": "^3.29.4", "inferno": "^7.4.8", "inferno-vnode-flags": "^7.4.8", "lodash": "^4.17.21", diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 79a1a207f9..a3843a706f 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3521,6 +3521,13 @@ __metadata: languageName: node linkType: hard +"content-type@npm:^1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + "convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" @@ -4564,14 +4571,15 @@ __metadata: languageName: node linkType: hard -"fastify@npm:^3.20.2": - version: 3.29.0 - resolution: "fastify@npm:3.29.0" +"fastify@npm:^3.29.4": + version: 3.29.4 + resolution: "fastify@npm:3.29.4" dependencies: "@fastify/ajv-compiler": ^1.0.0 "@fastify/error": ^2.0.0 abstract-logging: ^2.0.0 avvio: ^7.1.2 + content-type: ^1.0.4 fast-json-stringify: ^2.5.2 find-my-way: ^4.5.0 flatstr: ^1.0.12 @@ -4583,7 +4591,7 @@ __metadata: secure-json-parse: ^2.0.0 semver: ^7.3.2 tiny-lru: ^8.0.1 - checksum: ed2964035e34843d08c09eee80f5f14bd8cc0ab9b46ac9d146c6821b586a359a93e1354fca4004ac14e37b267afe5bb1ba3ddb555ecf09b74d9b6bf2f9893ba1 + checksum: add73f5bccf87c86f8edc08cad13b7ed942f7639ecaf3caa0502f069d9c9d39c3dd1257d403d3d845c7fa3099eee25ad4d1023223d6116f82bce84f0e724169a languageName: node linkType: hard @@ -6432,13 +6440,13 @@ __metadata: linkType: hard "loader-utils@npm:^2.0.0": - version: 2.0.2 - resolution: "loader-utils@npm:2.0.2" + version: 2.0.4 + resolution: "loader-utils@npm:2.0.4" dependencies: big.js: ^5.2.2 emojis-list: ^3.0.0 json5: ^2.1.2 - checksum: 9078d1ed47cadc57f4c6ddbdb2add324ee7da544cea41de3b7f1128e8108fcd41cd3443a85b7ee8d7d8ac439148aa221922774efe4cf87506d4fb054d5889303 + checksum: a5281f5fff1eaa310ad5e1164095689443630f3411e927f95031ab4fb83b4a98f388185bb1fe949e8ab8d4247004336a625e9255c22122b815bb9a4c5d8fc3b7 languageName: node linkType: hard @@ -8930,7 +8938,7 @@ __metadata: dependencies: "@fastify/static": ^5.0.2 common: "workspace:*" - fastify: ^3.20.2 + fastify: ^3.29.4 inferno: ^7.4.8 inferno-vnode-flags: ^7.4.8 lodash: ^4.17.21 diff --git a/tools/mapmerge2/requirements.txt b/tools/mapmerge2/requirements.txt index edbbbde4c2..42fc58a7c2 100644 --- a/tools/mapmerge2/requirements.txt +++ b/tools/mapmerge2/requirements.txt @@ -1,3 +1,3 @@ pygit2 bidict==0.13.1 -Pillow==9.0.1 +Pillow==9.3.0 diff --git a/vorestation.dme b/vorestation.dme index c30bd85438..741f0bf21a 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1239,6 +1239,7 @@ #include "code\game\objects\items\devices\t_scanner.dm" #include "code\game\objects\items\devices\taperecorder.dm" #include "code\game\objects\items\devices\text_to_speech.dm" +#include "code\game\objects\items\devices\ticket_printer.dm" #include "code\game\objects\items\devices\traitordevices.dm" #include "code\game\objects\items\devices\transfer_valve.dm" #include "code\game\objects\items\devices\translator.dm" @@ -2045,6 +2046,7 @@ #include "code\modules\clothing\head\jobs_yw.dm" #include "code\modules\clothing\head\misc.dm" #include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\misc_special_vr.dm" #include "code\modules\clothing\head\misc_vr.dm" #include "code\modules\clothing\head\pilot_helmet.dm" #include "code\modules\clothing\head\pilot_helmet_vr.dm" @@ -2058,6 +2060,7 @@ #include "code\modules\clothing\masks\gasmask_vr.dm" #include "code\modules\clothing\masks\hailer.dm" #include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\masks\miscellaneous_vr.dm" #include "code\modules\clothing\masks\shiny_vr.dm" #include "code\modules\clothing\masks\voice.dm" #include "code\modules\clothing\rings\material.dm" @@ -4286,7 +4289,9 @@ #include "maps\expedition_vr\beach\submaps\mountains.dm" #include "maps\expedition_vr\beach\submaps\mountains_areas.dm" #include "maps\gateway_archive_vr\blackmarketpackers.dm" +#include "maps\groundbase\groundbase.dm" #include "maps\offmap_vr\om_ships\abductor.dm" +#include "maps\offmap_vr\om_ships\lunaship.dm" #include "maps\southern_cross\items\clothing\sc_accessory.dm" #include "maps\southern_cross\items\clothing\sc_suit.dm" #include "maps\southern_cross\items\clothing\sc_under.dm"